在CentOS上配置Zookeeper时,网络配置是一个关键步骤。以下是详细的配置步骤和注意事项:
编辑网络接口配置文件:
sudo vi /etc/sysconfig/network-scripts/ifcfg-eth0 确保配置文件包含以下内容:
BOOTPROTO=static IPADDR=192.168.1.100 NETMASK=255.255.255.0 GATEWAY=192.168.1.1 ONBOOT=yes 重启网络服务以应用配置:
sudo systemctl restart network 关闭防火墙和SELinux:
临时关闭防火墙和SELinux:
sudo systemctl stop firewalld sudo systemctl disable firewalld sudo setenforce 0 永久关闭SELinux:
sudo vi /etc/selinux/config 将SELINUX=enforcing改为SELINUX=disabled,然后重启服务器。
安装Java环境:
Zookeeper是基于Java开发的,因此需要安装Java环境:
sudo yum install java-1.8.0-openjdk-devel 下载并解压Zookeeper:
wget https://archive.apache.org/dist/zookeeper/zookeeper-3.4.14/zookeeper-3.4.14.tar.gz tar -zxvf zookeeper-3.4.14.tar.gz -C /usr/local/ 配置Zookeeper:
编辑zoo.cfg文件:
sudo vi /usr/local/zookeeper-3.4.14/conf/zoo.cfg 主要需要修改的配置项包括:
dataDir:数据目录路径,例如 /var/lib/zookeeper
clientPort:客户端连接端口,默认2181
server.x:集群节点的IP地址和端口号,例如:
server.1 192.168.1.100:2888:3888 server.2 192.168.1.101:2888:3888 server.3 192.168.1.102:2888:3888 创建数据目录:
sudo mkdir -p /var/lib/zookeeper 设置开机启动:
创建并编辑 zookeeper.service 文件:
sudo vi /etc/systemd/system/zookeeper.service 添加以下内容:
[Unit] Description=Zookeeper After=network.target [Service] Type=forking ExecStart=/usr/local/zookeeper-3.4.14/bin/zkServer.sh start ExecStop=/usr/local/zookeeper-3.4.14/bin/zkServer.sh stop PrivateTmp=true Environment=JAVA_HOME=/usr/local/java/jdk1.8.0_202 User=root Group=root PIDFile=/usr/local/zookeeper-3.4.14/data/zookeeper.pid Restart=always [Install] WantedBy=multi-user.target 重新加载systemd配置并启动Zookeeper服务:
sudo systemctl daemon-reload sudo systemctl start zookeeper sudo systemctl enable zookeeper 启动Zookeeper服务并验证其状态:
sudo systemctl start zookeeper sudo systemctl status zookeeper 使用telnet或其他工具验证Zookeeper是否正在监听指定的端口:
telnet localhost 2181