Java中怎么搭建ZK集群
这期内容当中小编将会给大家带来有关Java中怎么搭建ZK集群,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。
(1)解压、安装、同步
我们已经在hadoop100上安装了zk,现在将解压包,分发到hadoop101和hadoop102服务器上,命令如下:
[root@hadoop100 dev]# xsync zookeeper-3.4.10/
同步以后分别到另外两台服务器opt/dev目录下查看,是否同步成功,并且同步的时候,由于我们做了免密登录,是不是不需要密码的。
(2)配置服务器
① 在/opt/module/zookeeper-3.4.10/这个目录下创建zkData(如果已经创建就不需要再次创建)
② 在/opt/dev/zookeeper-3.4.10/zkData下,创建一个myid的文件,如下:
[root@hadoop100 zkData]# touch myid
③ 编辑myid文件,在文件中添加与server对应的编号(从1开始)
[root@hadoop100 zkData]# vi myid
④ 添加后查看如下
⑤ 把文件同步到其他机器上
[root@hadoop100 zkData]# xsync myid
⑥ 分别修改hadoop101、hadoop102的myid的文件内容为2和3
⑦ 配置zoo.cfg文件,在单机安装时,我们已经改过名字并且修改了dataDir的路径,接下来只需增加如下配置:
#######################cluster##########################server.1=hadoop100:2888:3888server.2=hadoop101:2888:3888server.3=hadoop102:2888:3888
⑧ 同步zoo.cfg配置文件
[root@hadoop100 conf]# xsync zoo.cfg
参数解读:
server.A=B:C:D
A是一个数字,表示这个是第几号服务器;集群模式下配置一个文件myid,这个文件在dataDir目录下,这个文件里面有一个数据就是A的值,Zookeeper启动时读取此文件,拿到里面的数据与zoo.cfg里面的配置信息比较从而判断到底是哪个server。
B是这个服务器的ip地址
C是这个服务器与集群中的Leader服务器交换信息的端口
D是万一集群中的Leader服务器挂了,需要一个端口来重新进行选举,选出一个新的Leader,而这个端口就是用来执行选举时服务器相互通信的端口
(3)集群启动
注意:一定要关闭防火墙哦
① 启动三台服务器的ZK,命令如下:
[root@hadoop100 zookeeper-3.4.10]# bin/zkServer.sh start[root@hadoop101 zookeeper-3.4.10]# bin/zkServer.sh start[root@hadoop102 zookeeper-3.4.10]# bin/zkServer.sh start
② 查看状态
[root@hadoop100 bin]# ./zkServer.sh statusZooKeeper JMX enabled by defaultUsing config: /opt/dev/zookeeper-3.4.10/bin/../conf/zoo.cfgMode: follower(跟随者)
[root@hadoop101 bin]# ./zkServer.sh statusZooKeeper JMX enabled by defaultUsing config: /opt/dev/zookeeper-3.4.10/bin/../conf/zoo.cfgMode: follower(跟随者)
[root@hadoop102 bin]# ./zkServer.sh statusZooKeeper JMX enabled by defaultUsing config: /opt/dev/zookeeper-3.4.10/bin/../conf/zoo.cfgMode: leader(选举产生的leader)
附:客户端命令行操作
上述就是小编为大家分享的Java中怎么搭建ZK集群了,如果刚好有类似的疑惑,不妨参照上述分析进行理解。如果想知道更多相关知识,欢迎关注行业资讯频道。