Hello! 欢迎来到小浪云!


centos zookeeper配置步骤


centos系统上部署zookeeper集群,步骤如下:

准备阶段:

  1. 服务器准备: 至少需要三台服务器,分别作为Leader (主节点) 和两个Follower (从节点)。确保服务器之间网络互通。

  2. SELinux (可选,但推荐): 为了避免权限问题,建议禁用SELinux

    • 临时禁用: sudo setenforce 0
    • 永久禁用: 编辑 /etc/selinux/config 文件,将 SELinux=enforcing 修改为 SELINUX=disabled,然后重启服务器。
  3. Java环境:

    • 检查Java版本: java -version (确保安装了Java 8或更高版本)
    • 安装OpenJDK (如果未安装): sudo yum install java-1.8.0-openjdk-devel (版本号可能需要根据实际情况调整)
  4. zookeeper安装与解压:

    • apache ZooKeeper官方网站下载适合centos的版本。
    • 解压下载的压缩包 (例如 zookeeper-x.x.x.tar.gz): tar -zxvf zookeeper-x.x.x.tar.gz
    • 建议将解压后的文件放置在 /usr/local 目录下。

ZooKeeper配置:

  1. 环境变量:

    • 编辑 /etc/profile 文件,添加以下环境变量 (根据实际路径调整):
      export JAVA_HOME=/usr/java/jdk1.8.0_xxx # 替换xxx为你的jdk版本号 export JRE_HOME=$JAVA_HOME/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-x.x.x # 替换x.x.x为你的ZooKeeper版本号 export PATH=$PATH:$ZOOKEEPER_HOME/bin
    • 使修改生效: source /etc/profile
  2. ZooKeeper配置文件:

    • 进入ZooKeeper配置文件目录: cd $ZOOKEEPER_HOME/conf
    • 复制并重命名配置文件: cp zoo_sample.cfg zoo.cfg
    • 编辑 zoo.cfg 文件,配置以下参数 (替换为你的服务器IP和ID):
      tickTime=2000 dataDir=/usr/local/zookeeper-x.x.x/data # 替换x.x.x为你的ZooKeeper版本号 clientPort=2181 initLimit=5 syncLimit=2 server.1=master_ip:2888:3888 server.2=slave1_ip:2888:3888 server.3=slave2_ip:2888:3888

      其中 master_ip, slave1_ip, slave2_ip 分别替换为你的主节点和从节点的IP地址。 server.1, server.2, server.3 分别对应服务器ID 1, 2, 3。

  3. 数据目录:

    • 在每台服务器上创建数据目录: sudo mkdir -p $ZOOKEEPER_HOME/data
    • 确保ZooKeeper用户对该目录具有读写权限。
  4. myid文件:

    • 在每台服务器的 dataDir 目录下创建 myid 文件,文件内容为该服务器的ID (1, 2, 3)。

启动ZooKeeper:

  1. 启动服务: 在每台服务器上执行: $ZOOKEEPER_HOME/bin/zkServer.sh start

  2. 验证状态: 使用 $ZOOKEEPER_HOME/bin/zkServer.sh status 检查ZooKeeper服务状态。

防火墙配置:

  1. 开放端口: 开放ZooKeeper客户端端口 (默认2181) 和服务器间通信端口 (2888, 3888)。 方法取决于你使用的防火墙 (firewalld 或iptables)。 例如,使用firewalld:
    • sudo firewall-cmd –permanent –add-port=2181/tcp
    • sudo firewall-cmd –permanent –add-port=2888/tcp
    • sudo firewall-cmd –permanent –add-port=3888/tcp
    • sudo firewall-cmd –reload

集群验证:

  1. 安装客户端: 在任意一台服务器上安装ZooKeeper客户端: sudo yum install zookeeper-client

  2. 连接并测试: 使用客户端连接集群: zkCli -server master_ip:2181 (替换 master_ip 为任意一个节点的IP),然后执行 ls / 命令查看根节点内容。

记住替换文中所有占位符 (例如 x.x.x, master_ip, slave1_ip, slave2_ip) 为你的实际值。 确保所有服务器上的配置一致。

相关阅读