Zookeeper脚本配置

  • 拷贝ips
    1
    cp ips ips_zookeeper
    修改为
    1
    2
    3
    nn1
    nn2
    nn3
  • 拷贝三个脚本
    1
    2
    3
    cp scp_all.sh scp_all_zookeeper.sh 
    cp ssh_all.sh ssh_all_zookeeper.sh
    cp ssh_root.sh ssh_root_zookeeper.sh
  • 修改脚本
    1
    2
    3
    vim scp_all_zookeeper.sh 
    vim ssh_all_zookeeper.sh
    vim ssh_root_zookeeper.sh
    将三个脚本中的ips改为ips_zookeeper

Zookeeper安装

  • 上传到/tmp目录下,解压
    1
    2
    3
    4
    5
    sudo tar -zxvf /tmp/zookeeper-3.4.8.tar.gz -C /usr/local/
    scp -r /usr/local/zookeeper-3.4.8/ root@nn2:/usr/local/
    scp -r /usr/local/zookeeper-3.4.8/ root@nn3:/usr/local/
    ssh_root_zookeeper.sh chown -R hadoop:hadoop /usr/local/zookeeper-3.4.8
    ssh_root_zookeeper.s ln -s /usr/local/zookeeper-3.4.8/ /usr/local/zookeeper

Zookeeper配置

  • zoo.cfg配置

    1
    2
    cd /usr/local/zookeeper/conf/
    cp zoo_sample.cfg zoo.cfg

    然后vim zoo.cfg,修改如下:

    1
    2
    3
    4
    5
    6
    # 修改dataDir
    dataDir=/data/zookeeper
    # 添加一下内容
    server.1=nn1:2888:3888
    server.2=nn2:2888:3888
    server.3=nn3:2888:3888

    分发给nn2、nn3
    scp_all_zookeeper.sh /usr/local/zookeeper/conf/zoo.cfg /usr/local/zookeeper/conf/

  • zkEnv.sh配置
    vim /usr/local/zookeeper/bin/zkEnv.sh
    000001.png
    分发到nn2、nn3

    1
    scp_all_zookeeper.sh /usr/local/zookeeper/bin/zkEnv.sh /usr/local/zookeeper/bin/
  • 创建zookeeper数据目录

    1
    2
    ssh_root_zookeeper.sh mkdir -p /data/zookeeper
    ssh_root_zookeeper.sh chown -R hadoop:hadoop /data
  • 创建myid文件

    1
    2
    3
    ssh nn1 'echo "1" > /data/zookeeper/myid'
    ssh nn2 'echo "2" > /data/zookeeper/myid'
    ssh nn3 'echo "3" > /data/zookeeper/myid'
  • 配置Zookeeper环境变量

    1
    2
    # 在其他所有主机也执行
    sudo chown -R hadoop:hadoop /etc/profile.d/myEnv.sh
    1
    2
    echo 'export ZOOKEEPER_HOME=/usr/local/zookeeper' >> /etc/profile.d/myEnv.sh
    echo 'export PATH=$PATH:$ZOOKEEPER_HOME/bin' >> /etc/profile.d/myEnv.sh
    1
    2
    3
    4
    # 分发到nn2、nn3
    scp_all_zookeeper.sh /etc/profile.d/myEnv.sh /etc/profile.d/
    # source 环境变量
    ssh_all_zookeeper.sh source /etc/profile

Zookeeper的命令

1
2
3
4
5
6
7
8
#启动zk服务
ssh_all_zookeeper.sh /usr/local/zookeeper/bin/zkServer.sh start
#查看每个机器ZK运行的状态
ssh_all_zookeeper.sh /usr/local/zookeeper/bin/zkServer.sh status
#整体停止服务
ssh_all_zookeeper.sh /usr/local/zookeeper/bin/zkServer.sh stop
#重启zk服务
ssh_all_zookeeper.sh /usr/local/zookeeper/bin/zkServer.sh restart
1
2
3
4
#启动zookeeper客户端,并连接zookeeper集群
/usr/local/zookeeper/bin/zkCli.sh -server nn1:2181
# 可以简化为:
zkCli.sh