zookeeper协调服务搭建

【直接从word拷贝出来的,格式有点混乱,以后我调整】

zooinspector 客户端查看工具

Zookeeper [v3.4.9]
Name
service
master
other
bdata-dev1
QuorumPeerMain
notsure
节点角色相同
bdata-dev2
QuorumPeerMain
notsure

bdata-dev3
QuorumPeerMain
notsure

下载&解压

下载地址:http://apache.fayea.com/zookeeper/zookeeper-3.4.9/zookeeper-3.4.9.tar.gz

然后上传至服务器bdata-dev1的/opt/src/目录里。

|

`#解压`

`tar zvxf /opt/src/zookeeper-3.4.9.tar.gz  ``-C` `/opt/`

`mv` `/opt/zookeeper-3.4.9/ /opt/zookeeper`

|

## 1.2. **配置zk服务**

### 1.2.1. **配置服务**

|

`cp` `/opt/zookeeper/conf/zoo_sample.cfg  /opt/zookeeper/conf/zoo.cfg`

`vi /opt/zookeeper/conf/zoo.cfg`

|

参数的含义:

1.tickTime:CS通信心跳时间

Zookeeper 服务器之间或客户端与服务器之间维持心跳的时间间隔,也就是每个 tickTime 时间就会发送一个心跳。tickTime以毫秒为单位。tickTime=2000

2.initLimit:LF初始通信时限

集群中的follower服务器(F)与leader服务器(L)之间初始连接时能容忍的最多心跳数(tickTime的数量)。initLimit=5

3.syncLimit:LF同步通信时限

集群中的follower服务器与leader服务器之间请求和应答之间能容忍的最多心跳数(tickTime的数量)。syncLimit=2

4.dataDir:数据文件目录

5.clientPort:客户端连接端口

客户端连接 Zookeeper 服务器的端口,Zookeeper 会监听这个端口,接受客户端的访问请求。clientPort=2181

6.服务器名称与地址:集群信息(服务器编号,服务器地址,LF通信端口,选举端口)

这个配置项的书写格式比较特殊,规则如下:

server.N=YYY:A:B

例如:

server.1=zenith01:2888:3888

server.2=zenith02:2888:3888

2888为内部通讯端口,3888外部选举端口

配置如下:

|

`#将dataDir=/tmp/zookeeper改为`

`dataDir=/opt/zookeeper/data`

`#在最后一行新增集群内容:`

`server.1=bdata-dev1:2888:3888`

`server.2=bdata-dev2:2888:3888`

`server.3=bdata-dev3:2888:3888`

|

1.2.2. 配置日志

|

`vi /opt/zookeeper/conf/log4j.properties`

|

将其中的两个logdir改成如下:

zookeeper.log.dir=/opt/zookeeper/logs

zookeeper.tracelog.dir=/opt/zookeeper/logs

vi /opt/zookeeper/bin/zkEnv.sh
在第一行添加zoo的日志目录如下:

创建自己的myid文件即:自己的编号 上述server.N中的N
前提:

mkdir /opt/zookeeper/data
mkdir /opt/zookeeper/logs
echo 1 > /opt/zookeeper/data/myid

1.3. 同步其他服务器并启动zk服务:

#! /bin/sh
echo "begin scp zookeeper"
namePrefix='bdata-dev'
for i in  {2..3};do
echo "begin $namePrefix$i"
scp -r /opt/zookeeper root@$namePrefix$i:/opt
ssh root@$namePrefix$i "echo $i > /opt/zookeeper/data/myid"
echo "end scp zookeeper to $namePrefix$i"
sleep 5
done
 
echo "begin start zk server"
 
for i in  {1..3};do
echo "begin $namePrefix$i"
ssh root@$namePrefix$i "/opt/zookeeper/bin/zkServer.sh start"
echo "end $namePrefix$i"
done
 
echo "end start zk server"
 
sleep 10
 
echo "begin check zk server"
 
for i in  {1..3};do
echo "begin $namePrefix$i"
ssh root@$namePrefix$i "/opt/zookeeper/bin/zkServer.sh status"
echo "end $namePrefix$i"
done
 
echo "end check zk server"

最终结果为说明ok了。

你可能感兴趣的:(zookeeper协调服务搭建)