linux下zookeeper搭建分布式集群环境

linux下zookeeper搭建分布式集群环境

1、准备三台虚拟机

虚拟机配置要一模一样,都已经安装好zookeeper,可以通过虚拟机克隆技术实现

克隆的虚拟机存在网络问题:eth0不见了

解决方法:

  • 修改文件

    命令:vi  /etc/sysconfig/network-scripts/ifcfg-eth0
    修改内容:1、删掉UUID、HWADDR  2、更改ip地址,避免ip和被复制的虚拟机重复
    
  • 删除文件

    rm -rf  /etc/udev/rules.d/70-persistent-net.rules
    
  • 修改主机名:不能和被复制的虚拟机重名

    vi /etc/sysconfig/network
    
  • 修改主机和ip映射:ping的时候可以直接ping主机名

    vi /etc/hosts
    添加以下内容:
    192.168.137.128 gec001 (第一台虚拟机ip和主机名)
    192.168.137.129 gec002(第二台虚拟机ip和主机名)
    192.168.137.130 gec003(第三台虚拟机ip和主机名)
    
  • 重启

    reboot
    

2、设置ssh免密登录

所谓免密钥:通过ssh协议工具,免密钥登录

假如A要登陆B,在A上操作:

  • 生成密匙对

    ssh-keygen -t rsa (提示时,直接回车即可)
    
  • 再将A自己的公钥拷贝并追加到B的授权列表文件authorized_keys中

    ssh-copy-id  目标主机名
    
  • 设置完成可以直接在A上登录B,不需要密码

    ssh 主机名
    

同理,B要登录A,也需要在B上重复上面操作

3、编辑zoo.cfg文件

  • 家路径下任意位置创建保存zookeeper数据的目录,三台主机都要新建此目录

    eg:mkdir /home/Ywee/software/zookeeper/zk_data
    
  • 编辑zoo.cfg文件

    • 修改dataDir路径为创建保存zookeeper数据的目录
    eg:dataDir=/home/Ywee/software/zookeeper/zk_data
    
    • 在文件末尾添加内容
    server.20=192.168.137.128:2888:3888(20为第一台虚拟机的主机编号,192.168.137.128为第一台虚拟机的ip)
    server.21=192.168.137.129:2888:3888(21为第二台虚拟机的主机编号,192.168.137.129为第二台虚拟机的ip)
    server.22=192.168.137.130:2888:3888(22为第三台虚拟机的主机编号,192.168.137.130为第三台虚拟机的ip)
    
  • 将此更改后的zoo.cfg文件发送到另外两台主机

    scp zoo.cfg文件路径 root@主机名:目的路径
    eg:scp /home/Ywee/software/zookeeper-3.4.13/conf/zoo.cfg root@Ywee02:/home/hadoop/software/zookeeper-3.4.13/conf/
    
  • 配置myid文件:在保存zookeeper数据的目录下新建myid文件,三台主机都要

    touch myid
    
  • 在文件中添加主机编号

4、启动集群

  • 分别启动三台主机的zookeeper服务

    ./zkServer.sh start
    
  • 查看服务状态

    ./zkServer.sh status
    
  • 如下图表示集群部署成功

记得快乐
原文地址:https://www.cnblogs.com/Y-wee/p/14071265.html