zookeeper搭建(单机模式和集群模式)

目录

单机模式:

集群搭建


单机模式:

1.新建data和logs目录(data目录用来存放数据库快照,logs目录用来存放日志文件)

复制代码
[root@master dev]# mkdir -p /home/apps/zookeeper/data
[root@master dev]# mkdir -p /home/apps/zookeeper/logs

2.找到zookeeper目录下的 conf 配置文件夹

复制代码
[root@master dev]# cd /home/apps/zookeeper/conf/
[root@master conf]# ll

total 16
-rw-r--r--. 1 root root  535 May  4  2020 configuration.xsl
-rw-r--r--. 1 root root 2712 May  4  2020 log4j.properties
-rw-r--r--. 1 root root  922 May  4  2020 zoo_sample.cfg
-rw-r--r--. 1 root root  152 Jan 15 13:05 zoo.cfg.dynamic.next

3.重命名 zoo_sample.cfg 为zoo.cfg

复制代码
[root@master conf]# mv zoo_sample.cfg zoo.cfg

4.用vi命令打开zoo.cfg文件

复制代码
[root@master conf]# vi zoo.cfg

# The number of milliseconds of each tick
tickTime=2000  #Zookeeper 服务器之间或客户端与服务器之间维持心跳的时间间隔,单位为毫秒
# The number of ticks that the initial
# synchronization phase can take
initLimit=10 #表示允许从服务器连接到leader并完成数据同步的时间,总的时间长度就是 initLimit * tickTime 秒
# The number of ticks that can pass between
# sending a request and getting an acknowledgement
syncLimit=5 #配置 Leader 与 Follower 之间发送消息,请求和应答时间长度,最长不能超过多少个 tickTime 的时间长度,总的时间长度就是 syncLimit * tickTime 秒 
# the directory where the snapshot is stored.
# do not use /tmp for storage, /tmp here is just
# example sakes.
dataDir=/home/apps/zookeeper/data #Zookeeper 保存数据的数据库快照的位置
dataLogDir=/home/apps/zookeeper/logs #事务日志日志路径,若没提供的话则用dataDir
# the port at which the clients will connect
clientPort=2181 #Zookeeper服务器监听的端口,以接受客户端的访问请求
# the maximum number of client connections.
# increase this if you need to handle more clients
#maxClientCnxns=60 # 限制连接到ZK上的客户端数量,并且限制并发连接数量,值为0表示不做任何限制
#
# 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 # 自动清理日志,该参数设置保留多少个快照文件和对应的事务日志文件,默认为3,如果小于3则自动调整为3
# Purge task interval in hours
# Set to "0" to disable auto purge feature
#autopurge.purgeInterval=1

5.配置完之后就可以直接启动Zookeeper。

复制代码
[root@master conf]# cd /home/apps/zookeeper/bin
[root@master bin]# ./zkServer.sh start

ZooKeeper JMX enabled by default
Using config: /home/apps/zookeeper/bin/../conf/zoo.cfg
Starting zookeeper ... STARTED

启动成功

6.可以使用 status 命令查看zookeeper状态

复制代码
[root@master bin]# ./zkServer.sh status

集群搭建:

1.解压压缩包

复制代码
tar -zxvf /opt/software/apache-zookeeper-3.5.7-bin.tar.gz -C /opt/module/

2.进入zookeeper下面的conf,编辑zoo开头文件(修改框起来的):

复制代码
cd /opt/module/zookeeper/conf

vim zoo_sample.cfg

3.进入到zookeeper下,新建data目录

复制代码
mkdir data

进入data目录,新建myid文件

复制代码
cd /opt/module/zookeeper/data

vim myid

在myid文件中写入1:

4.分发文件:

分发给bigdata2:

复制代码
scp -r /opt/module/zookeeper root@bigdata2:/opt/module/

分发给bigdata3:

复制代码
scp -r /opt/module/zookeeper root@bigdata3:/opt/module/

5.修改bigdata2和bigdata3中zookeeper下面data目录中的myid文件

bigdata2:

复制代码
[root@bigdata2 /] cd /opt/module/zookeeper/data

编辑myid:

复制代码
[root@bigdata2 data]vim myid

将原来的1修改为2:

bigdata3:

复制代码
[root@bigdata2 /]cd /opt/module/zookeeper/data

修改myid文件:

复制代码
[root@bigdata2 data]vim myid

将原来的1修改为3:

5.启动并查看

启动zookeeper:

复制代码
[root@bigdata1 /]sh /opt/module/zookeeper/bin/zkServer.sh start
复制代码
[root@bigdata2 /]sh /opt/module/zookeeper/bin/zkServer.sh start
复制代码
[root@bigdata3 /]sh /opt/module/zookeeper/bin/zkServer.sh start

查看状态:

相关推荐
量子炒饭大师3 分钟前
【Linux系统编程】Cyberpunk在霓虹丛林中构建堡垒 ——【关于shell命令及其运行原理】
linux·运维·服务器·shell
夜猫子ing3 分钟前
《嵌入式 Linux 控制服务从零搭建(一):项目立意与架构总览》
linux·嵌入式硬件
IT大白鼠4 分钟前
主流Linux文件系统稳定性及性能分析
linux·运维·服务器·文件系统
南境十里·墨染春水8 分钟前
linux学习进展 I/O复用函数初步
linux·运维·学习
LinuxGeek102414 分钟前
Linux内核“Dirty Frag”漏洞(CVE-2026-43284)修复方案
linux·运维·服务器
曦夜日长17 分钟前
Linux系统篇,权限(一):用户创建与切换、权限及角色定义与修改、文件权限二进制表示
linux·运维·服务器
原来是猿18 分钟前
应用层【协议再识/序列化与反序列化】
linux·运维·服务器·网络·网络协议·tcp/ip
麟听科技23 分钟前
HarmonyOS 6.0+ 跨端智能写作助手开发实战:多设备接续编辑与AI辅助创作落地
人工智能·分布式·华为·harmonyos·ai写作
北风toto31 分钟前
log4j中文日志乱码问号-Linux启动jar包,输出中文日志变成问号?
linux·log4j·jar
实心儿儿39 分钟前
Linux —— 库的制作和原理(3)
linux·运维·服务器