一.集群模式
1.虚拟机上zookeeper的地址分配
ip地址分别为192.168.58.136 192.168.58.137 192.168.58.138(如果虚拟机和crt不在同一台机器上面,虚拟机网络设置需要设置为桥接模式连接接,在同一台机器net模式和桥接均可)
2.下载安装包
wget http://mirror.bit.edu.cn/apache/zookeeper/stable/apache-zookeeper-3.5.6.tar.gz 下载安装包
3.tar命令解压安装包
tar -zxvf apache-zookeeper-3.5.6.tar.gz -C /usr/local/soft/zk(目标路径)
4.修改配置文件
将zoo_simple.cfg 复制一份,命名为zoo.cfg ,源文件留作备份
修改dataDir的位置
5.配置服务器()
sever.id=ip地址:端口号(follower和leader的通信端口):端口号(leader选举投票通信端口)
server.1=192.168.58.136:2888:3888
server.2=192.168.58.137:2888:3888
server.3=192.168.58.138:2888:3888
6.将配置文件拷贝到另外两台服务器上面
scp zoo.cfg root@192.168.58.136:/usr/local/zk/conf/
7.切换到设置的dataDir目录下创建myid文件,写入数据,数据对应配置文件的server.id中的id,其余服务器同理,id要和配置文件对应
vim myid
8.测试启动服务器
切换到bin目录下,找到zkServer.sh 命令 在当前目录下的:
启动命令为: ./zkSever.sh start 停止命令为:./zkSever.sh stop
9.测试是否成功启动
telnet 192.168.58.136 2181 (telnet安装命令 yum install telnet)
字面意思命令不在白名单。网上查找一番只需要做些配置即可有如下方法
在zoo.cfg 中配置如下一行 4lw.commands.whitelist=*
修改启动指令 zkServer.sh ,往里面添加 :
ZOOMAIN="-Dzookeeper.4lw.commands.whitelist=* ${ZOOMAIN}"
执行刚才命令这次会提示
当前无法提供服务。
启动另外两台机器即可
二.伪集群模式
所谓单机搭建zookeeper集群其实就是在一台机器上启动多个zookeeper,在启动每个zookeeper时分别使用不同的配置文件zoo.cfg来启动,每个配置文件使用不同的配置参数(clientPort端口号、dataDir数据目录、dataLogDir数据日志目录)在同一台机器上启动多次。
集群所有的机器都在一台机器上面,但是以集群特性对外提供服务,为集群模式下的ip地址是一样的,但是端口号有区别
192.168.58.135:2888:3888
192.168.58.135:2889:3889
192.168.58.135:2890:3890
启动时指定配置文件
zkServer start /usr/local/soft/zk/conf/zoo1.cfg
三.单机模式
只保留一台机器的配置 192.168.58.135:2888:3888