目录
1.jdk环境
2.解压zookeeper
3.将zookeeper复制三份
4.创建data目录
5.创建myid
6.配置zoo.cfg
7.开启端口
8.启动所有zookeeper实例
9.查看集群状态与关闭集群
10.可能的出现的错误与解决方案
操作系统:阿里云服务器centos6.4
工具:xftp、xshell
环境:jdk8
安装包:zookeeper-3.4.6.tar.gz
jdk8安装步骤
上传zookeeper到linux并解压
我这里是因为要搭建solr集群,所以创建solr-cloud
[root@localhost ~]# mkdir /usr/local/solr-cloud
[root@localhost ~]# cp -r zookeeper-3.4.6 /usr/local/solr-cloud/zookeeper01
[root@localhost ~]# cp -r zookeeper-3.4.6 /usr/local/solr-cloud/zookeeper02
[root@localhost ~]# cp -r zookeeper-3.4.6 /usr/local/solr-cloud/zookeeper03
在每个zookeeper目录下创建一个data目录。
[root@localhost ~]# mkdir /usr/local/solr-cloud/zookeeper01/data
[root@localhost ~]# mkdir /usr/local/solr-cloud/zookeeper02/data
[root@localhost ~]# mkdir /usr/local/solr-cloud/zookeeper03/data
在data目录下创建一个myid文件,文件名就叫做“myid”。内容就是每个实例的id。例如1、2、3
创建第一个
[root@localhost ~]# cd /usr/local/solr-cloud/zookeeper01/data
[root@localhost data]# echo 1 >> myid
[root@localhost data]# ll
total 4
-rw-r--r--. 1 root root 2 Apr 7 18:23 myid
[root@localhost data]# cat myid
1
第二第三
[root@localhost ~]# cd /usr/local/solr-cloud/zookeeper02/data
[root@localhost data]# echo 2 >> myid
[root@localhost ~]# cd /usr/local/solr-cloud/zookeeper03/data
[root@localhost data]# echo 3 >> myid
修改配置文件。把每一个zookeeper下的conf目录下的zoo_sample.cfg文件改名为zoo.cfg
[root@localhost conf]# mv zoo_sample.cfg zoo.cfg
在zookeeper01目录下的配置如下:(注意:配置的端口都不能冲突) 同理在zookeeper02 03下配置,注意端口不能冲突。
dataDir:data目录的路径
clientPort:客户端连接zookeeper端口
2881:3881内部通信端口与投票端口
如果你是公网服务器,需要这样配
server.1=0.0.0.0:2881:3881
server.2=0.0.0.0:2882:3882
server.3=0.0.0.0:2883:3883
开启所有使用的端口:
[root@localhost solr-cloud]# /sbin/iptables -I INPUT -p tcp --dport 3881 -j ACCEPT
[root@localhost solr-cloud]# /sbin/iptables -I INPUT -p tcp --dport 3882 -j ACCEPT
[root@localhost solr-cloud]# /sbin/iptables -I INPUT -p tcp --dport 3883 -j ACCEPT
[root@localhost solr-cloud]# /sbin/iptables -I INPUT -p tcp --dport 2881 -j ACCEPT
[root@localhost solr-cloud]# /sbin/iptables -I INPUT -p tcp --dport 2882 -j ACCEPT
[root@localhost solr-cloud]# /sbin/iptables -I INPUT -p tcp --dport 2883 -j ACCEPT
[root@localhost conf]# /sbin/iptables -I INPUT -p tcp --dport 2182 -j ACCEPT
[root@localhost conf]# /sbin/iptables -I INPUT -p tcp --dport 2183 -j ACCEPT
[root@localhost conf]# /sbin/iptables -I INPUT -p tcp --dport 2184 -j ACCEPT
[root@localhost conf]# /etc/rc.d/init.d/iptables save
[root@localhost conf]# /etc/rc.d/init.d/iptables restart
也可以直接关闭防火墙
临时关闭
[root@localhost bin]# service iptables stop
重启后永久关闭
[root@localhost bin]# chkconfig iptables off
如果是阿里云服务器还需要开启安全组
创建启动实例的批处理文件:在solr-cloud下创建,命令如下
[root@localhost solr-cloud]# vim zookeeper_start_all.sh
写入如下内容:
cd /usr/local/solr-cloud/zookeeper01/bin
./zkServer.sh start
cd /usr/local/solr-cloud/zookeeper02/bin
./zkServer.sh start
cd /usr/local/solr-cloud/zookeeper03/bin
./zkServer.sh start
按ESC
输入:wq保存
退出。
改成可执行权限:
[root@localhost solr-cloud]# chmod u+x zookeeper_start_all.sh
启动zookeeper实例
[root@localhost solr-cloud]# ./zookeeper_start_all.sh
可能出现的错误:
Starting zookeeper ... already running as process 17304.
删除对应无法启动zookeeper下的data目录下的.pid文件
查看zookeeper的状态:
[root@localhost solr-cloud]# zookeeper01/bin/zkServer.sh status
如果提示leader或者follower,说明安装成功
如果你的状态是:Mode: standalone。。就配错了。。八成是zoo.cfg文件server.1、server.2、server.3写错了。
查看集群状态
[root@localhost solr-cloud]# vim zookeeper_status_all.sh
cd /usr/local/solr-cloud/zookeeper01/bin
./zkServer.sh status
cd /usr/local/solr-cloud/zookeeper02/bin
./zkServer.sh status
cd /usr/local/solr-cloud/zookeeper03/bin
./zkServer.sh status
赋权限
[root@localhost solr-cloud]# chmod u+x zookeeper_status_all.sh
关闭集群
[root@localhost solr-cloud]# vim zookeeper_stop_all.sh
cd /usr/local/solr-cloud/zookeeper01/bin
./zkServer.sh stop
cd /usr/local/solr-cloud/zookeeper02/bin
./zkServer.sh stop
cd /usr/local/solr-cloud/zookeeper03/bin
./zkServer.sh stop
[root@localhost solr-cloud]# chmod u+x zookeeper_stop_all.sh
https://blog.csdn.net/pdsu161530247/article/details/81983688