Linux搭建zookeeper集群

zookeeper是一个分布式的,开放源码的分布式应用程序协调服务。

搭建zookeeper集群环境:3台CenterOs系统和zookeeper-3.5.2-alpha.tar.gz,和jdk-8u161-linux-x64.tar.gz

本次搭建的系统ip地址分别为:192.168.195.130,192.168.195.131,192.168.195.132.

1.安装jdk

1.1将jdk安装包拷贝到/usr/local/opensource目录下,进入到该目录下:

cd /usr/local/opensource

1.2使用解压命令对该文件进行解压,并将该解压文件解压到/usr/local目录下

tar -zxvf  jdk-8u161-linux-x64.tar.gz -C /usr/local

1.3修改解压后的jdk文件夹的名称:

mv  jdk-8u161-linux-x64 jdk1.8

1.4配置jdk环境变量:

vi /etc/profile

1.5在/etc/profile目录下添加

export JAVA_HOME=/usr/local/jdk1.8

expor tPATH=.:$JAVA_HOME/bin:$PATH

1.6重启服务:

source /etc/profile

2.安装zookeeper服务

2.1切换到 /usr/local/opensource目录下,对zookeeper-3.5.2-alpha.tar.gz安装包进行解压,解压后将该解压文件放置到/usr/local目录下:

tar -zxvf zookeeper-3.5.2-alpha.tar.gz -C /usr/local

2.2 修改该解压文件之后的文件夹名称

mv zookeeper-3.5.2-alpha zookeeper

2.3配置zookeeper环境变量,对/etc/profile文件进行编辑

vi /etc/profile

2.4 在profile文件中添加

export ZOOKEEPER_HOME=/usr/local/zookeeper

 export PATH=.:$ZOOKEEPER_HOME/bin:$PATH

2.5 切换到/usr/local/zookeeper/conf,将该文件夹中的,将 zoo_sample.cfg文件备份一份,备份名为zoo.cfg

cp zoo_sample.cfg zoo.cfg

2.6对zoo.cfg文件进行编辑

vi zoo.cfg

2.7在zoo.cfg中添加

2.7.1内存数据持久化地址:

dataDir=/usr/local/zookeeper/data

2.7.2 存放日志的地址

dataLogDir=/usr/local/zookeeper/log

2.7.3设置zookeeper的管理界面端口号

admin.serverPort =8888

2.7.4添加集群主机

server.0=192.168.195.130:2888:3888
server.1=192.168.195.131:2888:3888
server.2=192.168.195.132:2888:3888

2.8创建内存数据持久化目录

mkdir data

2.9进入到data目录下,创建myid文件,在myid添加指向的主机名

vi myid

myid中的值必须跟server.x一致。

2.10 启动zookeeper

2.10.1切换到zookeeper目录下的bin目录,输入启动命令

zkServer.sh start

2.10.2查看zookeeper启动状态

zkServer.sh status

当出现

3.问题阐述:

在部署zookeeper集群时候,当出现

问题出现的原因:由于将zookeeper对外访问的端口号从防火墙中排出掉,导致无法进行集群化,或者关闭防火墙。

可以查看防火墙的状态

 

systemctl status firewalld.service

关闭防火墙

 

systemctl stop firewalld.service

禁止开机的时候来启动我们的防火墙:

 

systemctl disable firewalld.service

假如关闭了防火墙还没有解决这个问题:

那么我们可以一步一步进行排除:

先从jdk的环境变量进行排除

再到zookeeper的配置,查看myid文件中的server与conf目录下的zoo.cfg目录下的主机是否配置,myid的值是zoo.cfg文件里定义的server.x项x的值,Zookeeper启动时会读取这个文件,拿到里面的数据与 zoo.cfg 里面的配置信息比较从而判断到底是那个server,只是一个标识作用。

server.x中的必须是一个唯一的值,不能相同。否则在集群的时候会出现那个问题.

 

 

 

 

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值