Zookeeper 入门,看这篇就够了

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/liuge36/article/details/86511057

Zookeeper 简介 与 集群配置

【Storm的各个组件间是通过这个组件进行通信】
简介:
Zookeeper是一个开源的分布式协调服务的框架,使各个机器进行之间进行通信

1.1核心功能:
  • 文件系统
  • 通知机制

文件系统:
类似于linux的文件系统目录结构,从根目录(/)开始

1.每一个目录都是一个znode节点

2.每一个znode节点可直接存储数据

3.类型:持久化,持久化顺序,临时,临时顺序

通知机制:

  • 客户端监听关心的znode节点
  • Znode节点有变化(数据改变、删除、子目录添加删除),通知客户端处理
1.2 zookeeper的安装

下载:直接去官网:zookeeper.apache.org或CDH5进行下载
/opt/soft [下载位置]
/opt/module 【解压位置】
下载 *.tar.gz
解压 tar –zxvf *tar.gz –C /apps

解压后的主要目录结构:
bin:包含

  • zkCli.sh 【命令行客户端,可以去连接到这个文件系统,类似于hadoop fs】
  • zkCleanup.sh [zk是一个小型文件系统,用于清理数据信息,保证各个节点的数据一致]
  • zkEnv.sh [环境变量的一些东西]
  • zkServer.sh 【zk服务器的启动停止等操作】

conf:包含

  • log4j.properties 日志输出级别
  • zoo_sample.cfg mv zoo_sample.cfg zoo.cfg
  • [tickTime:客户端与zk服务器的心跳时间,各个znode节点也要保持心跳]
  • InitLimit 启动集群时候,选举Nimbus节点的最大时间 tickTime* InitLimit
  • SyncLimit 集群中各个znode节点进行数据同步时候,保持数据一致性,进行数据同步的最大时间,超过这个时间,数据会同步失败
  • dataDir zookeeper是一个小型的文件系统,将数据存放在哪里配置
  • clientPort 客户端访问zk服务器的端口号2181去连接到这个服务器

在解压后的目录新建一个data的目录用于存放zk的数据
将$ZK_HOME/data 替换conf/zoo.cfg 中的dataDir

启动bin/zkServer.sh start
Jps
Or
bin/zkServer.sh status

  • standalone状态
1.3 zk的命令行客户端

去连接zk服务器
bin/zkCli.sh
这样会连接本地的zk服务器‘
里面的操作类似于linux的操作
输入ls
查看根目录有什么 ls /
查看目录下面的数据 get /
创建目录 create /test 111
查看数据 get /test 得到111
修改数据 set /test 222
再次查看: get /test 得到222
删除数据rmr /test
再次查看 ls / 无test目录

1.4 zookeeper的集群搭建

(推荐1,3,5这样的节点数,在进行节点选举的时候,保证能选举一个主节点出来)

启动三个机器
配置第一台
步骤一:在单机的基础(解压后修改dataDir的目录)上,添加配置项
server. 这个id是唯一的
2888端口 服务器之间是需要进行数据的同步的
3888端口 集群在启动的时候进行选举Nimbus节点

server.1=192.168.1.1:2888:3888
server.2=192.168.1.2:2888:3888
server.3=192.168.1.3:2888:3888

步骤二: 在什么地方进行存储,当前机器是哪一个ID
在$ZK_HOME/data 目录下 新建文件myid 用于存储这个id
Vim $ZK_HOME/data/myid 写入1 :wq即可
步骤三:拷贝第一台服务器到其余两台服务器上面去

scp -r zookeeper-3.4.5/ [email protected]:/opt/module
即可
在这之前可以配置ssh的免密码登录

拓展:

1.HOSTNAME主机名:vim /etc/sysconfig/network

2.配置ip与主机名之间的映射关系
Vim /etc/hosts
192.168.1.1 hadoop001
192.168.1.2 hadoop002
192.168.1.3 hadoop003

启动zk集群
在每一台上面都要进行启动,bin/zkServer.sh start
Bin/zkServer.sh status 状态为:leader 主节点
Bin/zkServer.sh status 状态为:follower 从节点

ZKcli从1-2-3
192.168.1.1可以使用bin/zkCli.sh -server 192.168.1.2:2181
进入之后,connect 192.168.1.3:2181

猜你喜欢

转载自blog.csdn.net/liuge36/article/details/86511057