前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Zookeeper系列(1):安装与介绍

Zookeeper系列(1):安装与介绍

作者头像
布禾
发布2021-04-27 16:08:20
4610
发布2021-04-27 16:08:20
举报
简介

ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,是Google的Chubby一个开源的实现,是Hadoop和Hbase的重要组件。它是一个为分布式应用提供一致性服务的软件,提供的功能包括:配置维护、域名服务、分布式同步、组服务等。

Zookeeper数据模型

Zookeeper数据模型的结构和Unix文件系统很类似,ZooKeeper中的每个节点都称为znode,znode默认能够存储1MB的数据,并且znode的路径是znode的唯一标识。

Zookeeper中的节点分为以下四种类型:

1.持久节点

  • 持久节点被创建后会一直存在,直到主动的删除这个节点。

2.持久顺序节点

  • 持久顺序节点具备持久节点的特性,并且持久顺序节点在创建时,Zookeeper会自动的在该节点名后添加一个数字后缀,这个数字后缀是有序的,由父节点维护。

3.临时节点

  • 临时节点类似于持久节点,区别在于在客户端会话断开时,该客户端创建的临时节点将被自动删除。并且临时节点下不能创建子节点。

4.临时顺序节点

  • 临时顺序节点类似于持久顺序节点,区别在于在客户端会话断开时,该客户端创建的临时顺序节点将被自动删除。并且临时顺序节点下不能创建子节点。
Linux安装Zookeeper

下载Zookeeper:

代码语言:javascript
复制
cd /opt/
wget https://mirrors.bfsu.edu.cn/apache/zookeeper/zookeeper-3.6.3/apache-zookeeper-3.6.3-bin.tar.gz

解压缩:

代码语言:javascript
复制
tar -zxvf apache-zookeeper-3.6.3-bin.tar.gz

创建数据存储目录:

代码语言:javascript
复制
mkdir /opt/zkdata

将config目录下的zoo_sample.cfg重命名为zoo.cfg:

代码语言:javascript
复制
mv zoo_sample.cfg zoo.cfg

修改zoo.cfg中的dataDir为上面创建数据存储目录:

代码语言:javascript
复制
dataDir=/opt/zkdata
启动Zookeeper

使用默认配置zoo.cfg启动Zookeeper:

代码语言:javascript
复制
. /opt/apache-zookeeper-3.6.3-bin/bin/zkServer.sh start

指定配置文件启动Zookeeper:

代码语言:javascript
复制
. /opt/apache-zookeeper-3.6.3-bin/bin/zkServer.sh start /opt/apache-zookeeper-3.6.3-bin/conf/zoo.cfg

使用jps查看Zookeeper是否已经启动:

QuorumPeerMain为Zookeeper进程。

代码语言:javascript
复制
[root@localhost ~]# jps
2201 QuorumPeerMain
2235 Jps
启动客户端连接到Zookeeper:

不指定server参数,默认连接到本地的Zookeeper(localhost:2181):

代码语言:javascript
复制
. /opt/apache-zookeeper-3.6.3-bin/bin/zkCli.sh

指定IP地址和端口,连接Zookeeper:

代码语言:javascript
复制
. /opt/apache-zookeeper-3.6.3-bin/bin/zkCli.sh -server localhost:2181
ZooKeeper服务器其他命令

在前台启动ZooKeeper服务器:

代码语言:javascript
复制
. /opt/apache-zookeeper-3.6.3-bin/bin/zkServer.sh start-foreground

重启ZooKeeper服务器:

代码语言:javascript
复制
. /opt/apache-zookeeper-3.6.3-bin/bin/zkServer.sh restart

停止ZooKeeper服务器:

代码语言:javascript
复制
. /opt/apache-zookeeper-3.6.3-bin/bin/zkServer.sh stop
配置文件解析

zoo.cfg:

代码语言:javascript
复制
# The number of milliseconds of each tick
tickTime=2000
# The number of ticks that the initial 
# synchronization phase can take
initLimit=10
# The number of ticks that can pass between 
# sending a request and getting an acknowledgement
syncLimit=5
# the directory where the snapshot is stored.
# do not use /tmp for storage, /tmp here is just 
# example sakes.
dataDir=/opt/zkdata
# the port at which the clients will connect
clientPort=2181
# the maximum number of client connections.
# increase this if you need to handle more clients
#maxClientCnxns=60
#
# Be sure to read the maintenance section of the 
# administrator guide before turning on autopurge.
#
# http://zookeeper.apache.org/doc/current/zookeeperAdmin.html#sc_maintenance
#
# The number of snapshots to retain in dataDir
#autopurge.snapRetainCount=3
# Purge task interval in hours
# Set to "0" to disable auto purge feature
#autopurge.purgeInterval=1

## Metrics Providers
#
# https://prometheus.io Metrics Exporter
#metricsProvider.className=org.apache.zookeeper.metrics.prometheus.PrometheusMetricsProvider
#metricsProvider.httpPort=7000
#metricsProvider.exportJvmInfo=true

tickTime:Zookeeper与客户端的心跳间隔时间(单位毫秒)。

initLimit:Zookeeper集群中Leader和Follower之间初始连接的最大心跳数量。

syncLimit:运行过程中Zookeeper集群中Leader和Follower之间的最大心跳数量。

dataDir:数据存储位置。

clientPort:监听客户端连接的端口,即客户端尝试连接的端口。

maxClientCnxns:最大并发连接数。

autopurge.snapRetainCount:指定dataDir中保留的快照数量。

autopurge.purgeInterval:清除任务的时间间隔(小时),设置为“0”表示禁用自动清除功能。

metricsProvider.className:设置为“org.apache.zookeeper.metrics.prometheus.PrometheusMetricsProvider”以启用Prometheus.io导出器。

metricsProvider.httpPort:Prometheus.io导出器将启动Jetty服务器并绑定到该端口,默认为7000。

metricsProvider.exportJvmInfo:如果将此属性设置为true,则Prometheus.io将导出有关JVM的指标,默认值为true。

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2021-04-26 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 简介
  • Zookeeper数据模型
    • Zookeeper中的节点分为以下四种类型:
    • Linux安装Zookeeper
      • 启动Zookeeper
        • 启动客户端连接到Zookeeper:
          • ZooKeeper服务器其他命令
          • 配置文件解析
          相关产品与服务
          对象存储
          对象存储(Cloud Object Storage,COS)是由腾讯云推出的无目录层次结构、无数据格式限制,可容纳海量数据且支持 HTTP/HTTPS 协议访问的分布式存储服务。腾讯云 COS 的存储桶空间无容量上限,无需分区管理,适用于 CDN 数据分发、数据万象处理或大数据计算与分析的数据湖等多种场景。
          领券
          问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档