接下来开始启动集群
启动zookeeper
在Hadoop1、hadoop2、hadoop3、hadoop4、hadoop5上zookeeper目录下分别执行命令:bin/zkServer.sh start
在每一台机器执行完上面的命令后,执行jps,会显示:这是初步认定启动没有问题
当所有机器执行上述命令完毕后,再在每台机器上执行:bin/zkServer.sh status 查看每台机器zookeeper的状态,正确的话,只有一台机器是leader,其余机器都是显示folower。1-5台机器都需要测试一下
3、验证格式化zookeeper
3.1执行zkCli.sh
在hadoop1机器上,hadoop目录,执行zkCli.sh 终端上会输出一连串的信息。最后结束的信息是
Welcome to ZooKeeper!
2015-07-08 16:44:40,028 [myid:] - INFO [main-SendThread(localhost:2181):ClientCnxn$SendThread@966] - Opening socket connection to server localhost/127.0.0.1:2181. Will not attempt to authenticate using SASL (unknown error)
2015-07-08 16:44:40,033 [myid:] - INFO [main-SendThread(localhost:2181):ClientCnxn$SendThread@849] - Socket connection established to localhost/127.0.0.1:2181, initiating session
JLine support is enabled
2015-07-08 16:44:40,094 [myid:] - INFO [main-SendThread(localhost:2181):ClientCnxn$SendThread@1207] - Session establishment complete on server localhost/127.0.0.1:2181, sessionid = 0x145407bbc720004, negotiated timeout = 30000
WATCHER::
WatchedEvent state:SyncConnected type:None path:null
ls /
[zookeeper]
[zk: localhost:2181(CONNECTED) 1]
[zk: localhost:2181(CONNECTED) 1]
这一步不是必要的,只是为了测试一下zookeeper是否能够通过客户端访问
3.2 格式化ZooKeeper集群
格式化zookeeper集群,目的是在ZooKeeper集群上建立HA的相应节点。
在hadoop1上的hadoop的目录执行:bin/hdfs zkfc –formatZK
4、启动JournalNode集群
在hadoop1、hadoop2、hadoop3、hadoop4、hadoop5上分别hadoop目录
执行命令:sbin/hadoop-daemon.sh start journalnode
5、格式化集群的一个NameNode
从hadoop1和hadoop2中任选一个即可,这里选择的是hadoop1
在hadoop1上/home/tom/yarn/hadoop-2.5.2/目录下执行下面命令:
bin/hdfs namenode -format -clusterId c1
6. 启动ZooKeeperFailoverCotroller
在hadoop1、hadoop2、hadoop3、hadoop4、hadoop5、hadoop6上分别执行命令: sbin/hadoop-daemon.sh start zkfc
7、启动刚才格式化的namenode
在hadoop1上/home/tom/yarn/hadoop-2.5.2/目录下执行命令:/sbin/hadoop-daemon.sh start namenode
再hadoop2机器上,再使用/sbin/hadoop-daemon.sh start namenode 启动namenode
8. 启动所有的datanode
Datanode是在slaves文件中配置的。在hadoop1上执行:
sbin/hadoop-daemons.sh start datanode
9、启动Yarn
在hadoop1上执行命令:sbin/start-yarn.sh
所有集群启动完毕后,请通过web页面进行查看状态
10.验证HA的故障自动转移是否好用
在执行完第8步的时候,在页面可以观察到两个NameNode的状态,hadoop1的状态是standby,hadoop2的状态是active。原先两个namenode都是standby的状态。
在hadoop1上我们执行:kill -9 23558
23558 NameNode
然后jps:nemenode进程不存在了
然后刷新两个页面,可以看到,两台机器的状态置换了。原先的active变成standby,原先的standby变成active,这说明,HA故障自动转换是正常的,HDFS是高可用的。
等你顺利结束上面所有的步骤,都很顺利的话,说明,你集群搭建基本完成任务。说是基本,因为还有事情要做,就是,你要开始上传文件开始测试程序,看看hadoop是否应用正常。这就是接下来要做的事情了。
更多Hadoop相关信息见Hadoop 专题页面 http://www.linuxidc.com/topicnews.aspx?tid=13
本文永久更新链接地址:http://www.linuxidc.com/Linux/2015-08/121349.htm
联系客服