Zookeeper安装配置
-
下载Zookeeper
进入Zookeeper的下载页面
选择stable的版本
右键复制链接地址
https://mirrors.tuna.tsinghua.edu.cn/apache/zookeeper/stable/apache-zookeeper-3.5.6-bin.tar.gz
使用wget下载
wget https://mirrors.tuna.tsinghua.edu.cn/apache/zookeeper/stable/apache-zookeeper-3.5.6-bin.tar.gz
-
复制文件
tar解压
tar -zxf apache-zookeeper-3.5.6-bin.tar.gz
复制整个程序到/usr/local/下
cp -r apache-zookeeper-3.5.6-bin /usr/local/zookeeper
-
配置Zookeeper
cd /usr/local/zookeeper cp zoo_sample.cfg zoo.cfg vi zoo.cfg
整个配置文件的示例如下
# 服务器之间或客户端与服务器之间维持心跳的时间间隔 # tickTime以毫秒为单位。 tickTime=2000 # 集群中的follower服务器(F)与leader服务器(L)之间的初始连接心跳数 initLimit=10 # 集群中的follower服务器与leader服务器之间请求和应答之间能容忍的最多心跳数 syncLimit=5 # 快照保存目录 # 不要设置为/tmp,该目录重新启动后会被自动清除 dataDir=/usr/local/zookeeper/zkdata # 日志保存目录 dataLogDir=/usr/local/zookeeper/zkdatalog # 客户端连接端口 clientPort=2181 # 客户端最大连接数。 # 根据自己实际情况设置,默认为60个 # maxClientCnxns=60 # 三个接点配置,格式为: # server.服务编号=服务地址、LF通信端口、选举端口 server.1=salve1:2888:3888 server.2=slave2:2888:3888 server.3=slave3:2888:3888
上面填入的多个server后面跟着的服务编号待会要放入到对应机器的myid中
for i in $(seq 1 3); do scp -r /usr/local/zookeeper Slave$i:/usr/local/zookeeper; done
复制到了各个节点但是还没有正式跑起来
-
创建工作目录,配置myid
for i in $(seq 1 3); do ssh Slave$i 'mkdir -p /usr/local/zookeeper/zkdata'; done for i in $(seq 1 3); do ssh Slave$i 'mkdir -p /usr/local/zookeeper/zkdatalog'; done for i in $(seq 1 3); do ssh Slave$i 'touch /usr/local/zookeeper/zkdata/myid'; done
再登录到各个节点修改myid(内容根据上面zoo.cfg文件而定)
ssh Slave1 vi /usr/local/zookeeper/zkdata/myid
-
配置环境变量
vi /etc/profile
加入如下内容
export ZOOKEEPER_HOME=/usr/local/zookeeper
-
启动Zookeeper
登录每个节点去启动zookeeper
ssh Slave1 cd /usr/local/zookeeper/bin ./zkServer.sh start
查看zookeeper节点状态
./zkServer.sh status
应该能够查询到如下信息
执行如下命令
jps
能在输出中看到
QuorumPeerMain
至此Zookeeper分布式完成