三、部署独立的 Zookeeper 3.4.5

  1、先在solr1.jyga.com主机上部署zookeeper

  2、将下载的 zookeeper-3.4.5.tar.gz 包解压缩至 /media/solr/app/zookeeper 目录下。

  3、创建 zookeeper 的数据存储目录和日志存储目录

[root@solr1 桌面]# mkdir /media/solr/data/zookeeper
[root@solr2 桌面]# mkdir /media/solr/data/zookeeper/data
[root@solr3 桌面]# mkdir /media/solr/data/zookeeper/logs
  4、根据 Zookeeper 的 conf 目录下的zoo_sample.cfg 文件复制一份为 zoo.cfg ,然后修改 zoo.cfg 文件

tickTime=2000

initLimit=10

syncLimit=5

dataDir=/media/solr/data/zookeeper/data    #修改为相应的位置,Zookeeper数据存储目录
dataLogDir=/media/solr/data/zookeeper/logs   #此行为添加行,Zookeeper日志存储目录

connect
clientPort=2181           #Zookeeper的客户端连接端口,建议不要修改

server.1=solr1.jyga.com:2888:3888          
server.2=solr2.jyga.com:2888:3888
server.3=solr3.jyga.com:2888:3888
server.4=solr4.jyga.com:2888:3888
server.5=solr5.jyga.com:2888:3888

  server.1=solr1.jyga.com:2888:3888 这行的书写格式为 server.N=YYY:A:B

  其中N为Zookeeper的主机编号,这里的主机编号只要能跟下面的myid文件中的编号对应即可;YYY为主机的域名或主机名或者IP地址;A为LF通信端口,表示该服务器与集群中的leader交换的信息的端口;B为选举端口,表示选举新leader时服务器间相互通信的端口(当leader挂掉时,其余服务器会相互通信,选择出新的leader)。

  5、在 /media/solr/data/zookeeper/data 下面创建一个 myid 文件,内容为主机对应的编号

[root@solr1 桌面]# echo "1" >> /media/solr/data/zookeeper/data/myid
  6、将已配置好的 Zookeeper 相关文件复制到其它4台主机

[root@solr1 桌面]# scp -r /media/solr/app/zookeeper root@solr2.jyga.com:/media/solr/app/zookeeper
[root@solr1 桌面]# scp -r /media/solr/data/zookeeper root@solr2.jyga.com:/media/solr/data/zookeeper
[root@solr1 桌面]# scp -r /media/solr/app/zookeeper root@solr3.jyga.com:/media/solr/app/zookeeper
[root@solr1 桌面]# scp -r /media/solr/data/zookeeper root@solr3.jyga.com:/media/solr/data/zookeeper
[root@solr1 桌面]# scp -r /media/solr/app/zookeeper root@solr4.jyga.com:/media/solr/app/zookeeper
[root@solr1 桌面]# scp -r /media/solr/data/zookeeper root@solr4.jyga.com:/media/solr/data/zookeeper
[root@solr1 桌面]# scp -r /media/solr/app/zookeeper root@solr5.jyga.com:/media/solr/app/zookeeper
[root@solr1 桌面]# scp -r /media/solr/data/zookeeper root@solr5.jyga.com:/media/solr/data/zookeeper
  7、通过 SSH 登录到其它主机,删除对应的 myid 文件,并根据主机对应的编号重新生成 myid 文件
[root@solr1 桌面]# ssh root@solr2.jyga.com
root@solr2.jyga.com's password:    <在此输入solr2主机的root帐户的密码,建议所有主机的密码设置成一样的>
[root@solr2 ~]# rm /media/solr/data/zookeeper/data/myid
rm:是否删除普通文件 "/media/solr/data/zookeeper/data/myid"? y
[root@solr2 ~]# echo "2" >> /media/solr/data/zookeeper/data/myid
[root@solr2 ~]# ssh root@solr3.jyga.com
root@solr3.jyga.com's password:    
[root@solr3 ~]# rm /media/solr/data/zookeeper/data/myid
rm:是否删除普通文件 "/media/solr/data/zookeeper/data/myid"? y
[root@solr3 ~]# echo "3" >> /media/solr/data/zookeeper/data/myid
[root@solr3 ~]# ssh root@solr4.jyga.com
root@solr4.jyga.com's password:    
[root@solr4 ~]# rm /media/solr/data/zookeeper/data/myid
rm:是否删除普通文件 "/media/solr/data/zookeeper/data/myid"? y
[root@solr4 ~]# echo "4" >> /media/solr/data/zookeeper/data/myid
[root@solr4 ~]# ssh root@solr5.jyga.com
root@solr5.jyga.com's password:    
[root@solr5 ~]# rm /media/solr/data/zookeeper/data/myid
rm:是否删除普通文件 "/media/solr/data/zookeeper/data/myid"? y
[root@solr5 ~]# echo "5" >> /media/solr/data/zookeeper/data/myid

  8、登录到不同的主机启动 zookeeper

[root@solr1 桌面]# /media/solr/app/zookeeper/bin/zkServer.sh start
[root@solr2 ~]# /media/solr/app/zookeeper/bin/zkServer.sh start
[root@solr3 ~]# /media/solr/app/zookeeper/bin/zkServer.sh start
[root@solr4 ~]# /media/solr/app/zookeeper/bin/zkServer.sh start
[root@solr5 ~]# /media/solr/app/zookeeper/bin/zkServer.sh start
  9、查看 zookeeper 的运行状态(注意,当只启动所有节点数的一半节点的 Zookeeper 服务的时候,会出现运行错误的提示。要确定 Zookeeper 是否已经运行,可以使用 netstat -tnl 命令看一下有没有2188和3888端口)

[root@solr1 桌面]# /media/solr/app/zookeeper/bin/zkServer.sh status
JMX enabled by default
Using config: /media/solr/app/zookeeper/bin/../conf/zoo.cfg
Mode: follower
  当看到Mode为follower或leader时,表明 Zookeeper 集群已经开始运行,并自动选举出了 leader 节点以及 follower 节点,此时可以用 zookeeper 的 zkCli.sh连接到集群中用 ls / 命令查看 zookeeper 中节点下的 Node 信息。

[root@solr1 桌面]# /media/solr/app/zookeeper/bin/zkCli.sh -server solr1.jyga.com:2181
........ <这里省略连接后出现的相关提示信息>
[zk: solr1.jyga.com:2181(CONNECTED) 0] ls /
[zookeeper, overseer, overseer_elect]
  10、如果在实际环境中防火墙必须为打开状态的话,需要将 Zookeeper 运行涉及的端口加入防火墙设置。修改 /etc/sysconfig/iptables 文件,在COMMIT前面加入以下几行

-A RH-Firewall-1-INPUT -p tcp -m tcp --dport 2181 -j ACCEPT
-A RH-Firewall-1-INPUT -p tcp -m tcp --dport 2888 -j ACCEPT
-A RH-Firewall-1-INPUT -p tcp -m tcp --dport 3888 -j ACCEPT




Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐