zookeeper 集群安装

  1. 第一步:服务器配置

    master 172.16.1.1
    node1 172.16.1.2
    node2 172.16.1.3
  2. 验证 JAVA 运行环境

    java -version
    javac -version
  3. 第二步下载 Zookeeper

  4. 第三步:解压Zookeeper(先在第一台服务器master 上分别执行(1)-(4)步)

    • (1)解压和重命名:
      将zookeeper-3.4.5.tar.gz 放入 /user/local/目录下执行下面命令

      
      #1.解压 zookeeper
      
      tar zxf zookeeper-3.4.5.tar.gz
      
      #2.重命名 文件夹
      
      mv zookeeper-3.4.5 zookeeper
    • (2)创建数据目录和日志目录:

    mkdir /user/local/zookeeper/data
    mkdir /user/local/zookeeper/dataLog
    • (3)配置:将conf/zoo_sample.cfg拷贝一份命名为zoo.cfg,也放在conf目录下
    tickTime=2000       
    dataDir=/user/local/zookeeper/data
    dataLogDir=/user/local/zookeeper/dataLog
    initLimit=5
    syncLimit=2
    
    #连接 zookeeper 的端口
    
    clientPort=2181
    
    #2888 是集群之间交换信息的端口
    
    
    #3888 是集群之间选举leader的端口
    
    
    #如果是伪集群模式的话,这些端口都需要不一样
    
    server.1=172.16.1.1:2888:3888
    server.2=172.16.1.2:2888:3888
    server.3=172.16.1.3:2888:3888
    
    #注意 server.1 这个后缀,标识的是 172.16.1.1 这个机器,在集群中的 serverid 是1
    
    • (4)标识 ServerID
      在目录 /user/local/zookeeper/data 中创建文件 myid,里面写上数字1
  5. 接下来将上面的安装文件拷贝到机器中的其他机器上的对应的目录下

    • 拷贝文件
    scp -r zookeeper root@node1:/user/local/zookeeper
    scp -r zookeeper root@node1:/user/local/zookeeper
    • 修改对应的 myid
    
    #修改 node1
    
    echo "2">/user/local/zookeeper/data/myid
    
    #修改 node2
    
    echo "3">/user/local/zookeeper/data/myid
  6. 启动Zookeeper 在 master、node1、node2 机器上分别执行如下命令

    /usr/local/zookeeper/bin/zkServer.sh start
  7. 注意:即便是你都按照上面所说的做了,但是结果还可能会报错:
    这里写图片描述

这个时候,你就需要注意了,这种情况通常是因为找不到对应的服务的地址导致的,这种情况下你应该给所有的机器都配置上一个别名:如果你的是多台机器的集群,那么就像下面这么配置:
这里写图片描述
如果你是单台机器的伪集群,那么就只需要配置一个就好了如下:

192.168.100.15 zkserver

当然你的 zoo.cfg 文件也是需要修改的:把使用 ip 的地方换为别名,这样再去链接 zookeeper 服务的时候就没有问题了。

```
server.1=zkserver:2555:3555
server.2=zkserver:2666:3666
server.3=zkserver:2777:3777
```

8. zookeeper 集群启动脚本:

#!/bin/bash

#声明服务器:
server11=192.168.100.11
server12=192.168.100.12
server13=192.168.100.13

cd /opt/tools/zookeeper-3.4.6;bin/zkServer.sh stop;bin/zkServer.sh start
echo "${server11} is ready......"
echo -e "\n\n"

# 远程启动需要输出远程机器的 java_home
ssh root@server12 "export JAVA_HOME=/opt/tools/jdk1.7.0_67;export PATH=$JAVA_HOME/bin:$PATH;export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar;cd /opt/tools/zookeeper-3.4.6;bin/zkServer.sh stop;bin/zkServer.sh start"
echo "${server12} is ready......"
echo -e "\n\n"

ssh root@server13 "export JAVA_HOME=/opt/tools/jdk1.7.0_67;export PATH=$JAVA_HOME/bin:$PATH;export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar;cd /opt/tools/zookeeper-3.4.6;bin/zkServer.sh stop;bin/zkServer.sh start"
echo "${server13} is ready......"
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值