HDFS HA系列实验之三:HA+NFS+zookeeper

由于时间关系,原规划在Hadoop cluster2上实施HA+NFS+zookeeper的,改成了在Hadoop cluster1上实施,这样省略了ssh无密码登陆配置环节和hadoop集群配置环节。本篇的配置环境是基于 HDFS HA系列实验之二:HA+JournalNode+zookeeper  上进行的。

1:原理图
HA实验之三:HA+NFS+zookeeper - mmicky - mmicky 的博客
A:NN1、NN2(或者更多个NN节点)只有一个是Active状态,通过自带ZKFailoverController组件(zookeeper客户端)和zookeeper集群协同对所有NN节点进行检测和选举来达到此目的。
B:Active NN 的EditLog 写入NFS共享目录/mnt/cluster1中,Standby NN通过 共享目录/mnt/cluster1获取Editlog,并在本地运行来保持和Active NN 的元数据同步。
C:如果不配置zookeeper,可以手工切换Active NN/Standby NN;如果要配置zookeeper自动切换,还需要提供切换方法,也就是要配置dfs.ha.fencing.methods参数。

2:NFS客户端配置
启动product201、product202的NFS客户端并设置成启动时自动加载
[root@product201 /]# chkconfig rpcbind on
[root@product201 /]# chkconfig nfslock on
[root@product201 /]# service rpcbind restart
[root@product201 /]# service nfslock restart
[root@product201 /]# mkdir -p /mnt/cluster1
[root@product201 /]# mkdir -p /mnt/cluster2
[root@product201 /]# chown -R hadoop:hadoop /mnt/cluster1
[root@product201 /]# chown -R hadoop:hadoop /mnt/cluster2
[root@product201 /]# mount -t nfs productserver:/share/cluster1 /mnt/cluster1
[root@product201 /]# mount -t nfs productserver:/share/cluster2 /mnt/cluster2
[root@product201 /]# echo "mount -t nfs productserver:/share/cluster1 /mnt/cluster1">>/etc/rc.d/rc.local
[root@product201 /]# echo "mount -t nfs productserver:/share/cluster2 /mnt/cluster2">>/etc/rc.d/rc.local

3:Hadoop配置
配置前停止所有和hadoop相关的进程,可以通过jps查看并确认
A:重建数据目录和日志目录
所有hadoop节点都要运行
[hadoop@product201 hadoop220]$ rm -rf mydata logs
[hadoop@product201 hadoop220]$ mkdir mydata logs

B:修改配置并发放到各节点
[hadoop@product201 hadoop220]$ cd etc/hadoop
[hadoop@product201 hadoop]$ vi hdfs-site.xml
[hadoop@product201 hadoop]$ cat hdfs-site.xml

<property> <name>dfs.namenode.shared.edits.dir</name> <value>file:///mnt/cluster1</value> <description>多个namenode共享NFS目录。</description> </property>

[hadoop@product201 hadoop]$ scp hdfs-site.xml product202:/app/hadoop/hadoop220/etc/hadoop/.  
[hadoop@product201 hadoop]$ scp hdfs-site.xml product203:/app/hadoop/hadoop220/etc/hadoop/.  
[hadoop@product201 hadoop]$ scp hdfs-site.xml product204:/app/hadoop/hadoop220/etc/hadoop/.  
[hadoop@product201 hadoop]$ cd ../..

4:运行Hadoop
关于Hadoop HA启动流程图参见 HDFS HA系列实验之经验总结
A:启动zookeeper
[hadoop@product202 hadoop220]$ /app/hadoop/zookeeper345/bin/zkServer.sh start
[hadoop@product203 hadoop220]$ /app/hadoop/zookeeper345/bin/zkServer.sh start
[hadoop@product204 hadoop220]$ /app/hadoop/zookeeper345/bin/zkServer.sh start

B:格式化namenode并注册zookeeper锁
[hadoop@product201 hadoop220]$ bin/hdfs namenode -format
[hadoop@product201 hadoop220]$ bin/hdfs zkfc -formatZK

C:启动nn1
[hadoop@product201 hadoop220]$ hadoop-daemon.sh start zkfc
[hadoop@product201 hadoop220]$ sbin/hadoop-daemon.sh start namenode

D:启动nn2,在nn2上同步nn1的元数据信息
[hadoop@product202 hadoop220]$ hadoop-daemon.sh start zkfc
[hadoop@product202 hadoop220]$ bin/hdfs namenode -bootstrapStandby
[hadoop@product202 hadoop220]$ sbin/hadoop-daemon.sh start namenode

E:启动datanode
[hadoop@product201 hadoop220]$ sbin/hadoop-daemons.sh start datanode

HA实验之三:HA+NFS+zookeeper - mmicky - mmicky 的博客
 
HA实验之三:HA+NFS+zookeeper - mmicky - mmicky 的博客
 
HA实验之三:HA+NFS+zookeeper - mmicky - mmicky 的博客
 

TIPS:
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值