您的位置:首页 > 其它

搭建ZooKeeper集群环境

2015-04-07 16:58 381 查看
准备环境 : 至少3个hadoop节点.

zookeeper概念
1.1 zk可以用来保证数据在zk集群之间的数据的事务性一致。数据不能太大,默认为2mb以下.

安装zookeeper
2. 如何搭建ZooKeeper服务器集群
2.1 zk服务器机群规模不小于3个节点,要求各服务器之间系统时间要保持一致(保证方法?)。

date -s 01/04/2015
date -s 12:04:20
clock -w


2.2 在hadoop的/opt/目录下,解压缩 tar -zxvf zookeeper-3.4.5.tar.gz。并且设置环境变量 /etc/profile。
2.3 在zk目录下的conf目录下,修改文件cp zoo_sample.cfg zoo.cfg
2.4 编辑该文件,执行vi zoo.cfg

修改 dataDir=/opt/zk/data
在末尾添加
server.0=hadoop0:2888:3888
server.1=hadoop1:2888:3888
server.2=hadoop2:2888:3888


2.5 创建文件夹mkdir /opt/zk/data
2.6 在该data目录下,创建文件myid,并且赋值为0
2.7 把zk目录复制到hadoop1和hadoop2中。

scp -r /opt/zk hadoop1:/opt/zk
scp -r /opt/zk hadoop2:/opt/zk


2.8 把hadoop1中对应的myid的值修改为1
把hadoop2中对应的myid的值修改为2
2.9 启动,在三个节点上分别执行命令zkServer.sh start
2.10 验证,在三个节点上分别执行命令zkServer.sh status

实验: 启动后可以查看日至zookeeper.out文件 tail -f zookeeper.out日志文件
-----------------------------总结---------------------------------------------

参与election(选举)的节点的模式:
model:
follower
leader
结论: 一个节点的伪分布与实际脱离太远. 真实环境中肯定是集群分布.
运行中当zk Leader节点挂了话,zk会选举一个节点作为Leader节点.

模拟zk保证数据一致问题操作方式:
命令行操作
Java API操作(很少用到)
zkCli.sh
其中zk相当于文件系统的目录结构,保证数据的一致性。
java 和 shell 脚本都可以操作
分布式应用

补充:zk的节点类型:
短暂型:ephemeral
持久型:persistent

关于更详细的ZooKeeper内容请参考网上更详细的讲解,此内容为以后学习Hadoop基础上的HBase作准备.
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: