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 // 数字根据节点规划
(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