大数据开发学习1.1-ZooKeeper的安装部署

238 阅读2分钟

ZooKeeper的安装

  1. 拷贝apache-zookeeper-3.5.7-bin.tar.gz安装包到Linux系统下

  2. 解压到指定目录

    tar -zxvf apache-zookeeper-3.5.7-bin.tar.gz -C /opt/module/
    
  3. 修改名称

    mv apache-zookeeper-3.5.7 -bin/ zookeeper-3.5.7
    
  4. 配置修改

    1. 将/opt/module/zookeeper-3.5.7/conf这个路径下的zoo_sample.cfg修改为zoo.cfg

      mv zoo_sample.cfg zoo.cfg
      
    2. 打开zoo.cfg文件,修改dataDir路径:

      vim zoo.cfg
      

      修改以下内容

      dataDir=/opt/module/zookeeper-3.5.7/zkData
      
    3. 在/opt/module/zookeeper-3.5.7/这个目录上创建zkData文件夹

      mkdir zkData
      
  5. 配置服务器编号

    在/opt/module/zookeeper-3.5.7/zkData目录下创建一个myid的文件

    vi myid
    

    在文件中添加与server对应的编号(注意:上下不要有空行,左右不要有空格)

    2
    
  6. 拷贝配置好的zookeeper到其他机器上

    xsync  zookeeper-3.5.7
    

    并分别在hadoop103、hadoop104上修改myid文件中内容为3、4

  7. 配置zoo.cfg文件

    在/opt/module/zookeeper-3.5.7/conf这个目录下的zoo.cfg添加以下内容

    #######################cluster##########################
    server.2=hadoop102:2888:3888
    server.3=hadoop103:2888:3888
    server.4=hadoop104:2888:3888
    

    同步配置文件

    xsync zoo.cfg
    

配置参数解读

Zookeeper中的配置文件zoo.cfg中参数含义解读如下:

1)tickTime = 2000:通信心跳时间,Zookeeper服务器与客户端心跳时间,单位毫秒

2)initLimit = 10:LF初始通信时限

Leader和Follower初始连接时能容忍的最多心跳数(tickTime的数量

3)syncLimit = 5:LF同步通信时限

Leader和Follower之间通信时间如果超过syncLimit tickTime,Leader认为Follwer死掉,从服务器列表中删除Follwer。

4)dataDir:保存Zookeeper中的数据

注意:默认的tmp目录,容易被Linux系统定期删除,所以一般不用默认的tmp目录。

5)clientPort = 2181:客户端连接端口,通常不做修改。

ZK集群启动停止脚本

#!/bin/bash

case $1 in
"start"){
	for i in hadoop102 hadoop103 hadoop104
	do
        echo ---------- zookeeper $i 启动 ------------
		ssh $i "/opt/module/zookeeper-3.5.7/bin/zkServer.sh start"
	done
};;
"stop"){
	for i in hadoop102 hadoop103 hadoop104
	do
        echo ---------- zookeeper $i 停止 ------------    
		ssh $i "/opt/module/zookeeper-3.5.7/bin/zkServer.sh stop"
	done
};;
"status"){
	for i in hadoop102 hadoop103 hadoop104
	do
        echo ---------- zookeeper $i 状态 ------------    
		ssh $i "/opt/module/zookeeper-3.5.7/bin/zkServer.sh status"
	done
};;
esac

基本命令行语法

命令基本语法功能描述
help显示所有操作命令
ls path使用 ls 命令来查看当前znode的子节点 [可监听]-w 监听子节点变化-s 附加次级信息
create普通创建-s 含有序列-e 临时(重启或者超时消失)
get path获得节点的值 [可监听]-w 监听节点内容变化-s 附加次级信息
set设置节点的具体值
stat查看节点状态
delete删除节点
deleteall递归删除节点