Zookeeper——集群环境搭建

        最近在看《从Paxos到Zookeeper分布式一致性原理与实践》这本书,项目中要用Zookeeper来做集群,先来记录一下集群环境的搭建。

1、我们准备三台互相联网的Linux机器;(可以用VM创建3台虚拟机,系统镜像使用Centos7)

      CentOS7镜像下载地址:http://mirrors.aliyun.com/centos/7/isos/x86_64/CentOS-7-x86_64-DVD-2003.iso

附:VM安装后,网络适配器一般默认为NAT模式,如果创建的虚拟机不能联网,可以输入命令

vi /etc/sysconfig/network-scripts/ifcfg-ens33 对配置文件进行编辑,将ONBOOT=no改为ONBOOT=yes,点击Esc,输入:wq!保存退出。如图

这里的ens33为网卡,可以使用ip addr或ifconfig来查看自己网卡,如图是我的虚拟机网卡

2、由于Zookeeper基于Java开发,所以需要安装Java运行环境;

      下载地址:https://www.oracle.com/java/technologies/javase/javase-jdk8-downloads.html

这里选择Java8 linux 64位压缩包下载

配置好Java环境变量

vi /etc/profile 在最后加入

#JDK全局环境变量配置
export JAVA_HOME=/opt/jdk1.8.0_251
export CLASSPATH=$:CLASSPATH:$JAVA_HOME/lib/
export PATH=$PATH:$JAVA_HOME/bin

点击Esc,输入:wq!保存退出;

使用命令source /etc/profile使环境变量即刻生效;键入java可查看是否配置成功,如图

3、下载Zookeeper安装包

      下载地址:https://mirror.bit.edu.cn/apache/zookeeper/zookeeper-3.6.1/apache-zookeeper-3.6.1-bin.tar.gz

这里我用的3.6.1版本(截止2020年6月份最新的稳定版本),下载后解压,这里我解压到/opt/apache-zookeeper-3.6.1-bin目录。

我们进入cd /opt/apache-zookeeper-3.6.1-bin/conf/目录将zoo_sample.cfg文件重命名为zoo.cfg,并按如下配置做简单修改

tickTime=2000
initLimit=5
syncLimit=2
dataDir=/var/lib/zookeeper
clientPort=2181
#分别对应三台服务器,server.1,server.2,server.3,这里的数字需要在dataDir目录下创建一个名为myid的文件,在该文件第一行写上一个数字,与这里的1,2,3对应。id的范围为1-255. IP对应三台服务器IP
server.1=192.168.25.128:2888:3888
server.2=192.168.25.129:2888:3888
server.3=192.168.25.130:2888:3888

对另外两台机器做同样配置即刻。

注意:myid文件中数字必须与zoo.cfg中配置的编号对应。

这里我们的机器一myid内容为数字1,机器二myid内容为数字2,机器三myid内容为数字3。

至此,我们的基本配置完毕,可以使用zkServer.sh来启动Zookeeper。如下:

[root@localhost bin]# ./zkServer.sh start
ZooKeeper JMX enabled by default
Using config: /opt/apache-zookeeper-3.6.1-bin/bin/../conf/zoo.cfg
Starting zookeeper ... STARTED

4、验证服务启动是否正常。

使用telnet连接到2181端口,如下:

[root@localhost bin]# telnet 127.0.0.1 2181
Trying 127.0.0.1...
Connected to 127.0.0.1.
Escape character is '^]'.

而后键入 stat 查看状态:

stat
Zookeeper version: 3.6.1--104dcb3e3fb464b30c5186d229e00af9f332524b, built on 04/21/2020 15:01 GMT
Clients:
 /127.0.0.1:49786[0](queued=0,recved=1,sent=0)

Latency min/avg/max: 0/0.0/0
Received: 1
Sent: 0
Connections: 1
Outstanding: 0
Zxid: 0x300000000
Mode: follower
Node count: 5
Connection closed by foreign host.

输出以上信息,意味着我们的服务启动正常了。

注意:如果输入stat出现如下提示,说明你只启动了一台服务器的Zookeeper,未组成集群

stat
This ZooKeeper instance is not currently serving requests

另外若telnet命令未安装,可使用yum install telnet来安装telnet客户端。

结束。

 

如果电脑配置不是很好的话,Zookeeper提供单机模式,一般开发测试环境我们可以用一台机器来运行Zookeeper,这里我们只需要将zoo.cfg文件做如下修改重启ZK即可。

tickTime=2000
initLimit=5
syncLimit=2
dataDir=/var/lib/zookeeper
clientPort=2181
server.1=192.168.25.128:2888:3888

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值