ZooKeeper
注意:1.需要停下原有的NN
思路: 先启动JN,因为格式化NN需要依赖JN,
格式化NN
启动zookeeper,因为格式化zkfc依赖zookeeper
格式化zkfc
启动
1,搭建zookeeper
--分布式协调,主从模型
在格式化zkfc之前搭建完成,需要4台虚拟机,搭建在sxt002,sxt003,sxt004
a.将zookeeper解压,并移动到指定目录下
tar xf zookeeper-3.4.6.tar.gz
mv zookeeper-3.4.6 /opt/sxt
b.配置环境变量并加载
vi ~/.bash_profile
export ZOOKEEPER_HOME=/opt/sxt/zookeeper-3.4.6
export PATH=:$ZOOKEEPER_HOME/bin
. .bash_profile
c.查看虚拟机按 table 是否可用自动弹出
d.进入zookeeper-3.4.6目录下的conf目录,配置文件
d.拷贝zoo_sample.cfg文件到当前目录下,编辑zoo.cfg
cp zoo_sample.cfg zoo_cfg
e.将存储数据的目录dataDir= 改为 =/var/sxt/hadoop/zk 留意客户端端口号,默认2181
f.在文件最后添加信息并保存退出
--前面的数字(事务ID)大谁就是leader,若相同比(serverID)仙童推选出来,非争抢
--过半机制
server.1=192.168.125.101:2888:3888
server.2=192.168.125.102:2888:3888
server.3=192.168.125.103:2888:3888
g.创建配置文件中dataDir目录,并追加
mkdir -p /var/sxt/hadoop/zk
echo > 1 /var/sxt/hadoop/zk/myid
h.分发到sxt003,004虚拟机相同目录下
scp -r ./zookeeper-3.4.6/ sxt003:pwd
i.在sxt003和sxt004虚拟机上分别创建文件并追加
sxt003虚拟机 mkdir -p /var/sxt/hadoop/zk
echo > 2 /var/sxt/hadoop/zk/myid
sxt004虚拟机 mkdir -p /var/sxt/hadoop/zk
echo > 3 /var/sxt/hadoop/zk/myid
j.在sxt003和sxt004上做环境变量配置
vi ~/.bash_profile
export ZOOKEEPER_HOME=/opt/sxt/zookeeper-3.4.6
export PATH=:$ZOOKEEPER_HOME/bin
. .bash_profile
i.启动3台
--后来的永远没有先来的数据多
--只要启动过半的ZK,谁的ID大谁就是leader
zkServer.start