1.停掉所有hadoop进程
2删除所有节点的日志和本地数据 $xcall.sh "rm -rf /soft/hadoop/logs/"//这个操作实现删除所有节点的数据 $xcall.sh "rm -rf /home/centos/hadoop/"
3.改换hadoop的符号连接为ha
4.登录每台JN节点主机,启动JN(journalNode)节点 [s201-s203 $>hadoop-daemon.sh start journalnode;
5.登录其中一个NN节点,格式化文件系统(s200) $>hadoop namenode -format
6.复制s200目录下面nn的元数据到s206 $>scp -r ~/hadoop/* centos@s206:/home/centos/hadoop
7.在未格式化的NN(s206)节点上做standby引导 7.1)需要保证201的NN节点启动 $>hadoop-daemon.sh start namenode 7.2)登录s206上做节点引导 $>hdfs namenode -bootstrapStandby
7.3登录到s200将s200的edit日志初始化到JN节点
$>hdfs namenode -initializeSharedEdits
8.启动s206的名称节点和数据节点 $>hadoop-daemons.sh start datanode; 登录到s206启动namenode $>hadoop-daemon.sh start namenode 9.查看webUI
10.自动容灾 10.1)介绍 自动容灾要引入两个组件,zk quarum+zk容灾控制器(ZKFC) 运行NN主机还要运行ZKFC进程,主要负责以下事务: 1)健康监控 2)session管理 3)选举 10.2部署自动容灾 a.停止所有进程:stop-all.sh b.配置hdfs-site.sh,启用自动容灾 [hdfs-site.xml] <property> <name>dfs.ha.automatic-failover.enabled</name> <value>true</value> </property> c.配置 core-site.xml [core-site.xml],指定zk的连接地址 <property> <name>ha.zookeeper.quorum</name> <value>zk1.example.com:2181,zk2.example.com:2181,zk3.example.com:2181</value> </property> d.分发两个文件到所有节点
11.在登录其中的一台NN(s200),在zk中初始化HA状态,然后使用以下命令 $>hdfs zkfc -formatZK
12.启动hdfs相关进程 start-dfs.sh 13.测试自动容灾(s200是活跃节点) kill-9
来源:oschina
链接:https://my.oschina.net/u/4385912/blog/3909938