##软件下载

写本文时, ZooKeeper 最新稳定版本是 3.4.8, 可以从 ZooKeeper官网下载 zookeeper-3.4.8.tar.gz。将下载的 zookeeper-3.4.8.tar.gz 文件拷贝到 /opt 目录下。

安装和配置

JDK安装

注意安装 ZooKeeper 之前需要先安装 JDK, 关于 JDK 的安装这里不再赘述。

###解压

sudo tar -zxvf zookeeper-3.4.8.tar.gz

###目录重命名

sudo mv zookeeper-3.4.8 zookeeper

###修改用户和用户组

sudo chown —R hadoop:hadoop zookeeper/

###环境变量配置

编辑 .bashrc 文件, 在文件末尾添加以下环境变量配置:

# ZooKeeper Env

export ZOOKEEPER_HOME=/opt/zookeeper

export PATH=$PATH:$ZOOKEEPER_HOME/bin

运行以下命令使环境变量生效:

source .bashrc

核心配置文件zoo.cfg

初次使用 ZooKeeper 时, 需要将 $ZOOKEEPER_HOME/conf 目录下的 zoo_sample.cfg 重命名为 zoo.cfg, zoo.cfg 默认配置如下:

# 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=/tmp/zookeeper

# 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

配置说明

tickTime: ZooKeeper 中使用的基本时间单元, 以毫秒为单位, 默认值是 2000。它用来调节心跳和超时。例如, 默认的会话超时时间是两倍的 tickTime。

initLimit: 默认值是 10, 即 tickTime 属性值的 10 倍。它用于配置允许 followers 连接并同步到 leader 的最大时间。如果 ZooKeeper 管理的数据量很大的话可以增加这个值。

syncLimit: 默认值是 5, 即 tickTime 属性值的 5 倍。它用于配置leader 和 followers 间进行心跳检测的最大延迟时间。如果在设置的时间内 followers 无法与 leader 进行通信, 那么 followers 将会被丢弃。

dataDir: ZooKeeper 用来存储内存数据库快照的目录, 并且除非指定其它目录, 否则数据库更新的事务日志也将会存储在该目录下。建议配置

dataLogDir 参数来指定 ZooKeeper 事务日志的存储目录。

clientPort: 服务器监听客户端连接的端口, 也即客户端尝试连接的端口, 默认值是 2181。

maxClientCnxns: 在 socket 级别限制单个客户端与单台服务器之前的并发连接数量, 可以通过 IP 地址来区分不同的客户端。它用来防止某种类型的 DoS 攻击, 包括文件描述符耗尽。默认值是 60。将其设置为 0 将完全移除并发连接数的限制。

autopurge.snapRetainCount: 配置 ZooKeeper 在自动清理的时候需要保留的数据文件快照的数量和对应的事务日志文件, 默认值是 3

autopurge.purgeInterval: 和参数 autopurge.snapRetainCount 配套使用, 用于配置 ZooKeeper 自动清理文件的频率, 默认值是 1, 即默认开启自动清理功能, 设置为 0 则表示禁用自动清理功能。

更多 ZooKeeper 配置后面会写文章详细描述。

单机模式

zoo.cfg配置

ticketTime=2000

clientPort=2181

dataDir=/opt/zookeeper/data

dataLogDir=/opt/zookeeper/logs

启动 ZooKeeper 服务

可以使用如下命令来启动 ZooKeeper 服务

zkServer.sh start

服务启动信息如下:

验证 ZooKeeper 服务

服务启动完成后, 可以使用 telnet 和 stat 命令验证服务器启动是否正常:

在单机模式中, Mode 的值是 "standalone"。

停止 ZooKeeper 服务

想要停止 ZooKeeper 服务, 可以使用如下命令:

zkServer.sh stop

服务停止信息如下:

##集群模式

###zoo.cfg配置

在 master 机器上, 在单机模式的配置文件下增加了最后 5 行配置:

ticketTime=2000

clientPort=2181

dataDir=/opt/zookeeper/data

dataLogDir=/opt/zookeeper/logs

initLimit=10

syncLimit=5

server.1=master:2888:3888

server.2=slave01:2888:3888

server.3=slave02:2888:3888

配置说明:

集群模式中, 集群中的每台机器都需要感知其它机器, 在 zoo.cfg 配置文件中, 可以按照如下格式进行配置, 每一行代表一台服务器配置:

server.id=host:port:port

id 被称为 Server ID, 用来标识服务器在集群中的序号。同时每台 ZooKeeper 服务器上, 都需要在数据目录(即 dataDir 指定的目录) 下创建一个 myid 文件, 该文件只有一行内容, 即对应于每台服务器的Server ID。

ZooKeeper 集群中, 每台服务器上的 zoo.cfg 配置文件内容一致。

server.1 的 myid 文件内容就是 "1"。每个服务器的 myid 内容都不同, 且需要保证和自己的 zoo.cfg 配置文件中 "server.id=host:port:port" 的 id 值一致。

id 的范围是 1 ~ 255。

###创建myid文件

在 dataDir 指定的目录下 (即 /opt/zookeeper/data 目录) 创建名为 myid 的文件, 文件内容和 zoo.cfg 中当前机器的 id 一致。根据上述配置, master 的 myid 文件内容为 1。

slave配置

按照相同步骤, 为 slave01 和 slave02 配置 zoo.cfg 和 myid 文件。zoo.cfg文件内容相同, slave01 的 myid 文件内容为 2, slave02 的 myid 文件内容为 3。

集群启动

在集群中的每台机器上执行以下启动命令:

zkServer.sh start

启动信息如下:

master 和 slave01 两台服务器的 Mode 值均为 follower, 表明它们在集群中的角色为 Follower。

slave02 服务器的 Mode 值为 leader, 表明它在集群中的角色为 Leader。

参考资料

zookeper安装_ZooKeeper安装和配置相关推荐

  1. zookeper安装_zookeeper安装单机模式

    下载后放到合适位置,解压:tar -xvf zookeeper-3.4.6.tar.gz 进入解压后的目录zookeeper-3.4.6,相关目录列表: 进入conf目录,实用自带的示例配置文件拷贝出 ...

  2. zookeepe安装配置_Zookeeper安装配置及简单使用

    我使用的CentOS 7阿里云服务器,ZK依赖JDK,需要先安装jdk并配置jdk环境变量. 1.安装wget: yum –y install wget 2.下载Zookeeper(http://mi ...

  3. 【CV】Python下载安装及环境变量配置教程

    目录 Python下载 Python安装 Python环境变量配置 Python下载 可通过https://www.python.org/downloads/下载 1.进入网页后点击Windows,其 ...

  4. oracle数据库配置失败,oracle11g – Oracle 11G XE安装错误:数据库配置失败

    在 linuxMint上安装后运行oracle配置时: /etc/init.d/oracle-xe configure 指定以下错误: sudo /etc/init.d/oracle-xe confi ...

  5. mysql属性配置提高查询_MYSQL性能优化-安装时优化参数配置提高服务性能

    MYSQL性能优化一直是个头痛的问题,目前大多都是直接把页面html静态页面或直接使用了缓存技术,下面我就mysql本身的性能优化来分享一下. 安装时优化参数配置提高服务性能 在Linux下安装Mys ...

  6. 如何配置mac的mysql环境_mac安装mysql数据库及配置环境变量

    安装mysql 下载mysql.我下载的是:mysql-8.0.11-macos10.13-x86_64.dmg 双击打开mysql-8.0.11-macos10.13-x86_64.dmg,然后双击 ...

  7. 安装JDK1.8+环境配置

    安装JDK1.8+环境配置 1.下载JDK 2.安装JDK 3.环境配置 3.1 新建系统变量 3.2 添加Path路径 3.3 使用cmd命令行验证是否环境配置成功 1.下载JDK 直接官网下载:h ...

  8. win10安装程序无法将配置为在此计算机,Win10安装会遇到的问题汇总及解决方法...

    Win10发布已经有一段时间了,尽管Win10安装会遇到各种各样的问题,使用Win10的用户还是很多.那么,Win10安装会遇到的问题有什么呢?又该怎么解决呢?根据安装方式的不同,出现的问题也不同,接 ...

  9. Linux平台 Oracle 18c RAC安装Part2:GI配置

    三.GI(Grid Infrastructure)安装 3.1 解压GI的安装包 3.2 安装配置Xmanager软件 3.3 共享存储LUN的赋权 3.4 使用Xmanager图形化界面配置GI 3 ...

最新文章

  1. CVPR 2021 Oral|只用静态图像,就能实时渲染出丝滑3D效果
  2. QMYSQL driver not loaded
  3. WebSphere MQ For AIX和HP-UX安装配置
  4. mysql5.5.20安装图解_mysql5.5.20的安装步骤
  5. spring boot环境准备及搭建
  6. 疯狂了!当游戏爱上MongoDB会怎么样???
  7. 数据竞赛利器 —— xgboost 学习清单
  8. 砥志研思SVM(二) 拉格朗日乘子法与KKT条件
  9. 使用Tensorflow实现简单线性回归
  10. c++网络编程连接成功后回调onconnected_谈谈网络编程(基于C++)
  11. 借博客发泄一下对ExtJs的不满
  12. sql server 标准版升级专业版或者开发版没有sql server profiler
  13. Java NIO 中的非阻塞究竟体现在哪里?
  14. Hologres性能调优
  15. 微信分享 android 闪退,微信分享崩溃
  16. Python技巧篇:如何巧妙运用Python处理Word文档
  17. 各种int的取值范围
  18. 摩托车闪光控制器专用芯片MST1172
  19. P1149 火柴棒等式
  20. 响应式布局之微软商城部分开发

热门文章

  1. Date、DateFormat、Calendar日期类
  2. Linux快捷键及文件和目录的操作
  3. 2.2.2 定点数的运算(移位、原码和补码的加减乘除、溢出概念和判别方法)
  4. java输出文件中匹配的字段_Java如何从文件中打印与给定模式匹配的所有字符串?...
  5. ssm打印sql如何开启_mybatis怎么配置log4j打印出sql语句
  6. vue中页面跳转传值_vue跳转方式(打开新页面)及传参操作示例
  7. java框架_2020年Java框架排行榜,谁居榜首?
  8. windows。forms.timer设置第一次不等待_防火卷帘设置的场景不同下降的要求有哪些区别?...
  9. python 文件编码的识别_【python】python编码方式,chardet编码识别库
  10. 百度Create2021:百度地图日均位置服务请求次数突破1300亿