二进制部署zookeeper集群

zookeeper

eks-zk-kafka001 10.0.0.41
eks-zk-kafka002 10.0.0.42
eks-zk-kafka003 10.0.0.43

初始化单机环境

#关闭防火墙
systemctl disable --now firewalld 
systemctl disable --now dnsmasq
systemctl disable --now NetworkManager

#关闭selinux
setenforce 0
sed -i 's#SELINUX=enforcing#SELINUX=disabled#g' /etc/sysconfig/selinux
sed -i 's#SELINUX=enforcing#SELINUX=disabled#g' /etc/selinux/config

#关闭swap分区,fstab注释swap
swapoff -a && sysctl -w vm.swappiness=0
sed -ri '/^[^#]*swap/s@^@#@' /etc/fstab

#同步机器时间
安装ntpdate
rpm -ivh http://mirrors.wlnmp.com/centos/wlnmp-release-centos.noarch.rpm
yum install ntpdate -y

所有节点同步时间。时间同步配置如下:
ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
echo 'Asia/Shanghai' >/etc/timezone
ntpdate time2.aliyun.com
# 加入到crontab
*/5 * * * * /usr/sbin/ntpdate time2.aliyun.com

ulimit -SHn 65535

vim /etc/security/limits.conf
# 末尾添加如下内容
* soft nofile 65536
* hard nofile 131072
* soft nproc 65535
* hard nproc 655350
* soft memlock unlimited
* hard memlock unlimited 

部署zookeeper

一,部署依赖jdk

下载地址:https://www.oracle.com/java/technologies/downloads/

#创建目录
mkdir /home/work
#把tar包解压到数据目录
tar -xvf jdk-21_linux-x64_bin.tar.gz -C /home/work/
#修改目录名字
mv jdk-21.0.2 jdk
#创建环境变量脚本
cat > /etc/profile/jdk.sh << EOF
#/bin/bash
JAVA_HOME=/home/work/jdk
PATH=$PATH:$JAVA_HOME/bin
EOF
#给脚本执行权限
chmod +x /etc/profile/jdk.sh  && source /etc/profile/jdk.sh
#检查是否生效
java --version

 

二,部署zookeeper

下载地址:https://zookeeper.apache.org/releases.html

#下载包
wget https://www.apache.org/dyn/closer.lua/zookeeper/zookeeper-3.8.4/apache-zookeeper-3.8.4-bin.tar.gz
#把包解压到指定目录
tar -xvf apache-zookeeper-3.8.4-bin.tar.gz -C /home/work  mv apache-zookeeper-3.8.4-bin && mv apache-zookeeper-3.8.4-bin zookeeper
#设置环境变量
cat > /etc/profile.d/zookeeper.sh << EOF
#!/bin/bash
ZK_HOME=/home/work/zookeeper/
PATH=$PATH:$ZK_HOME/bin
EOF
#生效环境变量
chmod +x /etc/profile.d/zookeeper.sh && source /etc/profile.d/zookeeper.sh
#修改配置
cp conf/zoo_sample.cfg conf/zoo.cfg
cat conf/zoo.cfg 
tickTime=2000 # 用于计算时间单位的基本时间(以毫秒为单位)
initLimit=50 # ZooKeeper启动时可以连接到Leader的时间限制(以tickTime的数量为单位)
syncLimit=30 # Leader和Follower之间的最大同步时间(以tickTime的数量为单位)
dataDir=/home/work/zookeeper/data/zookeeper # 存储 ZooKeeper 服务器数据的目录
clientPort=2181 # 客户端连接的端口号
dataLogDir=/home/work/zookeeper/logs # 存储 ZooKeeper 事务日志的目录
maxClientCnxns=0 # 单个客户端的最大连接数,0 表示不限制
snapCount=200000 # 在将事务日志截断为快照之前允许的事务数
socketLimit=10000 # 服务器套接字连接的最大数目
sessionLimit=50000 # ZooKeeper服务器支持的最大会话数目
maxbuffer=10485759 # 最大缓冲大小
server.1=zk-kafka001:2888:3888 # ZooKeeper 服务器1的地址和端口
server.2=zk-kafka002:2888:3888 # ZooKeeper 服务器2的地址和端口
server.3=zk-kafka003:2888:3888 # ZooKeeper 服务器3的地址和端口

三台机器都配置好,之后启动服务

bin/zkServer.sh start

检查是否启动正常

#查看命令
bin/zkServer.sh status 

ZooKeeper JMX enabled by default
Using config: /home/work/zookeeper/zookeeper/bin/../conf/zoo.cfg
Client port found: 2181. Client address: localhost. Client SSL: false.
Mode: follower

#查看进程
ps -ef | grep /home/work/zookeeper/zookeeper| grep -v grep

 

posted @ 2024-03-31 18:56  百因必有果  阅读(69)  评论(0编辑  收藏  举报