hadoop_1

【dbdao.com hadoop大数据教程】hadoop HA 实验

dbDao.com 引导式IT在线教育
Hadoop 技术学习QQ群号  : 134115150

本文固定链接:http://t.dbdao.com/archives/hadoop-ha-test.html

1.实验环境

虚拟机环境 VMBOX 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

 

 

 

2.先决条件:

  • 安装JAVA
  • 从apache镜像上下载稳定的hadoop版本

请参考hadoop集群安装

 

备注:如果不是最新安装首先关闭hadoop集群

3.安装:

 

本次试验总共是6节点的hadoop集群:

将原本的hadoop集群变成HA 集群,并测试HA特性。

然后安装自动故障转移组件,完成HA自动故障转移实施,并进行测试(dbdao.com Hadoop 大数据学习)。

(更多…)

Read More

hadoop-summit-3-e1443527644408

【dbdao.com hadoop大数据教程】hadoop HDFS 使用QJM完成HA

dbDao.com 引导式IT在线教育
Hadoop 技术学习QQ群号  : 134115150

 

本文是官方文档的翻译  本文固定链接是:http://t.dbdao.com/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重新启动或者在另外的机器上完成启动(dbdao.com Hadoop 大数据学习)。

 

影响HDFS集群总体高可用的问题主要有以下2点:

 

  • 在一些意外事件,例如机器崩溃的情况下,集群将不可用,直到NameNode完成一个重启操作。
  • 计划的维护事件,例如NameNode上的软硬件的升级,导致需要集群停机的时间窗口。

 

HDFS HA特性解决了上述问题,提供一些选择在一个相同集群中运行2个冗余的NameNode,在主动/被动的配置中,具有热备份。这将允许在一个机器崩溃的情况下,或者在有计划维护的目的中,进行快速切换到一个新的NameNode。

(更多…)

Read More

MYSQLV1

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

本文地址:http://t.dbdao.com/archives/mysql-client-tools-limitations.html

dbDao 百度贴吧:http://tieba.baidu.com/dbdao

Mysql技术学习QQ群:146959374

客户端管理程序并不能承担所有的管理任务。你需要了解每个客户端程序可以做什么,什么是它们不能做的。例如:

  • mysqladmin可以建立和删除数据库,但它不能建立或删除表或索引。它可以修改密码,但是不能建立或删除账号。而mysql程序则可以完成这些操作。
  • mysqlimport倒入数据文件,所以它可以倒入由mysqldump生成的数据文件。然而,mysqldump也可以生成SQL格式(包含有insert语句)的导出文件,这是mysqlimport不能倒入的。mysqlimport仅能部分胜任mysqldump文件的倒入工作。为了倒入包含有SQL语句的文件,需要使用mysql程序来完成工作。
    除了一个例外之外,基本所有的客户端程序都不能用于启动服务端。正常情况下,你可以直接调用服务端程序或通过启动脚本来启动,或者你可以安排操作系统来作为其系统启动步骤的一部分来自动调用服务端程序。【dbdao.com 数据岛】

所说的例外是使用MySQL Workbench。如果你设置了远程访问(如果都部署在同一个主机则不需要)并具有相应权限,那么你就可以对Windows上的MySQL服务进行启动或关闭操作,或在Linux执行MySQL的关闭和启动命令。

(更多…)

Read More

12

消灭密码

密码,这一获得访问我们最有价值数据的主要手段,几乎变得一点用处也没有了,甚至对黑客和恶作剧制造者们来说连一点阻拦的作用都没有了。

在现代计算大环境下,密码存在无数的问题。我们不再在单一主机上登录,有多个应用程序在各种平台上使用,这就意味着我们被迫要记住许许多多密码,导致很多人在不同的网站上使用非常简单的密码比如1234或同样的密码,甚至都不再考虑密码是否安全。

想一下你上一次买了一个新设备,想要登录Facebook或者其它常光顾的网站。如果你像我一样,在各种网站上使用不同的密码,那么你可能已经忘掉密码。你也许会像我以往经常做的那样,点击找回密码,但那也就意味着你要在各种不同的设备上更换密码。那是多么可怕的系统。

我经常遇到这样的问题,我也相信我不是唯一一个遭受这种困扰的人。显然,我们需要一种更好的解决办法。

13

密码太多

 

在数据库中设置静态密码,大概是所能想到的保密最愚蠢的主意。只要一个经验老到的(甚至不是非常聪明的)黑客进入到数据库,正如我们一次次了解到的那样,密码的存在仿佛正是为了打开这个巨大的宝库,这是一个黑客最乐意看到的。

2012年的一项民意调查显示,41%的人选择记住密码,29%的人选择记在本子上,而只有9%的人将密码在电脑上存档。这些都不是理想的选择。

2012年另一项调查显示,普通人平均有17个个人密码和8.5个工作密码。并且这些数字从那时起一直在增加。如果你真的要使用这么多密码,那试图要记住超过25个密码确实是一项艰巨的任务。

有一些企业比如 Ping Identity、 Okta,它们试图利用单点登录来简化这一程序,取得了一定程度的成功。这一举动对企业一方有利,但对消费者没用。

我们可以使用密码管理软件来帮我们记住密码,当然,密码管理软件还是由一个单一的密码保护(想必你也能猜到)。那就意味着如果有人“黑”了你的密码管理软件,他们就会得到所有的密码。事实上,今年早些时候LastPass就发生过这种情况。

然而最近两年来,不管你有多少密码,不管你有多么谨慎,总会有一些密码落在许多可恶的黑客手里。

不作为的后果

 

我们眼看着这种案例一再重复,这些漏洞是铭刻在互联网历史上的耻辱。从塔吉特到索尼到安腾到美国人事管理办公室,我们目睹这种大型的泄露一再发生。每一次发生事故,都会有大量密码流入黑客的黑市交易市场上。

当然并不是所有这些事故都是因为密码出现错误导致的,但对黑客来说利用恶意程序去窃取密码并不难,甚至都不需要从超级黑客那里获得宝藏。但是一旦他们闯进系统,就会用很多巧妙的方法来盗取各种数据存储。

据General Catalyst(一家为许多安全公司包括Ping Identity, Menlo Security和ThreatStream提供资金支持的公司)的总经理Steve Herrod表示,一部分问题在于公司不能很好地掌控其数据库中的数据。

“当高层的人不得不开始做数据清单,这些成了我自己的数据库,而听到这些数据库已经泄露是件多么糟糕的事,” Herrod不解道。“一旦你知道自己拥有什么,就有能力更好地保护公司的‘王冠’。问题是该保护系统并不总是针对最高优先级的数据。”他说。

减轻用户负担

 

从现在开始,这一负担不应落在我们用户身上,而应该由那些经营网络公司的聪明人来思考如何简化安全程序,以使其对用户来说更容易、更方便,而对用心不良的人来说更难窃取证书。这将比苦苦思考如何为我们提供更好的广告服务要好得多——只是说说而已。

系统将责任推给用户,从而使消费者或职员的生活陷入麻烦的例子太普遍了。当你不得不每30天替换一次密码,并且密码要跟以往用过的信息都不能重合,还要用大小写字母,至少两个数字和一个符号时,这对用户来说将是一项艰难的任务。它强迫人们去记非自然的密码,逼着他们用不安全的方法来记密码,比如写在便利贴上、粘贴在桌面上,或者甚至是记在更明显的像“密码日志”之类的东西上。

关键是要找到一种方式来保障我们的个人信息安全,而不必给用户带来不必要的麻烦,同时使密码很难——当然最好完全不可能——被盗走。那就需要有自动不断变化的密码或者像指纹、眼睛扫描之类的技术。值得注意的是,我的手指和眼睛总是不离身的,我不可能忘记它们,你也没有在数据库扫描存储过。它可以在系统层面交互,但不能被任何人访问(除了一些令人毛骨悚然的场景我宁愿不考虑)。许多设备上已经配备了用于眼睛扫描的装备,类似于一种照相机。其他设备很多也配备了指纹扫描仪。

当然,没有什么是绝对的,一定有比我们目前更好的方法。密码失效后,将所有的责任推向用户,这正好与系统正常运转的方式相反。甚至当你熟练掌握了密码——我认为大部分人做不到这一点,如果我们诚实的话——一旦数据库泄露,这些都不重要了。也许你本可以有地球上最安全的密码,一旦有人窃取了它,就变成他们的了。

因此,我恳求所有聪明的工程师和安全极客们汇聚你们的集体智慧、发动头脑风暴来找到一个更好的方法。一定存在着一个更好的方法。

是时候消灭密码了——为了大家的利益。

Read More

3

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性能和安全性上的巨大改进,以及在这些技术上涌现的众多工具——例如DatameerH20 和 Tableau,这些工具使得所有这些大数据基础设施的使用范围更广阔,数据科学家和企业用户都能使用。

Spark并不是要取代Hadoop。相反,Hadoop是一个使Spark成为可能的基础。随着各个组织寻求最广阔、最强劲的平台来将其数据资产转变成切实可行的商业远见,相信两个技术都将会被越来越多地采用。

Read More

2

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

 

毫无疑问,IBM的Watson人工智能系统是一项令人难以置信的技术,它能够在巨大的非结构化数据存储库中搜索并迅速给出答案。“但无论何时它都不可能立刻取代人类”,IBM Watson项目的负责人John Kelly博士今天在旧金山召开的TechCrunch Disrupt会议上对TechCrunch的 Alex Wilhelm说道。

他表示:“相反地,这一系统将使人类更强大,帮助我们更好地做出决定。”

为了展示Watson出色的智能,采访以一个演示开始。Wilhelm从一系列问题中选择一个问Watson关于维基百科这一网络全书的准确性。几秒钟后,Watson浏览了维基百科上所有的文章以确定其是否是一个可靠的搜索工具。在审查完证据后,他得出结论:维基百科实际上确实是一个准确的获取信息的来源。

“这种容量,配上星际迷航中的电脑合成语音应答,在未来12-18个月将提供给开发者们” Kelly告诉 Wilhelm。

人们一般想到Watson,可能会记得他打败有史以来最厉害的《危险边缘》冠军的时候,但今天Watson造成的影响远不只是那样。Kelly说当他们最开始为了《危险边缘》开发这一系统的时候,它仅仅是一个纯问答搜索引擎。

今天,正如它曾在维基百科演示上的那样,它可以摄取所有的信息,或任何的大量信息。例如,它可以就某一特定疾病查阅所有的现有文献,然后和医生共同商议,提出最好的解决方案。这并不是说机器代替了医生,而意味着可以帮助医生更好地做出决定。

 

a1

 

Watson为您服务

当IBM为2011年《危险边缘》开发出Watson时,它是一个硬件和软件的有力结合,今天,IBM已经采用了所有的机器生成智能,并且为开发者们创造了一系列的服务。

Kelly说:IBM公司本可以制造大量的Watson盒子,但他们却决定将其放在云上,并使其通过APIs公开可用,这才是推广这一技术的最好方式。

“把Watson当作整系列的统计学习引擎,而不单单是一样东西,”Kelly表示,“有趣的是,它非常的强大,我们甚至都不需要去费力推销。”开发者们想要使用这些工具。

就在昨天的TechCrunch Disrupt 黑客马拉松活动上,一些团队就利用Watson的工具创建黑客,包括Kno,一个智能的新闻发现应用。

Kelly承认公司仍在尽力摆脱古板的“蓝色巨人”形象,将开发者和投资者吸引到Watson平台上来。然而他还说,虽然开发商的数量正成倍增长,但还没有完全战胜硅谷。他暗示道:他们正在尽力解决这一点。

该系统具有巨大的容量。随着IBM公司正尽力与Watson健康和Watson融资一道就有关特定行业的问题提出解决方案,即将面临的挑战是尽力将其集中到特定的业务问题上来。

无论如何,你不能质疑该系统的技术基础。

“这是一项全新的技术,它将改变这个世界。想象一下没有任何偏见地或者在获得完整信息的基础上决策的世界吧”他说道。

 

Read More

hadoop_submit_2

【dbdao.com hadoop大数据教程】 hadoop HDFS command 指南

dbDao.com 引导式IT在线教育
Hadoop 技术学习QQ群号  : 134115150

 

本文是官方文档的翻译  本文固定链接是:http://t.dbdao.com/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集群用户的常用命令(dbdao.com Hadoop 大数据学习)

 

2.1 classpath

用法:hdfs classpath

打印得到hadoop jar和所需类库的class路径

(更多…)

Read More

h1

【dbdao.com hadoop大数据教程】 hadoop HDFS 用户指南

dbDao.com 引导式IT在线教育
Hadoop 技术学习QQ群号  : 134115150

 

本文是官方文档的翻译  本文固定链接是:http://t.dbdao.com/archives/hadoop-hdfs-user-guide.html

原文链接:http://hadoop.apache.org/docs/r2.7.1/hadoop-project-dist/hadoop-hdfs/HdfsUserGuide.html

1.目的

这个文档的出发点是为了那些使用HDFS的用户,不管是集群环境或者是作为独立的通用分布式文件系统。当在许多环境中使用HDFS时,HDFS的工作知识帮助对一个特定的群集上的配置进行改进和诊断

2.综述:

 

HDFS是Hadoop应用程序使用的主要分布式存储。一个HDFS集群只要包括一个NameNode 来管理文件系统的元数据,dataNode来存储实际数据。HDFS构架指导详细的描述了HDFS。这个用户指导主要用于处理HDFS集群中的用户和管理者的交互。HDFS构架图标描述了NameNode,DataNode和客户端之间的基本交互。客户端为了文件远数据或者修改文件描述而联系nameNode,直接通过DataNode来执行实际的文件I/O。

下面的一些特征,很多用户可能会感兴趣。

  • Hadoop,包括HDFS,非常适用于使用标准硬件来进行分布式存储和分布式处理。它是容错的,可扩展的,并且扩展非常简单。分布式计算(MapReduce),众所周知,它非常简单的适用于大型分布式应用程序,它是hadoop的一个组成部分。
  • HDFS是高度可配置的,作为默认的配置对于很多安装来说是非常合适的。大多数时候,仅仅对于大型集群需要对配置进行调整。
  • Hadoop是JAVA写的,支持所有的平台。
  • Hadoop支持类型shell的命令来直接和HDFS进行交互。
  • NameNode和Datanode内置web服务器,这样便于检查集群当前状态。
  • 在HDFS中会定期的实施新特性和改进。以下是HDFS的一个有用功能的子集:

.文件权限和验证。

. 构架意识(rack awareness):在调度任务和分配存储时,将节点的物理位置考虑在内。

.安全模块(safemode):一个维护的管理模块。

.fsck:一个诊断文件系统健康的工具,用来找出丢失的文件或块。

.fetchd:一个获得Delegation token的工具,并且存储到本地文件系统的一个文件中。

.平衡(blancer):当DataNodes中的数据是不均衡分布时,一个平衡集群的工具。

.第二个 NameNode(secondary namenode):执行定期的命名空间检查点,并且在NameNode中,有助于保持HDFS修改日志文件大小在一定限额内。

.检查点节点(checkpoint node): 执行定期的命名空间检查点,并且在NameNode中,有助于保持HDFS修改日志的最小的大小。以往这个角色由secondary namenode所替代,虽然它还没有被增强。NameNode允许同时多个检查点节点,只要没有备份的节点注册到系统中。

.备份节点(backup node):检查点节点的延伸。除此之外,它也从NameNode接受编辑流,并且维护自己再命名空间的内存副本,其总是与活跃的NameNode命名空间状态一致。只有一个备份节点可以与NameNode进行一次注册(dbdao.com Hadoop 大数据学习)。

 

(更多…)

Read More

MYSQLV1

【MySQL学生手册】mysqladmin、mysqlimport、mysqldump客户端程序

本文地址:http://t.dbdao.com/archives/mysql-client-tools-desc.html

dbDao 百度贴吧:http://tieba.baidu.com/dbdao

Mysql技术学习QQ群:146959374

4.4 mysqladmin客户端程序

mysqladmin命令行程序被设计用于特定的管理操作。它可实现以下功能:

  • ping服务端以查看服务是否仍在运行并接受客户端连接
  • 关闭数据库服务
  • 建立或删除数据库
  • 显示服务配置和版本信息
  • 显示或重新初始化(reset)服务状态变量
  • 设置密码
  • 重倒入授权表
  • 将日志文件或各种服务缓冲刷出
  • 启动和关闭从库复制(replication)
  • 显示客户端连接信息或中止连接

(更多…)

Read More