Centos7搭建zookeeper集群

背景

本文主要介绍了在centos7系统上搭建zookeeper集群的步骤。

环境

  • 三台centos7的机器:
hostname ip
node1 192.168.163.128
node2 192.168.163.129
node3 192.168.163.130

搭建zookeeper集群时一定要使用奇数台服务器。

  • java版本:jdk8

  • zookeeper版本:3.4.9

搭建步骤

安装Java环境

请参考:http://lintut.com/how-to-install-java-8-on-rhel-centos-7-x-and-fedora-linux/

配置无密钥的SSH访问

  1. 每台zookeeper节点配置以下hosts:

    192.168.163.128 node1
    192.168.163.129 node2
    192.168.163.130 node3
    
  2. 每台节点生成自己的密钥。一路回车,全部按照默认的方式生成。

    # ssh-keygen -t rsa
    

    结束后,我们可以在~/.ssh目录下多了id_rsa和id_rsa.pub这两个文件。

  3. 接下来,我们需要配置ssh免密钥登录了。为了方便起见,我们借用ssh-copy-id命令。如果提示没有ssh-copy-id命令,可以执行yum install openssh来安装。下面我们以node1节点为例:

    # ssh-copy-id root@node2
    # ssh-copy-id root@node3
    

    所有节点都需要执行一遍ssh-copy-id命令。

  4. 尝试在node1节点通过ssh免密钥登录node2节点:

    # ssh root@node1
    

    如果能够登录成功说明已经配置成功。

下载zookeeper

随便挑选一台节点服务器,比如我们挑选node1。在node1上从官网下载zookeeper:

# wget https://mirrors.tuna.tsinghua.edu.cn/apache/zookeeper/stable/zookeeper-3.4.9.tar.gz

解压下载下来的压缩包:

# tar zxvf zookeeper-3.4.9.tar.gz

建立zookeeper关键目录

建立dataDir(数据目录)所在目录:

# mkdir /var/lib/zookeeper

建立dataLogDir(日志目录)所在目录:

# mkdir /var/log/zookeeper

配置zookeeper

  1. 建立配置文件:

    # cd zookeeper-3.4.9/conf
    # cp zoo_sample.cfg zoo.cfg
    
  2. 编辑配置文件:

    # vim zoo.cfg
    
  3. 在配置文件中添加以下的配置信息:

    tickTime=2000
    initLimit=10
    syncLimit=5
    clientPort=2181
    dataDir=/var/lib/zookeeper
    dataLogDir=/var/log/zookeeper
    server.1=node1:2888:3888
    server.2=node2:2888:3888
    server.3=node3:2888:3888
    

然后将zookeeper文件夹拷贝至node2以及node3。

建立myid文件

在每台节点服务器上创建myid文件,myid文件的所在位置就是dataDir目录,myid文件里面的内容就是刚才配置文件中server后面跟的数字。我们以node1为例:

# cd /var/lib/zookeeper
# echo 1 > myid

启动zookeeper

在所有节点的zookeeper文件夹下执行以下命令:

# zookeeper-3.4.9/bin/zkServer.sh start

校验zookeeper启动状态

启动成功之后,zookeeper会从节点中选出一个leader,剩余的就是follower,我们可以挑选一台节点服务器执行下述命令查看当前节点是什么状态:

# zookeeper-3.4.9/bin/zkServer.sh status
ZooKeeper JMX enabled by default
Using config: /root/zookeeper-3.4.9/bin/../conf/zoo.cfg
Mode: follower

我们可以看到当前的节点服务器是follower状态。

参考资料

  1. 官方文档

你可能感兴趣的:(Centos7搭建zookeeper集群)