- 关闭Linux(CentOS7.X版本)的防火墙
- 临时关闭防火墙:service iptables stop
- 永久关闭防火墙:chkconfig iptables off
- 下载安装JDK
- 下载Zookeeper的安装包: wget https://www-eu.apache.org/dist/zookeeper/zookeeper-3.4.14/zookeeper-3.4.14.tar.gz
- 解压Zookeeper的安装包:tar -xvf zookeeper-3.4.14.tar.gz
- 进入Zookeeper的安装目录下的子目录conf目录中
- 将conf目录下的zoo_sample.cfg文件复制为zoo.cfg。Zookeeper在启动的时候会自动寻找zoo.cfg,根据其中的配置来启动服务:cp zoo_sample.cfg zoo.cfg
- 编辑zoo.cfg文件:vim zoo.cfg,保存并且关闭zoo.cfg
tickTime=2000
dataDir=/usr/local/software/zookeeper/data #指定数据的存储目录
dataLogDir=/usr/local/software/zookeeper/logs
clientPort=2181 - 进入Zookeeper的安装目录下的子目录bin目录中:
- 执行zkServer.sh文件,来启动Zookeeper服务器端:sh zkServer.sh start
- 执行zkCli.sh文件,来启动进入Zookeeper客户端:sh zkCli.sh
-
检测是否安装成功:
- 当服务器端启动成功之后,可以执行jps命令查看是否有Zookeeper的QuorumPeer进程
- 在服务器端启动成功之后,可以查看服务器端状态:sh zkServer.sh status, 如果出现了Standalone,说明启动成功
- 查看某个端口是否启动:lsof -i :2181 或者netstat -ap|grep 2181
参数解析
- tickTime:以毫秒为单位,这个时间作为 Zookeeper 服务器之间或客户端之间维持心跳的时间间隔
- dataDir:存储内存中数据库快照的位置,顾名思义就是 Zookeeper 保存数据的目录,默认情况下,Zookeeper 将写数据的日志文件也保存到这个目录里
-
clientPort:这个端口就是客户端连接 Zookeeper 服务器的端口,Zookeeper 会监听这个端口,接受客户端的访问请求
安装步骤
关闭Linux(版本是Centos6.X)的防火墙
临时关闭防火墙:service iptables stop
永久关闭防火墙:chkconfig iptables off
下载安装JDK
下载或者上传Zookeeper的压缩包
解压压缩包:tar -xvf zookeeper-3.4.8
进入Zookeeper的安装目录下的子目录conf目录中:cd zookeeper-3.4.8/conf
将conf目录下的zoo_sample.cfg复制为zoo.cfg。Zookeeper在启动的时候会自动寻找zoo.cfg,根据其中的配置来启动存储数据:cp zoo_sample.cfg zoo.cfg
编辑zoo.cfg文件:vim zoo.cfg
修改其中的属性dataDir,指定数据的存储目录:dataDir=/home/software/zookeeper-3.4.8/tmp
在zoo.cfg文件的末添加要构建集群的服务器地址
格式:server.编号=IP地址:原子广播端口:选举端口。
编号要求是数字并且不能重复,原子广播端口号和选举端口号只要不和当前已经使用的端口号冲突即可
例如:
server.1=10.42.156.58:2888:3888
server.2=10.42.36.109:2888:3888
server.3=10.42.178.114:2888:3888
关闭并且保存zoo.cfg
在dataDir的指定目录下创建数据存储目录:mkdir tmp
进入数据存储目录:cd tmp
在数据存储目录下编辑新的文件,文件名为myid:vim myid
在myid文件中填入当前服务器所对应的编号。例如当前服务器的地址为10.42.156.58,则在zoo.cfg文件中指定编号为1,那么就在myid文件中添加数字1
保存退出myid
将要配置的集群中的其他服务器按照上述步骤配置。或者可以将当前服务器中的配置拷到其他服务器上,修改对应的myid
格式 scp -r 目录或者文件 IP:目录
例如:scp -r zookeeper-3.4.8 10.42.36.109:/home/software
集群全部配置好之后,依次启动每一台服务器
进入Zookeeper安装目录下的bin目录:cd ../bin
执行zkServer.sh文件,启动Zookeeper的服务器:sh zkServer.sh start
执行zkCli.sh文件,启动Zookeeper的客户端:sh zkCli.sh
配置完成检测是否成功:
在Zookeeper集群中,如果单独启动一台服务器,是无法对外提供服务的
当把集群中的服务器都启动之后,可以利用:sh zkServer.sh status。来查看当前节点的状态,如果出现leader或者follower,则说明启动成功