在CentOS上搭建Zookeeper集群需要以下步骤:
sudo setenforce 0。永久关闭:编辑 /etc/selinux/config,将 SELINUXenforcing 改为 SELINUXdisabled,然后重启服务器。java -versionsudo yum install java-1.8.0-openjdk-devel.x86_64 -ytar -zxvf zookeeper-x.x.x.tar.gz -C /usr/local//usr/local/ 目录下。配置环境变量:
/etc/profile 文件,追加以下内容:export JAVA_HOME=/usr/java/jdk1.8.0_111
export JRE_HOME=/usr/java/jdk1.8.0_111/jre
export PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib
export ZOOKEEPER_HOME=/usr/local/zookeeper-3.4.9
export PATH=$PATH:$ZOOKEEPER_HOME/bin
source /etc/profile配置Zookeeper:
cd /usr/local/zookeeper-3.4.9/confzoo_sample.cfg 文件并重命名为 zoo.cfg:cp zoo_sample.cfg zoo.cfgzoo.cfg 文件,设置以下参数:tickTime=2000
dataDir=/usr/local/zookeeper-3.4.9/data
clientPort=2181
initLimit=5
syncLimit=2
server.1 localhost:2888:3888
server.2 localhost:2889:3889
server.3 localhost:2890:3890
tickTime:Zookeeper的基本时间单位(以毫秒为单位)。dataDir:Zookeeper保存数据的目录。clientPort:客户端连接Zookeeper服务的端口。initLimit:初始化连接时最长能忍受的心跳时间间隔数。syncLimit:Leader与Follower之间进行心跳检测的最大延时时间。server.x:每个服务器的ID,格式为 server.IP地址:端口:端口。创建数据目录:
sudo mkdir /usr/local/zookeeper-3.4.9/data创建myid文件:
dataDir 目录下创建一个名为 myid 的文件,内容为该服务器的唯一ID(例如,Master节点的ID为1,Slave节点的ID为2)。启动Zookeeper服务:
./bin/zkServer.sh start验证启动情况:
./bin/zkServer.sh statussudo vi /etc/firewalld/rules.d/zookeeper.rulesport 2181 protocol tcp
allow in
sudo firewall-cmd --reloadsudo yum install zookeeper-clientzkClils /