一、Zookeeper安装
安装须知:
鉴于 ZooKeeper 本身的特点,服务器集群的节点数推荐设置为奇数台
下载:
下载地址:http://mirrors.hust.edu.cn/apache/ZooKeeper/
解压:
tar -zxvf ZooKeeper-3.4.7.tar.gz -C apps/
修改配置文件:
cd conf/ mv zoo_sample.cfg zoo.cfg vi zoo.cfg
将ZooKeeper-3.4.7发至其他节点
scp -r ZooKeeper-3.4.7/ hadoop@hadoop02:$PWD scp -r ZooKeeper-3.4.7/ hadoop @hadoop03:$PWD
新建目录:
去各个 ZooKeeper 服务器节点,新建目录dataDir=/home/hadoop/apps/zkdata, 这个目录就是你在 zoo.cfg 中配置的 dataDir 的目录,建好之后,在里面新建一 个文件,文件名叫 myid,里面存放的内容就是服务器的 id,就 server.1=hadoop01:2888:3888 当中的 id,就是 1,那么对应的每个服务器节点 都应该做类似的操作 拿服务器 hadoop01 举例: mkdir /home/hadoop/apps/zkdata echo 1 > myid 服务器 hadoop02: echo 2 > myid
配置环境变量:
sudo vi etc/profile 增加两行: export ZOOKEEPER_HOME=/home/hadoop/apps/ZooKeeper-3.4.7 export PATH=$PATH:$ZOOKEEPER_HOME/bin
启动:
zkServer.sh start jps 检查 QuorumPeerMain 进程 zkServer.sh status 查看服务器角色(leader or follower)
配置文件内容:zoo.cfg
tickTime=2000
initLimit=10
syncLimit=5
dataDir=/home/hadoop/apps/zkdata
dataLogDir=/root/apps/zklog
clientPort=2181
server.1=hadoop01:2888:3888
server.2=hadoop02:2888:3888
server.3=hadoop03:2888:3888
server.4=hadoop04:2888:3888:observer // 如果有第四台机器,并且想配置 observer
tickTime
基本事件单元,以毫秒为单位。它用来控制心跳和超时,默认情况下最小的会话超时时
间为两倍的 tickTime。
initLimit
此配置表示,允许 follower (相对于 leader 而言的“客户端”)连接并同步到 leader 的
初始化连接时间,它以 tickTime 的倍数来表示。当超过设置倍数的 tickTime 时间,则
连接失败。
syncLimit
此配置表示,leader 与 follower 之间发送消息,请求和应答时间长度。如果 follower 在
设置的时间内不能与 leader 进行通信,那么此 follower 将被丢弃。
dataDir
存储内存中数据库快照的位置
clientPort
监听客户端连接的端口,默认是 2181,最好不要修改
ZooKeeper 的服务器列表信息,格式为:
server.id=主机名:心跳端口:选举端口
id 虽然可以随便写,但是有两点要求,第一不能重复,第二范围是 1-255