【准备】
1:3台虚拟机(奇数台)
2:jdk安装
3:免密码登陆
【1】
上传tar包到其中一台虚拟机并解压
tar -xzvf zookeeper.tar.gz
cp -r zookeeper /usr/locla
【2】
修改配置文件
mv zoo_sample.cfg zoo.cfg
1,修改数据存储地址
2,添加server编号
修改数据存储地址
添加server编号
1.tickTime:CS通信心跳时间
服务器之间或客户端与服务器之间维持心跳的时间间隔,也就是每个 tickTime 时间就会发送一个心跳。tickTime以毫秒为单位。
2.initLimit:LF初始通信时限
集群中的follower服务器(F)与leader服务器(L)之间初始连接时能容忍的最多心跳数(tickTime的数量)。
3.syncLimit:LF同步通信时限
集群中的follower服务器与leader服务器之间请求和应答之间能容忍的最多心跳数(tickTime的数量)。
4.dataDir:数据文件目录
Zookeeper保存数据的目录,默认情况下,Zookeeper将写数据的日志文件也保存在这个目录里。
5.clientPort:客户端连接端口
客户端连接 Zookeeper 服务器的端口,Zookeeper 会监听这个端口,接受客户端的访问请求。2181
【3】
添加所配置的数据存储目录data
mkdir /usr/local/zookeeper/data
cd data
//在data下创建一个myid文件
touch myid
//在myid文件中编写此机器的编号(这个是server.1,则编号就是1)
vim myid (添加1)
这里myid的内容与zoo.cfg中的配置对应
server.1=hadoop01:2888:3888 id 1
server.2=hadoop01:2888:3888 id 2
server.3=hadoop01:2888:3888 id 3
![Uploading 2016-12-18_221745_687688.png . . .]
【4】
复制zookeeper目录到其他两天主机上
利用免密码登陆复制文件
scp -r zookeeper root@hadoop02:/usr/local
scp -r zookeeper root@hadoop03:/usr/local
【5】
分别修改server2和server3机器目录下、/usr/local/zookeeper/data的myid文件,将文件内容分别该为server编号(2 , 3)
【6】
分别启动
./zkServer.sh start(开启)
./zkServer.sh status(重启) 重启可以查看到它的角色状态
【7】
数据同步演示
在任意一台机器上创建一个文件夹并写入内容,看看其他机器是否会同步相同的数据
启动客户端
./zkCli.sh
查看根目录结构
ls /
在跟目录下创建xiaojiang目录,并将nangonghaiheng写入
create /xiaojiang nangonghaiheng
ls /
get /xiaojiang
【附】语法