ZooKeeper集群搭建

zk运行时有2个状态:可用\不可用
分布式协调、别打架
`事务id` > server.id

Hadoop集群基础配置

hadoop伪分布式系统配置
VM安装Linux虚拟机环境
VM克隆Linux虚拟机集群配置
hadoop集群全分布式搭建
NameNode HA With QJM
在node002、node003、node004 服务器搭建ZooKeeper环境


(1)在node002中搭建,环境变量

[root@node002 ~]# tar -zxf zookeeper-3.4.6.tar.gz
export ZOOKEEPER_HOME=/opt/zookeeper-3.4.6
export PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$ZOOKEEPER_HOME/bin
source /etc/profile

(2)zookeeper(配置)

[root@node002 conf]# cp zoo_sample.cfg zoo.cfg

# 本地数据存放目录
dataDir=/var/hadoop/zk
server.1=node002:2888:3888
server.2=node003:2888:3888
server.3=node004:2888:3888

在`dataDir`创建myid把自己id写进去
mkdir /var/hadoop/zk
echo 1 > /var/hadoop/zk/myid     // 数字根据节点规划

配置文件:zoo.cfg

(3)分发到其它节点

[root@node002 opt]# scp -r ./zookeeper-3.4.6/ node003:`pwd`
[root@node003 opt]# mkdir -p /var/hadoop/zk
[root@node003 opt]# echo 2 > /var/hadoop/zk/myid
[root@node004 opt]# echo 3 > /var/hadoop/zk/myid

(4)在node02、node03、node04分别启动zk

[root@node004 opt]# zkServer.sh start
JMX enabled by default
Using config: /opt/zookeeper-3.4.6/bin/../conf/zoo.cfg
Starting zookeeper ... STARTED
[root@node004 opt]# zkServer.sh status
JMX enabled by default
Using config: /opt/zookeeper-3.4.6/bin/../conf/zoo.cfg
Mode: follower

[root@node004 opt]# jps
1993 Jps
1929 QuorumPeerMain

只要过半就产生leader
后面需要ZKFC格式化它!!

zk主从模型

  • leader
  • follower
一个隐藏起来、任然观察
2个高的,成为leader
后来者,不管多高都是follower追随,后来的永远没有我数据多

推选新的leader
200ms就可把一个leader恢复回来(谁事务id大),从无主到有主
只要过半了,就做选举产生leader
2888:有主时通信
3888:无主,选leader状态


进入zk客户端:

  • zkCli.sh
ls /
[zookeeper]
ls /zookeeper
[quota]
ls zookeeper/quota
[]
create /test hadoop
创建文件夹,和hadoop文件
ls /
[test, zookeeper]
get /mgtest
会显示一些创建的信息

在别的节点hadoop1行
get /mgtest

参考资料

Zookeeper基础知识点

你可能感兴趣的:(ZooKeeper集群搭建)