主机:10.10.10.66、10.10.10.67、10.10.10.68
用户:root
服务器配置
关闭防火墙
setenforce 0
sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config
systemctl stop firewalld
systemctl disable firewalld
配置内核参数
cat >> /etc/sysctl.conf <<EOF
#define
net.ipv4.tcp_syncookies = 1
fs.file-max = 1000000
vm.swappiness=10
net.ipv4.tcp_fin_timeout = 30
net.ipv4.tcp_keepalive_time = 120
net.ipv4.tcp_tw_reuse = 1
net.ipv4.tcp_timestamps = 1
net.ipv4.tcp_tw_recycle = 0
net.ipv4.tcp_max_tw_buckets = 20000
net.ipv4.tcp_max_syn_backlog = 8096
net.ipv4.ip_local_port_range = 1024 65000 # not for k8s
EOF
/sbin/sysctl -p
Limit参数
cat >>/etc/security/limits.conf<<EOF
root soft nproc 65535
root hard nproc 65535
root soft nofile 65535
root hard nofile 65535
* soft nproc 65535
* hard nproc 65535
* soft nofile 65535
* hard nofile 65535
EOF
sed -i 's/4096/65535/' /etc/security/limits.d/20-nproc.conf
配置YUM源
vi /etc/yum.repos.d/epel.repo
[base]
name=CentOS-$releasever-Base-mirrors.trinasolar.com
failovermethod=priority
baseurl=http://mirrors.trinasolar.com/centos/$releasever/os/$basearch/
gpgcheck=1
gpgkey=http://mirrors.trinasolar.com/centos/RPM-GPG-KEY-CentOS-7
[updates]
name=CentOS-$releasever-Updates-mirrors.trinasolar.com
failovermethod=priority
baseurl=http://mirrors.trinasolar.com/centos/$releasever/updates/$basearch/
gpgcheck=1
gpgkey=http://mirrors.trinasolar.com/centos/RPM-GPG-KEY-CentOS-7
安装Linux工具
yum install -y sysstat-*x86_64
yum install -y unzip
yum install -y gzip
yum install -y zip
yum install -y tar
yum install -y wget
yum install -y lrzsz
yum install -y twm
yum install -y xterm
yum install -y xhost
yum install -y pixman
yum install -y pixman-devel
yum install -y libXfont
yum install -y fio
yum install -y ntp
yum install -y telnet
yum install -y bc
yum install -y dos2unix
yum install -y net-tools
yum install -y iperf
yum install -y iftop
yum install -y iotop
yum install -y psmisc
yum install -y lsof
yum install -y nethogs
yum install -y htop
yum install -y wget
修改主机名
hostnamectl --static set-hostname testpg01
cat >> /etc/hosts << EOF
10.10.10.66 testng01
10.10.10.67 testng02
10.10.10.68 testzk01
EOF
创建主机用户
useradd zookeeper && echo 'Zookeeper#2024' | passwd --stdin zookeeper
sed -i 'N;100a\zookeeper ALL=(ALL) ALL' /etc/sudoers
chage -M 99999 zookeeper
部署zookeeper
创建目录
创建zookeeper文件夹
mkdir /data/zookeeper
mkdir /data/zookeeper/data
mkdir /data/zookeeper/datalog
mkdir /data/soft
chown zookeeper.zookeeper /data/zookeeper -R
文件传输
将zookeeper文件上传到/data/zookeeper
mv /tmp/apache-zookeeper-3.6.3-bin.tar.gz /data/soft/
mv /tmp/jdk-11.0.11_linux-x64_bin.rpm /data/soft/
JDK安装
rpm -ivh /data/soft/jdk-11.0.11_linux-x64_bin.rpm
或者
yum localinstall /data/soft/jdk-11.0.11_linux-x64_bin.rpm -y
配置环境变量
cat > /etc/profile.d/jdk.sh <<EOF
export JAVA_HOME=/usr/java/jdk-11.0.11
export JRE_HOME=/usr/java/jdk-11.0.11/jre
export CLASSPATH=.:\$JAVA_HOME/lib/dt.jar:\$JAVA_HOME/lib/tools.jar:\$JRE_HOME/lib:\$CLASSPATH
export PATH=\$JAVA_HOME/bin:\$PATH
EOF
生效环境变量
source /etc/profile.d/jdk.sh
版本验证
java -version
解压zookeeper
cd /data/soft/
tar -zxvf apache-zookeeper-3.6.3-bin.tar.gz
安装
mv apache-zookeeper-3.6.3-bin /data/zookeeper/ && cd /data/zookeeper/
chown zookeeper.zookeeper /data/zookeeper -R
配置myid
在/data/zookeeper/data/下创建myid文件, 对应服务器id 第一台为1 第二台位2以此类推
echo '1' > /data/zookeeper/data/myid
echo '2' > /data/zookeeper/data/myid
echo '3' > /data/zookeeper/data/myid
配置zoo.cfg
在/data/zookeeper/apache-zookeeper-3.6.3-bin/conf下创建zoo.cfg文件
cd /data/zookeeper/apache-zookeeper-3.6.3-bin/conf
cp zoo_sample.cfg zoo.cfg
cat > zoo.cfg << EOF
tickTime=2000
initLimit=5
syncLimit=2
dataDir=/data/zookeeper/data
dataLogDir=/data/zookeeper/datalog
clientPort=2181
maxClientCnxns=60
autopurge.snapRetainCount=3
autopurge.purgeInterval=0
autopurge.snapRetainCount=3
admin.enableServer=true
standaloneEnabled=false
quorumListenOnALLIPs=true
server.1=10.10.10.68:2888:3888
server.2=10.10.10.66:2888:3888
server.3=10.10.10.67:2888:3888
EOF
修改log4j.properties
vi log4j.properties
zookeeper.log.maxfilesize=60MB
zookeeper.log.maxbackupindex=10
配置zookeeper服务
cat > /usr/lib/systemd/system/zookeeper.service <<EOF
[Unit]
Description=zookeeper.service
After=network.target
[Service]
User=zookeeper
Group=zookeeper
Type=forking
Environment=JAVA_HOME=/usr/java/jdk-11.0.11
ExecStart=/data/zookeeper/apache-zookeeper-3.6.3-bin/bin/zkServer.sh start
ExecStop=/data/zookeeper/apache-zookeeper-3.6.3-bin/bin/zkServer.sh stop
ExecReload=/data/zookeeper/apache-zookeeper-3.6.3-bin/bin/zkServer.sh restart
[Install]
WantedBy=multi-user.target
EOF
zookeeper运维
systemctl daemon-reload
systemctl enable zookeeper
systemctl start zookeeper
systemctl restart zookeeper
systemctl stop zookeeper
systemctl status zookeeper