zookeeper记录

关闭防火墙/SELinux

systemctl stop firewalld.service
systemctl disable firewalld.service
systemctl status firewalld.service
setenforce 0 # 临时

#永久关闭
#将SELINUX=enforcing改为SELINUX=disabled
#设置后需要重启才能生效
vi /etc/selinux/config

#查看
getenforce

安装zookeeper

本地模式安装部署
1.安装前准备
(1)安装 Jdk
https://blog.csdn.net/qq_44810930/article/details/115034305
(2)下载zookeeper
官网 https://zookeeper.apache.org
直接下载 https://mirrors.tuna.tsinghua.edu.cn/apache/zookeeper/zookeeper-3.6.2/apache-zookeeper-3.6.2-bin.tar.gz

zookeeper启动失败, 报错
Starting zookeeper ... FAILED TO START
解决
在官网上有两个tar.gz文件,从目前的最新版本3.5.5开始,
带有bin名称的包才是我们想要的下载可以直接使用的里面有编译后的二进制的包,
而之前的普通的tar.gz的包里面是只是源码的包无法直接使用。

(3)解压到指定目录

mkdir /opt/module
tar -zxvf apache-zookeeper-3.6.2-bin.tar.gz -C /opt/module/

2.配置修改
(1)将/opt/module/zookeeper-xxx/conf 这个路径下的 zoo_sample.cfg 修改为 zoo.cfg;
mv zoo_sample.cfg zoo.cfg
(2)打开 zoo.cfg 文件,修改 dataDir 路径:
vim zoo.cfg
修改如下内容:
dataDir=/opt/module/zookeeper-xxx/zkData

(3)在/opt/module/zookeeper-xxx/这个目录上创建 zkData 文件夹
mkdir zkData

3.操作 Zookeeper

(1)启动 Zookeeper
bin/zkServer.sh start
(2)查看进程是否启动
jps
4020 Jps
4001 QuorumPeerMain
(3)查看状态:
bin/zkServer.sh status
ZooKeeper JMX enabled by default
Using config: /opt/module/zookeeper3.4.10/bin/…/conf/zoo.cfg
Mode: standalone
(4)启动客户端:
bin/zkCli.sh
(5)退出客户端:
quit
(6)停止 Zookeeper
bin/zkServer.sh stop

2.2 配置参数解读

Zookeeper中的配置文件zoo.cfg中参数含义解读如下:
1.tickTime =2000:通信心跳数,Zookeeper 服务器与客户端心跳时间,单位毫秒
Zookeeper使用的基本时间,服务器之间或客户端与服务器之间维持心跳的时间间隔,
也就是每个tickTime时间就会发送一个心跳,时间单位为毫秒。
它用于心跳机制,并且设置最小的session超时时间为两倍心跳时间。(session的最小超
时时间是2*tickTime)
2.initLimit =10:LF 初始通信时限
集群中的Follower跟随者服务器与Leader领导者服务器之间初始连接时能容忍的最多心
跳数(tickTime的数量),用它来限定集群中的Zookeeper服务器连接到Leader的时限。
3.syncLimit =5:LF 同步通信时限
集群中Leader与Follower之间的最大响应时间单位,假如响应超过syncLimit *
tickTime,Leader认为Follwer死掉,从服务器列表中删除Follwer。
4.dataDir:数据文件目录+数据持久化路径
主要用于保存 Zookeeper 中的数据。
5.clientPort =2181:客户端连接端口
监听客户端连接的端口。


分布式安装部署

准备三台centos7
分别安装好zookeeper(1.解压 2.修改配置文件 3.创建数据目录zkData)

(2)在/opt/module/zookeeper-3.4.10/zkData 目录下创建一个 myid 的文件
vim myid
添加 myid 文件,注意一定要在 linux 里面创建,在 notepad++里面很可能乱码
在文件中添加与 server 对应的编号:
2

在其他机器上其它步骤相同, myId文件中的不同,第二台机器上是 3
第三台机器上是 4

(3)修改配置文件 zoo.cfg

增加如下配置
#######################cluster##########################
server.2=IP地址:2888:3888
server.3=IP地址:2888:3888
server.4=IP地址:2888:3888

每台机器都这样修改

(4)配置参数解读
server.A=B:C:D。
A 是一个数字,表示这个是第几号服务器;
集群模式下配置一个文件 myid,这个文件在 dataDir 目录下,这个文件里面有一个数据
就是 A 的值,Zookeeper 启动时读取此文件,拿到里面的数据与 zoo.cfg 里面的配置信息比
较从而判断到底是哪个 server。
B 是这个服务器的地址;
C 是这个服务器 Follower 与集群中的 Leader 服务器交换信息的端口;
D 是万一集群中的 Leader 服务器挂了,需要一个端口来重新进行选举,选出一个新的Leader,而这个端口就是用来执行选举时服务器相互通信的端口。


意外报错 在日志文件中 logs/zookeeper-root-server-xlgui.out ``
java.net.NoRoteToHostException: 没有找到主机的路由 (Host Method)

此时我已经关闭了防护墙和SELinux
半个小时我找到原因
我机器的启动顺序没有按照zoo.cfg中写好的顺序!!!

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值