kafka---- zookeeper集群搭建

1.准备工作:
##准备3个节点,要求配置好主机名称,服务器之间系统时间保持一致
##注意/etc/hostname 和/etc/hosts 配置主机名称(在这个里我准备Prac-zk-133, Prac-zk-134 , Prac-zk-135二节点)
vim  /etc/hosts #保证可以通过主机名互通 添加格式为IP  主机名称
## 比如
172.16.144.133 Prac-zk-133
172.16.144.134 Prac-zk-134
172.16.144.135 Prac-zk-135
## 测试
ping ip 
ping 主机名
##注意关闭防火墙
# 1. 启动防火墙
systemctl start firewalld
# 2.  关闭防火墙
systemctl stop firewalld
# 3. 重启防火墙
systemctl restart firewalld
# 4.查看防火墙状态
systemctl status firewalld
# 5. 开启禁用的防火墙
systemctl disable firewalld

##特别注意以下操作3个节点要同时进行操作哦!
2.上传zk到三台服务器节点
## 复制到其他机器 暂时测试不好用
#scp zookeeper-3.4. 6. tar.gz 192. 168.11.222: /usr/local /software/ 
## 上传到/usr/local/software
cd /usr/local/software
##注意我这里解压到/usr/local下
## 2.1进行解压: 
tar -zxvf  zookeeper-3.4.6.tar.gz -C /usr/local/
cd /usr/local/
# 2.2重命名: 
mv zookeeper-3.4.6 zookeeper
# 2.3修改环境变量:
vim ~/.bash_profile 

##这里要添加zookeeper的全局变量 jdk如果不会装,可以看之前文章
export JAVA_HOME=/usr/local/jdk1.8
export ZOOKEEPER_HOME=/usr/local/zookeeper
export PATH=.:$JAVA_HOME/bin:$ZOOKEEPER_HOME/bin:$PATH

## 2.4刷新环境变量:
source  ~/.bash_profile  

# 2.5到zookeeper 下修改配置文件:
# 2.5.1首先到指定目录: 
cd /usr/local/zookeeper/conf
# 2.5.2然后复制zoo_sample.cfg文件, 复制后为zoo.cfg:
mv zoo_sample.cfg zoo.cfg
# 2.5.3然后修改两处地方,最后保存退出:
vim /usr/local/zookeeper/conf/zoo.cfg
# (1)修改数据的dir 存储数据的地方
dataDir=/usr/local/zookeeper/data

# (2) 修改集群地址
server.0=Prac-zk-133:2888:3888
server.1=Prac-zk-134:2888:3888
server.2=Prac-zk-135:2888:3888


## 2.5.4 增加服务器标识配置,需要2步骤,第一是创建文件夹和文件, 第二是添加配置内容:
# (1)创建文件夹: 
mkdir /usr/local/zookeeper/data
# (2)创建文件myid路径应该创建在/usr/local/zookeeper/data 下面,如下:
vim /usr/local/zookeeper/data/myid
# 注意这里每台服务 器的myid文件内容不同,分别修改里面的值为0, 1, 2;与我们之前的zoo.cfg配置文件里:
# server.0, server.1, server.2 顺序相对应,然后保存退出;
# 2.7到此为止,Zookeeper集群环境大功告成!启动zookeeper命令
启动路径: cd /usr/local/zookeeper/bin (也可在任意目录,因为配置了环境变量)
执行命令: zkServer.sh start (注意这里3台机器都要进行启动,启动之后可以查看状态)
./zkServer.sh start-foreground   # 有日志的打印的启动
查看状态: zkServer.sh status (在三个节点上检验zk的mode,会看到一个leader和俩个 follower)
关闭 : zkServer.sh stop
## zkCli.sh进入zookeeper客户端
Hostname Ip Root
Prac-zk-133 172.16.144.133 root
Prac-zk-134 172.16.144.134 root
Prac-zk-135 172.16.144.135 root

172.16.144.133 Prac-zk-133
172.16.144.134 Prac-zk-134
172.16.144.135 Prac-zk-135

zkServer.sh start-foreground 使用它启动会出现地址已在使用

Zookeeper启动失败(java.net.BindException: 地址已在使用

端口被占用了,把2181端口改成别的就可以

lsof -i:2181 #查到进程
kill -s 9 2715 #然后杀掉上面的进程

如果只是使用zkServer.sh stop会停不干净,后续继续研究,方法在上

zoo.cfg配置说明
tickTime : 时间单位
initLimit follower与leader 同步数据的时间(initLimit*tickTime))
Synclimit 心跳检测最大延迟时间。
dataDir 默认情况下,zookeeper的事务日志 和 数据快照 都会保存在 dataDir 目录下.
dataLogDir log日志存储目录,默认dataDir下
clientPort 客户端与服务端建立连接的端口号,默认2181

猜你喜欢

转载自blog.csdn.net/weixin_39213232/article/details/132572107