【大数据】安装 Zookeeper 单机版

安装 Zookeeper 单机版

下面安装 Zookeeper,由于它是 Apache 的一个顶级项目,所以域名是 zookeeper.apache.org,所有 Apache 的顶级项目的官网都是以项目名 .apache.org 来命名的。

点击 Download 即可下载,这里我们选择的版本是 3.5.10,下载之后扔到服务器上。由于 Zookeeper 是基于 Java 语言编写的,所以还需要安装 JDK,这里我使用的是 JDK1.8,都已经已经安装好了,并配置了环境变量。

我们安装完毕之后不能直接用,还需要修改一下 Zookeeper 的配置文件。在安装目录的 conf 目录下,里面有一个 zoo_sample.cfg,我们将其重命名为 zoo.cfg,然后打开。

里面有一个 dataDir 参数,表示数据的存储目录,数据在持久化之后会存储在该目录中,以防止数据丢失。但该目录默认位于临时目录 /tmp 下面,这样当节点重启之后数据就没了,所以需要换一个目录(要提前创建好),至于目录名无所谓,我这里叫 zkData

关于配置文件里的其他参数,我们之后会解读,下面先来启动服务。

bin 目录下有很多脚本,其中 .cmd 文件是在 Windows 上使用的,不用管。然后我们看到有一个 zkServer.sh,它就是负责启动 Zookeeper 服务的。

启动成功,我们调用 jps 查看进程。

凡是基于 Java 语言编写的框架,在启动之后,都可以通过 jps 查看相应的进程。

要是看到输出了 QuorumPeerMain 就代表 Zookeeper 启动成功了,如果想 停止 服务,可以通过 zkServer.sh stop重启 则是 zkServer.sh restart

启动之后,我们也可以查看状态。

此时的模式是 standalone 模式,表示单机,当然后面我们也会搭建集群。

既然有了服务端,那么是不是也要有客户端呢,对的,类似于 Redis。下面启动客户端,直接 zkCli.sh 即可,不需要 start,出现如下表示启动成功。

关于 Zookeeper 客户端的命令,后面详细介绍,我们来解读一下 Zookeeper 的配置文件。

配置项还是比较少的,解释一下它们的含义。

sql 复制代码
tickTime=2000
initLimit=10
syncLimit=5
dataDir=/opt/apache-zookeeper-3.5.10-bin/zkData
clientPort=2181
maxClientCnxns=60
autopurge.snapRetainCount=3
autopurge.purgeInterval=1
  • tickTime:服务端与客户端的心跳时间,默认 2000 2000 2000 毫秒。表示客户端每隔 2 2 2 秒会向服务端发送一个心跳信息,表示自己还活着,服务端不要断开连接。当然,它还表示集群内多个节点之间的心跳时间。
  • initLimit:领导者和追随者第一次建立连接时的最大通信时限,默认是 10 10 10 个 tickTime。如果超时,则表示连接建立失败。
  • syncLimit:领导者和追随者之间响应的最大时限(连接建立之后),单位同样是 tickTime。如果领导者在超过 syncLimit × tickTime 之后没有收到追随者的响应,那么领导者会认为该追随者已经死掉,从而将其从服务器列表中删除。
  • dataDir:数据文件目录 + 数据持久化路径,主要用于保存 Zookeeper 中的数据,我们刚刚已经修改了。
  • clientPort:客户端和服务端通信的端口。
  • maxClientCnxns:服务端最多支持和多少个客户端建立连接,默认是 60 60 60。
  • autopurge.snapRetainCount:在 dataDir 中要保存的快照数量,多余的要被清除。
  • autopurge.purgeInterval:自动触发清除任务的时间间隔,单位小时。
  • admin.serverPort:这个参数没有写在配置文件中,但有必要说一下。Zookeeper 从 3.5 开始,启动之后会占用 8080 8080 8080 端口,因为内嵌了一个管理控制台。而 8080 8080 8080 端口很常见,如果启动时发现该端口被占用,那么 Zookeeper 会启动失败,此时便可通过该参数将端口改成其它的,比如 8081 8081 8081。

配置文件还是非常简单的,以上我们就完成了 Zookeeper 单机版的安装。

相关推荐
永洪科技3 小时前
永洪科技荣获商业智能品牌影响力奖,全力打造”AI+决策”引擎
大数据·人工智能·科技·数据分析·数据可视化·bi
weixin_307779133 小时前
Hive集群之间迁移的Linux Shell脚本
大数据·linux·hive·bash·迁移学习
ZHOU_WUYI4 小时前
一个简单的分布式追踪系统
分布式
上海锝秉工控6 小时前
防爆拉线位移传感器:工业安全的“隐形守护者”
大数据·人工智能·安全
cv高级工程师YKY6 小时前
SRE - - PV、UV、VV、IP详解及区别
大数据·服务器·uv
bxlj_jcj7 小时前
深入Flink核心概念:解锁大数据流处理的奥秘
大数据·flink
云资源服务商8 小时前
阿里云Flink:开启大数据实时处理新时代
大数据·阿里云·云计算
码不停蹄的玄黓8 小时前
MySQL分布式ID冲突详解:场景、原因与解决方案
数据库·分布式·mysql·id冲突
Aurora_NeAr8 小时前
Spark SQL架构及高级用法
大数据·后端·spark
王小王-1238 小时前
基于Hadoop的公共自行车数据分布式存储和计算平台的设计与实现
大数据·hive·hadoop·分布式·hadoop公共自行车·共享单车大数据分析·hadoop共享单车