温馨提示×

Zookeeper在CentOS上的网络设置如何进行

小樊
72
2025-06-18 17:22:03
栏目: 智能运维

在CentOS上配置Zookeeper的网络设置涉及多个步骤,包括网络配置、Zookeeper安装与配置、以及集群节点设置等。以下是详细的步骤指南:

网络配置

  1. 确认网卡名称: 使用 ip aifconfig 查看当前网卡名称(如 ens33ens32)。

  2. 关闭防火墙和SELinux(测试环境推荐操作):

  • 关闭防火墙:
    sudo systemctl stop firewalld
    sudo systemctl disable firewalld
    
  • 临时关闭SELinux:
    sudo sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config
    sudo setenforce 0
    
  • 永久关闭SELinux:
    sudo vi /etc/selinux/config
    
    SELINUX=enforcing 改为 SELINUX=disabled,然后重启服务器。
  1. 静态IP配置(生产环境推荐):
  • 修改网卡配置文件路径:/etc/sysconfig/network-scripts/ifcfg-ens33(根据实际网卡名称调整)。
  • 关键参数示例:
    BOOTPROTO=static
    ONBOOT=yes
    IPADDR=192.168.1.100
    NETMASK=255.255.255.0
    GATEWAY=192.168.1.1
    DNS1=8.8.8.8
    DNS2=114.114.114.114
    
  • 重启网络服务:
    sudo systemctl restart network
    
  1. 动态IP配置(开发测试环境):
  • 简化配置仅保留必要参数:
    BOOTPROTO=dhcp
    ONBOOT=yes
    
  • 若网卡未启动,需手动激活:
    sudo ifup ens33
    
  1. 多网卡与特殊场景配置
  • 多IP地址绑定使用 ifconfig 临时添加:
    sudo ifconfig ens33:0 192.168.1.101 netmask 255.255.255.0
    
  • 永久配置需创建新配置文件(如 ifcfg-ens33:0)。
  • NAT模式网络优化确保虚拟网络编辑器中的网关与配置文件一致。
  • 验证虚拟机与宿主机的双向连通性:
    ping 宿主IP
    ping 虚拟机IP
    
  1. 验证网络配置
  • 基础验证:
    ping www.baidu.com
    ip route show
    cat /etc/resolv.conf
    

Zookeeper安装与配置

  1. 安装Java环境: Zookeeper依赖JDK才能运行,所以安装Zookeeper之前,必须先安装JDK。
sudo yum install java-1.8.0-openjdk-devel
  1. 下载并解压Zookeeper: 从Apache Zookeeper的官方网站下载所需版本的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/
  1. 配置Zookeeper: 进入解压后的Zookeeper目录,复制并修改 zoo_sample.cfg 配置文件为 zoo.cfg
cd /usr/local/zookeeper-3.4.14
sudo cp zoo_sample.cfg zoo.cfg
sudo vi zoo.cfg

主要需要修改的配置项包括:

  • dataDir:数据目录。
  • clientPort:客户端连接端口,默认是2181。
  • tickTime:Zookeeper的基本时间单位(以毫秒为单位)。
  • initLimit:初始化连接时最长能忍受的心跳时间间隔数。
  • syncLimit:Leader与Follower之间发送消息、请求和应答时间长度。

示例配置:

tickTime 2000
dataDir /usr/local/zookeeper/data
clientPort 2181
initLimit 10
syncLimit 5

server.1 192.168.0.11:2888:3888
server.2 192.168.0.12:2888:3888
server.3 192.168.0.13:2888:3888
  1. 创建myid文件: 在每台服务器的 data 目录下创建一个名为 myid 的文件,文件内容为本机的编号(例如:1、2、3)。
mkdir -p /var/lib/zookeeper/myid
echo "1" > /var/lib/zookeeper/myid  # 这里的数字应该与server.x中的x一致
  1. 创建并编辑 zookeeper.service 文件: 创建并编辑 /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/data/zookeeper.pid
Restart=always

[Install]
WantedBy=multi-user.target
  1. 添加可执行权限并注册为系统服务
sudo chmod +x /etc/systemd/system/zookeeper.service
sudo chkconfig --add zookeeper
sudo chkconfig zookeeper on
  1. 启动和验证Zookeeper: 启动Zookeeper服务:
sudo systemctl start zookeeper

验证Zookeeper状态:

sudo systemctl status zookeeper

或使用:

/usr/local/zookeeper-3.4.14/bin/zkServer.sh status

通过以上步骤,你就可以在CentOS上成功配置Zookeeper的网络设置,确保其在分布式环境中的稳定运行。

0