- 配置hosts,测试节点连通性
终端输入
vim /etc/hosts
依次配置每台Server的hosts文件,例如:
192.168.1.100 host1
192.168.1.101 host2
192.168.1.102 host3
配置后要检查每台Server是否和其它Server都保持连通。如在host1要依次测试:
ping host2
ping host3
确保所有Server连通后继续下一步操作。
- 解压安装包zookerper-3.4.7.tar.gz
tar -xzvf zookerper-3.4.7.tar.gz
- 创建项目目录并将解压目录移入项目目录中的Zookeeper子目录
新建zookeeper目录,将解压后的zookerper-3.4.7文件夹放到zookeeper目录下
- 修改Zookeeper配置文件zoo.cfg
进入zookerper-3.4.7目录,执行
ls conf/
/*
输出:configuration.xsl log4j.properties zoo_sample.cfg.其中zoo_sample.cfg文件即为配置文件
*/
cp conf/zoo_sample.cfg conf/zoo.cfg
vim conf/zoo.cfg
配置文件如下:
tickTime=2000
initLimit=10
syncLimit=5
dataDir=/home/host1/zookeeper/zkdata
dataLogDir=/home/host1/zookeeper/logs
clientPort=2181
server.1=host1:2888:3888
server.2=host2:2888:3888
server.3=host3:2888:3888
修改完成后拷贝配置内容,依次复制到其他Server下
创建目录
mkdir /home/host1/zookeeper/zkdata
mkdir /home/host1/zookeeper/logs
-
建立Zookeeper节点标识文件myid
创建myid编号,依次在每台Server上执行,注意每台Server的myid要对应正确的编号 -
host1下输入
echo “1” > /home/host1/zookeeper/zkdata/myid
host2下输入
echo “2” > /home/host2/zookeeper/zkdata/myid
host3下输入
echo “3” > /home/host3/zookeeper/zkdata/myid
配置环境变量并使环境变量立即生效vim /etc/profile
export ZOOKEEPER_HOME=/home/host1/zookeeper/zookeeper-3.4.7
export PATH=
Z
O
O
K
E
E
P
E
R
H
O
M
E
/
b
i
n
:
ZOOKEEPER_HOME/bin:
ZOOKEEPERHOME/bin:PATH
完成后保存退出,并使环境变量立即生效
source /etc/profile
同样,在其它Server也要做同样的操作。
7. 启动Zookeeper并且进行状态监控
- 启动ZooKeeper
zkServer.sh start
检查ZooKeeper的状态
zkServer.sh status
这里需要注意下,各台Server的防火墙要关闭,要不可能会报错。关闭防火墙方法:
service iptables stop
执行后查询是否关闭
service iptables status
ZooKeeper常见配置
tickTime:CS通信心跳数;以毫秒为单位,可以使用默认配置。
initLimit:LF初始通信时限;
syncLimit:LF同步通信时限;数值不宜过高。
dataDir:数据文件目录;
dataLogDir:日志文件目录;
clientPort:客户端连接端口;
server.N:服务器名称与地址(服务编号,服务地址,LF通信端口,选举端口)
ZooKeeper高级配置
gloabalOutstandingLimit:最大请求堆积属,默认1000;
preAllocSize:预分配的Transaction log空间大小;
snapCount:每进行snapCount次事务日志输出后,触发一次快照;
maxClientCnxns:最大并发客户端数;
forceSync:是否提交事务的同时同步到磁盘;
leaderServes:是否禁止leader读功能;
traceFile:是否记录所有请求的log;不建议使用