|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
如果您觉得本篇CentOSLinux教程讲得好,请记得点击右边漂浮的分享程序,把好文章分享给你的小伙伴们!1、集群安排先容
1.1Hadoop简介
Hadoop是Apache软件基金会旗下的一个开源散布式盘算平台。以Hadoop散布式文件体系(HDFS,HadoopDistributedFilesystem)和MapReduce(GoogleMapReduce的开源完成)为中心的Hadoop为用户供应了体系底层细节通明的散布式基本架构。
关于Hadoop的集群来说,能够分红两年夜类脚色:Master和Salve。一个HDFS集群是由一个NameNode和多少个DataNode构成的。个中NameNode作为主办事器,办理文件体系的定名空间和客户端对文件体系的会见操纵;集群中的DataNode办理存储的数据。MapReduce框架是由一个独自运转在主节点上的JobTracker和运转在每一个集群从节点的TaskTracker配合构成的。主节点卖力调剂组成一个功课的一切义务,这些义务散布在分歧的从节点上。主节点监控它们的实行情形,而且从头实行之前的失利义务;从节点仅卖力由主节点指派的义务。当一个Job被提交时,JobTracker吸收到提交功课和设置信息以后,就会将设置信息平分发给从节点,同时调剂义务并监控TaskTracker的实行。
从下面的先容能够看出,HDFS和MapReduce配合构成了Hadoop散布式体系系统布局的中心。HDFS在集群上完成散布式文件体系,MapReduce在集群上完成了散布式盘算和义务处置。HDFS在MapReduce义务处置过程当中供应了文件操纵和存储等撑持,MapReduce在HDFS的基本上完成了义务的分发、跟踪、实行等事情,并搜集了局,两者互相感化,完成了Hadoop散布式集群的次要义务。
1.2情况申明
集群中包含4个节点:1个Master,3个Salve,节点之间局域网毗连,能够互相ping通,详细集群信息能够检察"Hadoop集群(第2期)"。节点IP地点散布以下:
呆板称号
IP地点
Master.Hadoop
192.168.1.2
Salve1.Hadoop
192.168.1.3
Salve2.Hadoop
192.168.1.4
Salve3.Hadoop
192.168.1.5
四个节点上均是CentOS6.0体系,而且有一个不异的用户hadoop。Master呆板次要设置NameNode和JobTracker的脚色,卖力总管散布式数据和分化义务的实行;3个Salve呆板设置DataNode和TaskTracker的脚色,卖力散布式数据存储和义务的实行。实在应当还应当有1个Master呆板,用来作为备用,以避免Master办事器宕机,另有一个备用即刻启用。后续履历堆集必定阶段后补上一台备用Master呆板。
1.3收集设置
Hadoop集群要依照1.2大节表格所示举行设置,我们在"Hadoop集群(第1期)"的CentOS6.0装置历程就依照提早计划好的主机名举行装置和设置。假如实行室厥后人在装置体系时,没有设置好,没关系,没有需要从头装置,在装置完体系以后仍旧能够依据厥后的计划对呆板的主机名举行修正。
上面的例子我们将以Master呆板为例,即主机名为"Master.Hadoop",IP为"192.168.1.2"举行一些主机名设置的相干操纵。其他的Slave呆板以此为根据举行修正。
1)检察以后呆板称号
用上面下令举行显现呆板称号,假如跟计划的纷歧致,要依照上面举行修正。
上图中,用"hostname"查"Master"呆板的名字为"Master.Hadoop",与我们事后计划的分歧。
2)修正以后呆板称号
假定我们发明我们的呆板的主机名不是我们想要的,经由过程对"/etc/sysconfig/network"文件修正个中"HOSTNAME"前面的值,改成我们计划的称号。
这个"/etc/sysconfig/network"文件是界说hostname和是不是使用收集的不打仗收集装备的对体系全部界说的文件。
设定情势:设定值=值
"/etc/sysconfig/network"的设定项目以下:
NETWORKING是不是使用收集
GATEWAY默许网关
IPGATEWAYDEV默许网关的接口名
HOSTNAME主机名
DOMAIN域名
用上面下令举行修正以后呆板的主机名(备注:修正体系文件一样平常用root用户)
vim/etc/sysconfig/network
经由过程下面的下令我们从"/etc/sysconfig/network"中找到"HOSTNAME"举行修正,检察内容以下:
3)修正以后呆板IP
假定我们的呆板连IP在事先装置呆板时都没有设置好,那此时我们必要对"ifcfg-eth0"文件举行设置,该文件位于"/etc/sysconfig/network-scripts"文件夹下。
在这个目次上面,寄存的是收集接口(网卡)的制御剧本文件(把持文件),ifcfg-eth0是默许的第一个收集接口,假如呆板中有多个收集接口,那末名字就将依此类推ifcfg-eth1,ifcfg-eth2,ifcfg-eth3,……。
这内里的文件是相称主要的,触及到收集可否一般事情。
设定情势:设定值=值
设定项目项目以下:
DEVICE接口名(装备,网卡)
BOOTPROTOIP的设置***(static:流动IP,dhcpHCP,none:手动)
HWADDRMAC地点
ONBOOT体系启动的时分收集接口是不是无效(yes/no)
TYPE收集范例(一般是Ethemet)
NETMASK收集掩码
IPADDRIP地点
IPV6INITIPV6是不是无效(yes/no)
GATEWAY默许网关IP地点
检察"/etc/sysconfig/network-scripts/ifcfg-eth0"内容,假如IP不复核,就行修正。
假如上图中IP与计划不符合,用上面下令举行修正:
vim/etc/sysconfig/network-scripts/ifcgf-eth0
修正完以后能够用"ifconfig"举行检察。
4)设置hosts文件(必需)
"/etc/hosts"这个文件是用来设置主机将用的DNS办事器信息,是纪录LAN内继续的各主机的对应[HostName和IP]用的。当用户在举行收集毗连时,起首查找该文件,寻觅对应主机名(或域名)对应的IP地点。
我们要测试两台呆板之间知否连通,一样平常用"ping呆板的IP",假如想用"ping呆板的主机名"发明找不见该称号的呆板,办理的举措就是修正"/etc/hosts"这个文件,经由过程把LAN内的各主机的IP地点和HostName的逐一对应写进这个文件的时分,就能够办理成绩。
比方:呆板为"Master.Hadoop:192.168.1.2"对呆板为"Salve1.Hadoop:192.168.1.3"用下令"ping"忘性毗连测试。测试了局以下:
从上图中的值,间接对IP地点举行测试,可以ping通,可是对主机名举行测试,发明没有ping通,提醒"unknownhost——未知主机",这时候检察"Master.Hadoop"的"/etc/hosts"文件内容。
发明内里没有"192.168.1.3Slave1.Hadoop"内容,故而本呆板是没法对呆板的主机名为"Slave1.Hadoop"剖析。
在举行Hadoop集群设置中,必要在"/etc/hosts"文件中增加集群中一切呆板的IP与主机名,如许Master与一切的Slave呆板之间不但能够经由过程IP举行通讯,并且还能够经由过程主机名举行通讯。以是在一切的呆板上的"/etc/hosts"文件开端中都要增加以下内容:
192.168.1.2Master.Hadoop
192.168.1.3Slave1.Hadoop
192.168.1.4Slave2.Hadoop
192.168.1.5Slave3.Hadoop
用以下下令举行增加:
[quote]vim/etc/hosts
增加了局以下:
如今我们在举行对呆板为"Slave1.Hadoop"的主机名举行ping通测试,看是不是能测试乐成。
从上图中我们已能用主机名举行ping通了,申明我们方才增加的内容,在局域网内能举行DNS剖析了,那末如今剩下的事儿就是在其他的Slave呆板长进行不异的设置。然落后行测试。(备注:当设置SSH无暗码考证后,能够"scp"举行复制,然后把本来的"hosts"文件实行掩盖便可。)
1.4所需软件
1)JDK软件
下载地点:http://www.ckuyun.com/technetwork/java/javase/index.html
JDK版本:jdk-6u31-linux-i586.bin
2)Hadoop软件
下载地点:http://hadoop.apache.org/common/releases.html
Hadoop版本:hadoop-1.0.0.tar.gz
1.5VSFTP上传
在"Hadoop集群(第3期)"讲了VSFTP的装置及设置,假如没有装置VSFTP能够依照该文档举行装置。假如装置好了,就能够经由过程FlashFXP.exe软件把我们下载的JDK6.0和Hadoop1.0软件上传到"Master.Hadoop:192.168.1.2"办事器上。
方才我们用一样平常用户(hadoop)经由过程FlashFXP软件把所需的两个软件上传了跟面前目今,我们经由过程下令检察下一下是不是已上传了。
从图中,我们的所需软件已筹办好了。
2、SSH无暗码考证设置
Hadoop运转过程当中必要办理远端Hadoop保卫历程,在Hadoop启动今后,NameNode是经由过程SSH(SecureShell)来启动和中断各个DataNode上的各类保卫历程的。这就必需在节点之间实行指令的时分是不必要输出暗码的情势,故我们必要设置SSH使用无暗码公钥认证的情势,如许NameNode利用SSH无暗码登录并启动DataName历程,一样道理,DataNode上也能利用SSH无暗码登录到NameNode。
2.1装置和启动SSH协定
在"Hadoop集群(第1期)"装置CentOS6.0时,我们选择了一些基础装置包,以是我们必要两个办事:ssh和rsync已装置了。能够经由过程上面下令检察了局显现以下:
rpm–qa|grepopenssh
rpm–qa|greprsync
假定没有装置ssh和rsync,能够经由过程上面下令举行装置。
yuminstallssh装置SSH协定
yuminstallrsync(rsync是一个近程数据同步工具,可经由过程LAN/WAN疾速同步多台主机间的文件)
servicesshdrestart启动办事 确保一切的办事器都装置,下面下令实行终了,各台呆板之间能够经由过程暗码考证互相登。
2.2设置Master无暗码登录一切Salve
1)SSH无暗码道理
Master(NameNode|JobTracker)作为客户端,要完成无暗码公钥认证,毗连到办事器Salve(DataNode|Tasktracker)上时,必要在Master上天生一个密钥对,包含一个公钥和一个私钥,尔后将公钥复制到一切的Slave上。当Master经由过程SSH毗连Salve时,Salve就会天生一个随机数并用Master的公钥对随机数举行加密,并发送给Master。Master收到加密数以后再用私钥解密,并将解密数回传给Slave,Slave确认解密数无误以后就同意Master举行毗连了。这就是一个公钥认证历程,其间不必要用户手工输出暗码。主要历程是将客户端Master复制到Slave上。
2)Master呆板上天生暗码对
在Master节点上实行以下下令:
ssh-keygen–trsa–P 这条命是天生其无暗码密钥对,扣问其保留路径时间接回车接纳默许路径。天生的密钥对:id_rsa和id_rsa.pub,默许存储在"/home/hadoop/.ssh"目次下。
检察"/home/hadoop/"下是不是有".ssh"文件夹,且".ssh"文件下是不是有两个刚临盆的无暗码密钥对。
接着在Master节点上做以下设置,把id_rsa.pub追加到受权的key内里往。
cat~/.ssh/id_rsa.pub>>~/.ssh/authorized_keys
在考证前,必要做两件事儿。第一件事儿是修正文件"authorized_keys"权限(权限的设置十分主要,由于不宁静的设置宁静设置,会让你不克不及利用RSA功效),另外一件事儿是用root用户设置"/etc/ssh/sshd_config"的内容。使其无暗码登录无效。
1)修正文件"authorized_keys"
chmod600~/.ssh/authorized_keys
备注:假如不举行设置,在考证时,扔提醒你输出暗码,在这里消费了快要半地利间来查找缘故原由。在网上查到了几篇不错的文章,把作为"Hadoop集群_第5期副刊_JDK和SSH无暗码设置"来匡助分外进修之用。
2)设置SSH设置
用root用户登录办事器修正SSH设置文件"/etc/ssh/sshd_config"的以下内容。
RSAAuthenticationyes#启用RSA认证
PubkeyAuthenticationyes#启用公钥私钥配对认证体例
AuthorizedKeysFile.ssh/authorized_keys#公钥文件路径(和下面天生的文件同) 设置完以后记得重启SSH办事,才干使方才设置无效。
加入root登录,利用hadoop一般用户考证是不是乐成。
从上图中得知无暗码登录本级已设置终了,接上去的事儿是把公钥复制一切的Slave呆板上。利用上面的下令格局举行复制公钥:
scp~/.ssh/id_rsa.pub近程用户名@近程办事器IP:~/ 比方:
scp~/.ssh/id_rsa.pubhadoop@192.168.1.3:~/ 下面的下令是复制文件"id_rsa.pub"到办事器IP为"192.168.1.3"的用户为"hadoop"的"/home/hadoop/"上面。
上面就针对IP为"192.168.1.3"的Slave1.Hadoop的节点举行设置。
1)把Master.Hadoop上的公钥复制到Slave1.Hadoop上
从上图中我们得知,已把文件"id_rsa.pub"传已往了,由于并没有创建起无暗码毗连,以是在毗连时,仍旧要提醒输出输出Slave1.Hadoop办事器用户hadoop的暗码。为了确保的确已把文件传已往了,用SecureCRT登录Slave1.Hadoop:192.168.1.3办事器,检察"/home/hadoop/"下是不是存在这个文件。
从下面得知我们已乐成把公钥复制已往了。
2)在"/home/hadoop/"下创立".ssh"文件夹
这一步并非必需的,假如在Slave1.Hadoop的"/home/hadoop"已存在就不必要创立了,由于我们之前并没有对Slave呆板做过无暗码登录设置,以是该文件是不存在的。用上面下令举行创立。(备注:用hadoop登录体系,假如不触及体系文件修正,一样平常情形下都是用我们之前创建的一般用户hadoop举行实行下令。)
然后是修正文件夹".ssh"的用户权限,把他的权限修正为"700",用上面下令实行:chmod700~/.ssh
备注:假如不举行,即便你依照后面的操纵设置了"authorized_keys"权限,并设置了"/etc/ssh/sshd_config",还重启了sshd办事,在Master能用"sshlocalhost"举行无暗码登录,可是对Slave1.Hadoop举行登录仍旧必要输出暗码,就是由于".ssh"文件夹的权限设置不合错误。这个文件夹".ssh"在设置SSH无暗码登录时体系主动天生时,权限主动为"700",假如是本人手动创立,它的组权限和其他权限都有,如许就会招致RSA无暗码近程登录失利。
对照下面两张图,发明文件夹".ssh"权限已变了。
3)追加到受权文件"authorized_keys"
到今朝为止Master.Hadoop的公钥也有了,文件夹".ssh"也有了,且权限也修正了。这一步就是把Master.Hadoop的公钥追加到Slave1.Hadoop的受权文件"authorized_keys"中往。利用上面下令举行追加并修正"authorized_keys"文件权限:
[quote]cat~/id_rsa.pub>>~/.ssh/authorized_keys
chmod600~/.ssh/authorized_keys
4)用root用户修正"/etc/ssh/sshd_config"
详细步调参考后面Master.Hadoop的"设置SSH设置",详细分为两步:第1是修正设置文件;第2是重启SSH办事。
5)用Master.Hadoop利用SSH无暗码登录Slave1.Hadoop
以后面的步调设置终了,就能够利用上面下令格局举行SSH无暗码登录了。
<pstyle="padding:0px;margin:0px;clear:both;height:auto;overflow:hidden;"> 从上图我们次要3个如果您觉得本篇CentOSLinux教程讲得好,请记得点击右边漂浮的分享程序,把好文章分享给你的好朋友们! |
|