接管条件:磁盘上原数据完全一样,而自动接管,则是由zookeeper 实现的
FailloverController:控制namenode状态;检查namenode;通过远程协议
zookeeper 实现的步骤:
前提:三台防火墙都关闭、时间一致(ntpdate -u ntp.sjtu.edu.cn 202.120.2.101)
准备三台虚拟机(node1、node2和node3)
1.将zookeeper-3.4.6的压缩包解压到根目录下,然后建立软链接
ln -sf /root/zookeeper-3.4.6 /home/install/zookeeper-3.4.6
2.然后进入/home/install/zookeeper-3.4.6目录里,进入conf目录里进行配置,为了将配置文件容易记,可修改名称(mv zoo_sample.cfg zoo.cfg),对zoo.cfg的配置文件里将dataDir改为/opt/zookeeper,并在下边增加一下几行代码:
server.1=node1:2888:3888
server.2=node2:2888:3888
server.3=node3:2888:3888
3.手动在三台虚拟机里创建opt目录下的zookeeper目录
4.在conf下,使用以下命令:vi /opt/zookeeper/myid,分别在三台虚拟机里编辑1,2,3
5.通过网络传输zookeeper下的文件:
scp -r zookeeper-3.4.6 /root@node2:/home/install/
scp -r zookeeper-3.4.6 /root@node3:/home/install/
6.配置环境变量:vi ~/.bash_profile,再将配置好的复制到其它两台虚拟机上
:/home/install/zookeeper-3.4.6/bin
scp ~/.bash_profile root@node2:~/
scp ~/.bash_profile root@node3:~/
三台进行source
7.启动zookeeper:zkServer.sh start,jps,看是否有QuorumPeerMain进程
8.zkCli.sh