从0开始部署hadoop HDFS的HA集群,使用zk实现自动容灾

我有6台虚拟机s201~s206
其中namenode是s201和s206
 
1.停掉hadoop的所有进程
  
 2.删除所有节点的日志和本地数据.
  xcall.sh "rm -rf /soft/hadoop/logs/*"
                xcall.sh "rm -rf /home/centos/hadoop/*"(查看删干净没有xcall.sh "ls -al /home/centos/hadoop/*")
 
 3.改换hadoop符号连接为ha
 4.登录每台JN节点主机,启动JN进程.
  [s202-s204]
  $>hadoop-daemon.sh start journalnode
 
 5.登录其中一个NN,格式化文件系统(s201)
  $>hadoop namenode -format
 6.复制201目录的下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节点,做standby引导.
   $>hdfs namenode -bootstrapStandby
  
  7.3)登录201,将s201的edit日志初始化到JN节点。
   $>hdfs namenode -initializeSharedEdits
  
 8.启动所有数据节点.
  $>hadoop-daemons.sh start datanode
 
 9.登录到206,启动NN
  $>hadoop-daemon.sh start namenode
 10.查看webui
  http://s201:50070/
  http://s206:50070/
 11.自动容灾
  11.1)介绍
   自动容灾引入两个组件,zk quarum + zk容灾控制器(ZKFC)。
   运行NN的主机还要运行ZKFC进程,主要负责:
   a.健康监控
   b.session管理
   c.选举
  11.2部署容灾
   a.停止所有进程
    $>stop-all.sh
   b.配置hdfs-site.xml,启用自动容灾.
    [hdfs-site.xml]
    
     dfs.ha.automatic-failover.enabled
     true
    
   c.配置core-site.xml,指定zk的连接地址.
    
     ha.zookeeper.quorum
     s201:2181,s202:2181,s203:2181
    
   d.分发以上两个文件到所有节点。
   e.刪除zk日志 xcall.sh "rm -rf /home/centos/zookeeper/version-2"
  
 12.登录其中的一台NN(s201),在ZK中初始化HA状态
  $>hdfs zkfc -formatZK
 
 13.启动hdfs进程.
  $>start-dfs.sh
 14.测试自动容在(206是活跃节点)
  $>kill -9 namenode的进程号

你可能感兴趣的:(从0开始部署hadoop HDFS的HA集群,使用zk实现自动容灾)