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
标签:bin,tar,二进制,zookeeper,etc,集群,apache,home From: https://www.cnblogs.com/Direction-of-efforts/p/18107097