Maclean’s Oracle Database Tech Blog Archives

  • hadoop Federation

    本文固定链接为:https://www.askmac.cn/archives/hadoop-federation.html 本文是官方文档的翻译,原文链接:http://hadoop.apache.org/docs/r2.7.1/hadoop-project-dist/hadoop-hdfs/Federation.html 1.目的   这个文档给出了HDFS Federation特性的概述,以及如何管理和配置Federation集群   2.背景: HDFS 主要有2个层面: 命名空间: 包含目录,文件和块 它支持所有的名称空间相关的文件系统操作,如创建、删除、修改和列出文件和目录   块存储服务,包含2个层面: 块管理(在Namenode实现) -通过保持注册和周期性的心跳提供DataNode注册资格。 -进程块的报表和维护块的位置。 -提供一些块的相关操作,例如创建,删除,修改和获取块位置。 -管理副本放置位置,在复制块下的块复制,和删除那些已经复制过的块 存储 -在DataNodes本地文件系统上能够存储块,并且是可读/写的。   当前的HDFS构架,在整个集群中只允许单一的命名空间。在这种配置下,一个独立的NameNode管理着命名空间。HDFS Federation解决这个限制,对HDFS中多个NameNode/namespaces 增加了支持。

  • 【MySQL学生手册】MySQL客户端接口

    本文地址:https://www.askmac.cn/archives/mysql-client-api.html     章节概述 本章将介绍MySQL所使用的客户端客户端接口。在章节中,你将了解: MySQL所提供的客户端接口程序 在客户端接口进行区分并选择所需的接口 在MySQL网站上下载MySQL客户端接口程序 MySQL和第三方客户端接口之间的关系   5.1 MySQL连接器 MySQL提供了多种应用编程接口(API)来用于访问MySQL服务器。一些API被用于程序中,而另一些则是简单的驱动器。   MySQL提供了几种驱动器来扮演使用特定协议的客户端程序和MySQL服务端之间的桥梁作用。这些驱动器组成了整个MySQL连接器家族。它们可分别作为单独的程序包来使用。   MySQL连接器可用于Windows和Unix平台。如果需要使用一个连接器,你必须将其安装在客户端主机上。服务端则不需要一定和客户端在同一台主机上,且所在的操作系统平台也可以完全不同。换句话说,MySQL连接器可以在各种各样不同的环境中为MySQL连接提供帮助。如,使用运行于Windows操作系统上的客户端应用可以访问运行于Linux服务器主机上的MySQL数据库。  

  • hadoop HA 实验

    本文固定链接:https://www.askmac.cn/archives/hadoop-ha-test.html     1.实验环境   虚拟机环境 VBOX 5.0 ubuntu 15   java 1.80 hadoop 2.7.1 zookeeper 3.5.1   各个节点分布如下:   10.0.0.21     dbdaostdby   #NameNode 2 10.0.0.22          dbdao  #NameNode 10.0.0.23          dbdao2   #ResourceManager 10.0.0.24          dbdao3   #web app proxy and MR Jobhistory server 10.0.0.25          dbdao4  #DataNode 10.0.0.26          dbdao5  #DataNode 10.0.0.27          dbdao6  #DataNode      …

  • hadoop HDFS 使用QJM完成HA

    本文是官方文档的翻译  本文固定链接是:https://www.askmac.cn/archives/hadoop-hdfs-ha-qjm.html 原文链接:http://hadoop.apache.org/docs/r2.7.1/hadoop-project-dist/hadoop-hdfs/HDFSHighAvailabilityWithQJM.html 1.目的   这个指南提供一个关于HDFS 高可用特性的概述,并且描述了如何使用Quorum Journal Manager(QJM)来管理和配置 HA HDFS集群。   这个文档的假设读者对在HDFS集群中的节点类型和一般组件有一定的理解。更详细的信息请参考HDFS构架指南。   2.备注:使用QJM或者使用常规存储   这个指南讨论了如何使用QJM来配置和使用HDFS HA,在活动的NameNodes和备份NameNodes之间共享edit 日志。如何使用NFS来配置HDFS来进行共享存储代替QJM,请参考HDFS HA (http://hadoop.apache.org/docs/r2.7.1/hadoop-project-dist/hadoop-hdfs/HDFSHighAvailabilityWithNFS.html)   3.背景 在 hadoop 2.0.0之前,NameNode在HDFS集群中是一个单独的故障点。每个集群有一个NameNode,一旦这个机器或进程不可用,整个集群就将全部不可用,直到NameNode重新启动或者在另外的机器上完成启动。   影响HDFS集群总体高可用的问题主要有以下2点:   在一些意外事件,例如机器崩溃的情况下,集群将不可用,直到NameNode完成一个重启操作。 计划的维护事件,例如NameNode上的软硬件的升级,导致需要集群停机的时间窗口。   HDFS HA特性解决了上述问题,提供一些选择在一个相同集群中运行2个冗余的NameNode,在主动/被动的配置中,具有热备份。这将允许在一个机器崩溃的情况下,或者在有计划维护的目的中,进行快速切换到一个新的NameNode。

  • 【MySQL学生手册】MySQL客户端程序的限制

    本文地址:https://www.askmac.cn/archives/mysql-client-tools-limitations.html       客户端管理程序并不能承担所有的管理任务。你需要了解每个客户端程序可以做什么,什么是它们不能做的。例如:     mysqladmin可以建立和删除数据库,但它不能建立或删除表或索引。它可以修改密码,但是不能建立或删除账号。而mysql程序则可以完成这些操作。 mysqlimport倒入数据文件,所以它可以倒入由mysqldump生成的数据文件。然而,mysqldump也可以生成SQL格式(包含有insert语句)的导出文件,这是mysqlimport不能倒入的。mysqlimport仅能部分胜任mysqldump文件的倒入工作。为了倒入包含有SQL语句的文件,需要使用mysql程序来完成工作。 除了一个例外之外,基本所有的客户端程序都不能用于启动服务端。正常情况下,你可以直接调用服务端程序或通过启动脚本来启动,或者你可以安排操作系统来作为其系统启动步骤的一部分来自动调用服务端程序。     所说的例外是使用MySQL Workbench。如果你设置了远程访问(如果都部署在同一个主机则不需要)并具有相应权限,那么你就可以对Windows上的MySQL服务进行启动或关闭操作,或在Linux执行MySQL的关闭和启动命令。    

  • 消灭密码

    密码,这一获得访问我们最有价值数据的主要手段,几乎变得一点用处也没有了,甚至对黑客和恶作剧制造者们来说连一点阻拦的作用都没有了。 在现代计算大环境下,密码存在无数的问题。我们不再在单一主机上登录,有多个应用程序在各种平台上使用,这就意味着我们被迫要记住许许多多密码,导致很多人在不同的网站上使用非常简单的密码比如1234或同样的密码,甚至都不再考虑密码是否安全。 想一下你上一次买了一个新设备,想要登录Facebook或者其它常光顾的网站。如果你像我一样,在各种网站上使用不同的密码,那么你可能已经忘掉密码。你也许会像我以往经常做的那样,点击找回密码,但那也就意味着你要在各种不同的设备上更换密码。那是多么可怕的系统。 我经常遇到这样的问题,我也相信我不是唯一一个遭受这种困扰的人。显然,我们需要一种更好的解决办法。 密码太多   在数据库中设置静态密码,大概是所能想到的保密最愚蠢的主意。只要一个经验老到的(甚至不是非常聪明的)黑客进入到数据库,正如我们一次次了解到的那样,密码的存在仿佛正是为了打开这个巨大的宝库,这是一个黑客最乐意看到的。 2012年的一项民意调查显示,41%的人选择记住密码,29%的人选择记在本子上,而只有9%的人将密码在电脑上存档。这些都不是理想的选择。 2012年另一项调查显示,普通人平均有17个个人密码和8.5个工作密码。并且这些数字从那时起一直在增加。如果你真的要使用这么多密码,那试图要记住超过25个密码确实是一项艰巨的任务。 有一些企业比如 Ping Identity、 Okta,它们试图利用单点登录来简化这一程序,取得了一定程度的成功。这一举动对企业一方有利,但对消费者没用。 我们可以使用密码管理软件来帮我们记住密码,当然,密码管理软件还是由一个单一的密码保护(想必你也能猜到)。那就意味着如果有人“黑”了你的密码管理软件,他们就会得到所有的密码。事实上,今年早些时候LastPass就发生过这种情况。 然而最近两年来,不管你有多少密码,不管你有多么谨慎,总会有一些密码落在许多可恶的黑客手里。 不作为的后果   我们眼看着这种案例一再重复,这些漏洞是铭刻在互联网历史上的耻辱。从塔吉特到索尼到安腾到美国人事管理办公室,我们目睹这种大型的泄露一再发生。每一次发生事故,都会有大量密码流入黑客的黑市交易市场上。 当然并不是所有这些事故都是因为密码出现错误导致的,但对黑客来说利用恶意程序去窃取密码并不难,甚至都不需要从超级黑客那里获得宝藏。但是一旦他们闯进系统,就会用很多巧妙的方法来盗取各种数据存储。 据General Catalyst(一家为许多安全公司包括Ping Identity, Menlo Security和ThreatStream提供资金支持的公司)的总经理Steve Herrod表示,一部分问题在于公司不能很好地掌控其数据库中的数据。 “当高层的人不得不开始做数据清单,这些成了我自己的数据库,而听到这些数据库已经泄露是件多么糟糕的事,” Herrod不解道。“一旦你知道自己拥有什么,就有能力更好地保护公司的‘王冠’。问题是该保护系统并不总是针对最高优先级的数据。”他说。 减轻用户负担   从现在开始,这一负担不应落在我们用户身上,而应该由那些经营网络公司的聪明人来思考如何简化安全程序,以使其对用户来说更容易、更方便,而对用心不良的人来说更难窃取证书。这将比苦苦思考如何为我们提供更好的广告服务要好得多——只是说说而已。 系统将责任推给用户,从而使消费者或职员的生活陷入麻烦的例子太普遍了。当你不得不每30天替换一次密码,并且密码要跟以往用过的信息都不能重合,还要用大小写字母,至少两个数字和一个符号时,这对用户来说将是一项艰难的任务。它强迫人们去记非自然的密码,逼着他们用不安全的方法来记密码,比如写在便利贴上、粘贴在桌面上,或者甚至是记在更明显的像“密码日志”之类的东西上。 关键是要找到一种方式来保障我们的个人信息安全,而不必给用户带来不必要的麻烦,同时使密码很难——当然最好完全不可能——被盗走。那就需要有自动不断变化的密码或者像指纹、眼睛扫描之类的技术。值得注意的是,我的手指和眼睛总是不离身的,我不可能忘记它们,你也没有在数据库扫描存储过。它可以在系统层面交互,但不能被任何人访问(除了一些令人毛骨悚然的场景我宁愿不考虑)。许多设备上已经配备了用于眼睛扫描的装备,类似于一种照相机。其他设备很多也配备了指纹扫描仪。 当然,没有什么是绝对的,一定有比我们目前更好的方法。密码失效后,将所有的责任推向用户,这正好与系统正常运转的方式相反。甚至当你熟练掌握了密码——我认为大部分人做不到这一点,如果我们诚实的话——一旦数据库泄露,这些都不重要了。也许你本可以有地球上最安全的密码,一旦有人窃取了它,就变成他们的了。 因此,我恳求所有聪明的工程师和安全极客们汇聚你们的集体智慧、发动头脑风暴来找到一个更好的方法。一定存在着一个更好的方法。 是时候消灭密码了——为了大家的利益。

  • Spark 和 Hadoop是朋友,而非敌人

    6月份Apache Spark取得了激动人心的好成绩。在圣何塞的Hadoop峰会上,Spark成了常见的话题,以及许多会议演讲的主题。6月15日,IBM宣布计划将大力投资与Spark相关的技术。 这一声明拉开了旧金山Spark峰会的序幕,在里,人们将会看到越来越多的工程师学习Spark,以及越来越多的公司正试验和采用Spark技术。 对Spark投资和采用的良性循环正迅速地推动这一重要技术的成熟和发展,对整个大数据社区都有利。然而,随着人们对Spark技术的越来越关注,产生了一个奇怪而又顽固的误解:Spark在某种程度上是Apache Hadoop的替代品,而非对它的一种补充。这一误解从像“一款旨在打破Hadoop数据的新的软件”以及“公司纷纷抛弃Hadoop大数据技术”等标题中都可以看到。 作为一个长期以来的大数据实践者,最先提倡雅虎投资Hadoop,现在是一家为企业提供大数据服务的公司CEO,我想就这一误解发表自己的观点,进行一些澄清。 Spark 和 Hadoop通力合作。 Hadoop正日益成为公司处理大数据的企业平台之选。Spark则是一种运行在Hadoop之上的内存中处理解决方案。Hadoop最大的用户——包括易趣和雅虎,都在他们的Hadoop集群中运行Spark。Cloudera 和 Hortonworks在他们的Hadoop包中也加入了Spark。我们的客户Altiscale自我们最开始推出时就一直使用着运行在Hadoop之上的Spark。 将Spark置于Hadoop的对立面,就像说你的新电动车非常酷,不需要电一样。但事实上,电动车将推动对电的更多需求。 为什么会产生这种混淆?现在的Hadoop主要由两部分构成。第一部分是叫做Hadoop分布式文件系统(HDFS)的大型存储系统,该系统能低成本、高效地存储数据,且能对大数据的容量、多样性和速度进行优化。第二部分是一个叫做YARN的计算引擎,该引擎能在HDFS存储的数据上运行大量并行程序。 YARN能托管任意数量的程序框架。最初的框架是谷歌发明的MapReduce,用来帮助处理大量的网络抓取数据。Spark是另一种这样的框架,正如还有另一个新的叫Tez的框架。当人们谈论“Spark”与“Hadoop”的对决时,他们真正的意思是现在的程序员更喜欢用Spark,而不是之前的MapReduce框架。 然而,MapReduce不应和Hadoop等同起来。MapReduce只是处理Hadoop集群中数据的众多方式之一,Spark可以作为替代品来用。更广泛地说,商业分析师们——日益壮大的大数据实践者,会避免使用这两种专门供程序员使用的低端框架。相反地,他们使用高级语言比如SQL来使Hadoop更加便于使用。 在过去四年,以Hadoop为基础的大数据技术经历了前所未有的创新,从批处理SQL到交互操作,从一个框架(MapReduce)到多个框架(如:MapReduce,Spark等)。 我们也见证了HDFS性能和安全性上的巨大改进,以及在这些技术上涌现的众多工具——例如Datameer, H20 和 Tableau,这些工具使得所有这些大数据基础设施的使用范围更广阔,数据科学家和企业用户都能使用。 Spark并不是要取代Hadoop。相反,Hadoop是一个使Spark成为可能的基础。随着各个组织寻求最广阔、最强劲的平台来将其数据资产转变成切实可行的商业远见,相信两个技术都将会被越来越多地采用。

  • IBM Watson无论何时都不可能立刻取代人类

      毫无疑问,IBM的Watson人工智能系统是一项令人难以置信的技术,它能够在巨大的非结构化数据存储库中搜索并迅速给出答案。“但无论何时它都不可能立刻取代人类”,IBM Watson项目的负责人John Kelly博士今天在旧金山召开的TechCrunch Disrupt会议上对TechCrunch的 Alex Wilhelm说道。 他表示:“相反地,这一系统将使人类更强大,帮助我们更好地做出决定。” 为了展示Watson出色的智能,采访以一个演示开始。Wilhelm从一系列问题中选择一个问Watson关于维基百科这一网络全书的准确性。几秒钟后,Watson浏览了维基百科上所有的文章以确定其是否是一个可靠的搜索工具。在审查完证据后,他得出结论:维基百科实际上确实是一个准确的获取信息的来源。 “这种容量,配上星际迷航中的电脑合成语音应答,在未来12-18个月将提供给开发者们” Kelly告诉 Wilhelm。 人们一般想到Watson,可能会记得他打败有史以来最厉害的《危险边缘》冠军的时候,但今天Watson造成的影响远不只是那样。Kelly说当他们最开始为了《危险边缘》开发这一系统的时候,它仅仅是一个纯问答搜索引擎。 今天,正如它曾在维基百科演示上的那样,它可以摄取所有的信息,或任何的大量信息。例如,它可以就某一特定疾病查阅所有的现有文献,然后和医生共同商议,提出最好的解决方案。这并不是说机器代替了医生,而意味着可以帮助医生更好地做出决定。     Watson为您服务 当IBM为2011年《危险边缘》开发出Watson时,它是一个硬件和软件的有力结合,今天,IBM已经采用了所有的机器生成智能,并且为开发者们创造了一系列的服务。 Kelly说:IBM公司本可以制造大量的Watson盒子,但他们却决定将其放在云上,并使其通过APIs公开可用,这才是推广这一技术的最好方式。 “把Watson当作整系列的统计学习引擎,而不单单是一样东西,”Kelly表示,“有趣的是,它非常的强大,我们甚至都不需要去费力推销。”开发者们想要使用这些工具。 就在昨天的TechCrunch Disrupt 黑客马拉松活动上,一些团队就利用Watson的工具创建黑客,包括Kno,一个智能的新闻发现应用。 Kelly承认公司仍在尽力摆脱古板的“蓝色巨人”形象,将开发者和投资者吸引到Watson平台上来。然而他还说,虽然开发商的数量正成倍增长,但还没有完全战胜硅谷。他暗示道:他们正在尽力解决这一点。 该系统具有巨大的容量。随着IBM公司正尽力与Watson健康和Watson融资一道就有关特定行业的问题提出解决方案,即将面临的挑战是尽力将其集中到特定的业务问题上来。 无论如何,你不能质疑该系统的技术基础。 “这是一项全新的技术,它将改变这个世界。想象一下没有任何偏见地或者在获得完整信息的基础上决策的世界吧”他说道。  

  • Oracle 12c 优化器新特性Optimizer New Features Adaptive SQL PLAN Automatic Reoptimization Bulk Load statistics Dynamic Statistics

    Oracle 12c 优化器新特性Optimizer New Features Adaptive SQL PLAN Automatic Reoptimization Bulk Load statistics Dynamic Statistics 下载    

  • hadoop HDFS command 指南

    本文是官方文档的翻译  本文固定链接是:https://www.askmac.cn/archives/hadoop-hdfs-user-guide.html 原文链接:http://hadoop.apache.org/docs/r2.7.1/hadoop-project-dist/hadoop-hdfs/HDFSCommands.html 1.综述:   所有的HDFS 命令被 bin/hdfs脚本调用,运行这个脚本不带任何参数会打印所有命令。 用法:hdfs [SHELL_OPTIONS] COMMAND [GENERIC_OPTIONS] [COMMADN_OPTIONS] hadoop有选项解析框架,采用解析通用选项和运行类。 命令选项 描述 –config–loglevel 这个命令设置shell选项,详细文档可以参考手动命令页面(Hadoop Commands Reference) GENERIC_OPTIONS 这个命令设置选项支持多个命令 COMMAND COMMAND_OPTIONS 下列各节中描述的各种命令     2.用户命令: hadoop集群用户的常用命令   2.1 classpath 用法:hdfs classpath 打印得到hadoop jar和所需类库的class路径