一、角色规划
Hadoop集群机器命名规范如下,假如有3台机器,角色混部。
ser001
ser002
ser003
1.Namenode、Resourcemanager、zkfc部署到机器名末位是1和2的两台机器;
2.JournalNode和Zookeeper部署到机器名末位是1、2、3的三台机器;
- Datanode、Nodemanager部署到所有节点。
4.给前三台机器分别申请两组域名:
namenode和journalnode的域名:master1.s.test.com、master2.s.test.com、master3.s.test.com
zookeeper的域名:zk1.s.test.com、zk2.s.test.com、zk3.s.test.com
二、安装部署
省略
三、启动顺序
第一步,在三台Journalnode机器上分别启动进程
$/opt/hadoop/sbin/hadoop-daemon.sh start journalnode
第二步,任选一台namenode,执行格式化命令,并启动namenode进程
$/opt/hadoop/bin/hdfs namenode -format
$/opt/hadoop/sbin/hadoop-daemon.sh start namenode
第三步,在另一台namenode机器上执行命令,进行节点信息同步,并启动
$/opt/hadoop/bin/hdfs namenode -bootstrapStandby
$/opt/hadoop/sbin/hadoop-daemon.sh start namenode
$jps
2018 JournalNode
2159 NameNode
#此时两个节点都启动了namenode,但是都是standby状态,不要停止,继续第四步。
第四步,在两台namenode上分别启动ZKFC,用于自动故障切换
#在NN1上初始化ZKFC
$ hdfs zkfc -formatZK
#分别启动两台NN的ZKFC
$ /opt/hadoop/sbin/hadoop-daemon.sh start zkfc
$ jps
20976 DFSZKFailoverController
#ZKFC启动后,再查看状态,就会有一个namenode的状态为Active
$/opt/hadoop/bin/hdfs dfsadmin -report
#如果两个都为standby状态,手动将其中一个节点设置为Active,启动ZKFC后这个已经不受控制。
#$/opt/hadoop/bin/hdfs haadmin -transitionToActive nn1
第五步,验证ZKFC切换namenode
1.测试人工切换
将主由nn1切换到nn2,一定要在主nn1上执行以下人工切换命令。
$ssh nn1
$hdfs haadmin -failover nn1 nn2
2. 测试自动切换
停掉NN1的Namenode进程,查看nn2是否为active
hdfs haadmin -getServiceState nn2
第六步,启动datanode
$/opt/hadoop/sbin/hadoop-daemon.sh start datanode
第七步,启动resourcemanager
$/opt/hadoop/sbin/yarn-daemon.sh start resourcemanager
第八步,启动nodemanager
$/opt/hadoop/sbin/hadoop-daemon.sh start datanode
$/opt/hadoop/sbin/yarn-daemon.sh start nodemanager
作者:sh_qd
来源:CSDN
原文:https://blog.csdn.net/liaynling/article/details/87113717
版权声明:本文为博主原创文章,转载请附上博文链接!