单机安装配置
Windows
一开始选择的是zookeeper-3.5.5版本,后来再启动时,提示加载不到主类,找了些资料,也没有解决,然后换了zookeeper-3.4.14 试了下,可以启动服务并应用。
我这边下载安装的是zookeeper-3.4.14版本(zookeeper-3.4.14.tar.gz ) http://mirror.bit.edu.cn/apache/zookeeper/zookeeper-3.4.14/
解压修改conf zoo_sample.cfg为zoo.cfg,bin/zkserver.cmd启动
以上内容更新:2019-6-27
Centos
这里下载的是最新发布版本3.4.11
wget http://mirrors.hust.edu.cn/apache/zookeeper/zookeeper-3.4.10/zookeeper-3.4.10.tar.gz
解压
tar -zxvf zookeeper-3.4.9.tar.gz
创建数据存储路径
mkdir -p /mnt/cent_data/zookeeper/data
修改配置文件
cd zookeeper-3.4.9/conf/
cp zoo_sample.cfg zoo.cfg
vi zoo.cfg
#换成输几盘的路径dataDir=/tmp/zookeeper
dataDir=/mnt/cent_data/zookeeper/data
添加环境配置
用 vim 打开 /etc/ 目录下的配置文件 profile:
vim /etc/profile
export ZOOKEEPER_HOME=/mnt/opt/zookeeper-3.4.11/
export PATH=$ZOOKEEPER_HOME/bin:$PATH
export PATH
环境变量生效
source /etc/profile
如果防火墙开启了,关闭或指定zookeeper端口号通过防火墙
1)关闭Linux防火墙
2)或者让2181端口通过防火墙。命令:iptables -I INPUT -p tcp --dport 2181 -j ACCEPT
本地telnet localhost: 2181 ,发现连接超时!需要accept的端口必须放在REJECT上面,才能生
效
-A INPUT -m state --state NEW -m tcp -p tcp --dport 2181 -j ACCEPT
重启防火墙
[root@localhost~]# service iptables restart
zookeeper启动常用命令
1、启动和停止
进入bin目录,启动、停止、重启分和查看当前节点状态(包括集群中是何角色)别执行:
./zkServer.sh start
./zkServer.sh stop
./zkServer.sh restart
./zkServer.sh status
2、查询 zookeeper 状态:
zkServer.sh status
3、开机启动配置
开机启动 使用zookeeper的用户启动命令(正式环境不建议使用root,这里使用的是一个zookeeper的用户启动)
su - zookeeper -c '/mnt/opt/zookeeper-3.4.11/bin/zkServer.sh start'
zkCl客户端连接
sh zkServer.sh status
# telnet localhost 2181
Trying 127.0.0.1...
Connected to localhost.localdomain (127.0.0.1).
Escape character is '^]'.
Connection closed by foreign host.
sh zkCli.sh -server 127.0.0.1:2181
[zk: 127.0.0.1:2181(CONNECTED) 0] ls /
更多命令参考
https://www.cnblogs.com/chengxuyuanzhilu/p/6698059.html
集群模式搭建
集群模式就是在不同主机上安装zookeeper然后组成集群的模式;下边以在192.168.220.128/129/130三台主机为例。
首先安装单台,配置文件设置好,然后把解压路径下的文件拷贝到其他两台即可,data/myid文件修改值
conf/zoo.cfg文件修改
1.
三个zookeeper的conf/zoo.cfg修改如下:
tickTime=2000
dataDir=/usr/myapp/zookeeper-3.4.5/data
dataLogDir=/usr/myapp/zookeeper-3.4.5/logs
clientPort=2181
initLimit=5
syncLimit=2
server.1=192.168.220.128:2888:3888
server.2=192.168.220.129:2888:3888
server.3=192.168.220.130:2888:3888
2.data/myid文件修改,三台机器的值一次为1,2,3
echo '1' > data/myid
3.启动三台机器
./zkServer.sh start
因为每台机器的端口号,文件,日志配置信息全部相同,所以除了myid其他不必改动配置信息。单机版伪集群因为同一台机器所以这些配置端口,文件路径和myid都需要修改不同路径下面才可以
参考资料
http://shiyanjun.cn/archives/934.html