您的位置:首页 > 运维架构

hadoop-1.2.1集群安装

2015-05-28 00:22 344 查看


分布安装图hmaster和hjobtracker是有联系的这里画错了。谅解

简介

SecondaryNameNode(snn)就是NameNode(nn)的热备进程。其实不是。ssn是HDFS架构中的一个组成部分,但是经常由于名字而被人误解它真正的用途,其实它真正的用途,是用来保存namenode中对HDFSmetadata的信息的备份,并减少namenode重启的时间。对于hadoop进程中,要配置好并正确的使用snn,还是需要做一些工作的。hadoop的默认配置中让snn进程默认运行在了namenode的那台机器上,但是这样的话,如果这台机器出错,宕机,对恢复HDFS文件系统是很大的灾难,更好的方式是:将snn的进程配置在另外一台机器上运行。

目标:

secondarynamenode部署在10.10.0.2上,应该可以使用10.10.0.2:50090访问到。。namenode为50070

jobtracker部署在10.10.0.3上,应该可以使用10.10.0.3:50030访问到



这里在vmware里复制虚拟机会出现一个情况。ipconfig -a看不到eth0网卡



ifconfig eth1 10.10.0.1  netmask 255.255.255.0随便给个ip。方便在crt上操作



用crt 进入/etc/udev/rules.d文件夹中 rm -rf 70-persistent-net.rules --rm -rf强制删除文件



ifconfig -a看到eth1的mac地址复制下来。替换到/etc/sysconfig/network-scripts/ifcfg-eth0中HWADDR中。为什么看不到eth0就是因为eth0的mac地址是被复制的那台机器的。

保存 reboot -h now重启



开机看到eth0 。

主机修改: vi /etc/sysconfig/network 修改hostname=xxx重启就可以了

 


同理生成公钥这里应该为hadoop用户生成公钥。

这里的hmaster和hjotracker都在生成 然后

scp authorized_keys hslave1:/home/hadoop/.ssh/

scp authorized_keys hslave2:/home/hadoop/.ssh/

scp authorized_keys hslave3:/home/hadoop/.ssh/

如何ping 通主机名

vi /etc/hosts

127.0.0.1 localhost--这个最好配置一下

10.10.0.1 hmaster

10.10.0.2 hsecondarynamenode

10.10.0.3 hjobtracker

10.10.0.101  hslave1

10.10.0.102 hslave2

10.10.0.103 hslave3



这里先配置一个hmaster这里包含jobtracker,namenode,namesecondarynamenode等4节点集群部署好。在部署6节点集群



vi masters 为hmaster这个指定secondarynamenode的主机。这里先放在hmaster上。所以配置成hmaster



配置conf下的slaves文件为hslave1,hslave2,hslave3三个主机名。其它的配置和伪分布式一样。这里是错的。因为前面的伪分布式core-site.xml我配置的是hdfs://localhost:9000。因为配置的是localhost所以导致以后一系统的错误。这里将会解决



在主节点上:bin/start-all.sh 启动hadoop。查看主节点。没有问题起了namenode,secondarynamenode,jobtracker节点


.

查看hslave1节点也是没有问题的。已经了datanoe和tasktracker但是有问题的。只是我没有发现



现在把namenode、secondarynamenode、jobtracker分开为各自一台主机



加上dfs.secondary.http.address 

hsecondarynode:50090把secondarynamenode的节点指向hsecondarynode主机上去



修改masters 将主机名指向hsecondarynode节点。

并且在hsecondarynode上修改


加上dfs.http.address

hmaster:50070指向hmaster主机

fs.checkpoint.period

3600 单位为秒 就是一小时secondarynamenode会对namenode备份

fs.checkpoint.size

10485760  10485760/1024/1024 为10MB就是10MB大小secondarynamenode会对namenode备份



单独起bin/start-dfs.sh 单独起hdfs查看进程没有问题



在hsecondarynode也没有问题



在从节点上看也没有问题



namenode的可以访问到



secondarynamenode访问不到

说明配置有问题



查看logs日志显示服务器在连自己主机说明core-site.xml有问题



这里localhost没有改掉

应该为hmaster:9000

修改完成。从主节点scp core-site.xml hsecondarynode:/hadoop/hadoop-1.2.1/conf/core-site.xm 复制到secondarynamenode主机和hslave1、hslave2、hslave3上

重启

bin/stop-dfs.sh

bin/start-dfs.sh



显示可以在hsecondarynode上访问到50090说明secondarynamenode已经分离namenode



修改mapred-site.xml修改mapred-site.xml 修改成hjobtracker:9001

scp到各个节点上。

然后在hjobtracker服务器上启动start-mapred.sh







查看日志jobtracker.log。这回学乖了。一定要看日志。显示没有问题



在从节点查看日志



成功访问hjobtracker:50030查看到jobtracker并且看到node为3说明配置没有问题

到此hadoop6节点配置完成
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息