zookeeper配置文件zoo.cfg简单笔记

本文详细解析了Zookeeper的配置参数,包括tickTime、dataDir、clientPort等关键配置项的作用及影响,帮助读者理解Zookeeper的工作原理和优化配置。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

# 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
admin.serverPort=8888

server.0=ip:2888:3888

1、tickTime:基本事件单元,这个时间是作为Zookeeper服务器之间或客户端与服务器之间维持心跳的时间间隔,每隔tickTime时间就会发送一个心跳;最小 的session过期时间为2倍tickTime
2、dataDir:存储内存中数据库快照的位置,除非另有说明,否则指向数据库更新的事务日志。注意:应该谨慎的选择日志存放的位置,使用专用的日志存储设备能够大大提高系统的性能,如果将日志存储在比较繁忙的存储设备上,那么将会很大程度上影像系统性能。
3、client:监听客户端连接的端口。
4、initLimit:允许follower连接并同步到Leader的初始化连接时间,以tickTime为单位。当初始化连接时间超过该值,则表示连接失败。
5、syncLimit:表示Leader与Follower之间发送消息时,请求和应答时间长度。如果follower在设置时间内不能与leader通信,那么此follower将会被丢弃。
6、server.A=B:C:D

A:其中 A 是一个数字,表示这个是服务器的编号;

B:是集群的各个IP地址;

C:Leader选举的端口;

D:Zookeeper服务器之间的通信端口。

在这里插入图片描述
A配置与dataDir下面的myid里面

在这里插入图片描述
注意:有zk的选举策略 我们必须设置zk的个数为2N+1
以及如何避免脑裂问题见参照地址
参照地址
一个机器搭建多个zk做分布式测试
zk与kafka整合

// cluster1 上 将zookeeper 解压到/usr/local 目录下,配置环境变量 # vi /etc/profile // 添加以下内容 export ZOOKEEPER_HOME=/usr/local/zookeeper-3.4.6 export PATH=$ZOOKEEPER_HOME/bin:$PATH # cd /usr/local/zookeeper-3.4.6 // 在 conf 中新建zoo.cfg 文件 # vi conf/zoo.cfg // 输入以下内容 # 客户端心跳时间(毫秒) tickTime=2000 # 允许心跳间隔的最大时间 initLimit=10 # 同步时限 syncLimit=5 # 数据存储目录 dataDir=/home/hadoop_files/hadoop_data/zookeeper # 数据日志存储目录 dataLogDir=/home/hadoop_files/hadoop_logs/zookeeper/dataLog # 端口号 clientPort=2181 # 集群节点和服务端口配置 server.1=cluster1:2888:3888 server.2=cluster2:2888:3888 server.3=cluster3:2888:3888 // 创建 zookeeper 的数据存储目录和日志存储目录 14 大数据技术课程笔记本虚拟机搭建Hadoop集群操作文档 # mkdir -p /home/hadoop_files/hadoop_data/zookeeper # mkdir -p /home/hadoop_files/hadoop_logs/zookeeper/dataLog # mkdir -p /home/hadoop_files/hadoop_logs/zookeeper/logs // 修改文件夹的权限 # chown -R hadoop:hadoop /home/hadoop_files # chown -R hadoop:hadoop /usr/local/zookeeper-3.4.6 // 在 cluster1 号服务器的 data 目录中创建一个文件myid,输入内容为1 // myid 应与zoo.cfg 中的集群节点相匹配 # echo "1" >> /home/hadoop_files/hadoop_data/zookeeper/myid // 修改 zookeeper 的日志输出路径(注意CDH版与原生版配置文件不同) # vi bin/zkEnv.sh // 将配置文件里面的以下项替换为红字的内容 if [ "x${ZOO_LOG_DIR}" = "x" ] then ZOO_LOG_DIR="/home/hadoop_files/hadoop_logs/zookeeper/logs" fi if [ "x${ZOO_LOG4J_PROP}" = "x" ] then ZOO_LOG4J_PROP="INFO,ROLLINGFILE" fi // 修改 zookeeper 的日志配置文件 # vi conf/log4j.properties // 修改为以下内容: zookeeper.root.logger=INFO,ROLLINGFILE log4j.appender.ROLLINGFILE=org.apache.log4j.DailyRollingFileAppender 将这个zookeeper-3.4.6 的目录复制到其他的两个节点上 # scp -r /usr/local/zookeeper-3.4.6 cluster2:/usr/local/ # scp -r /usr/local/zookeeper-3.4.6 cluster3:/usr/local/ // 退回 hadoop 用户 # exit // 刷新环境变量 $ source /etc/profile 完成了这些操作,启动时出现了JMX enabled by default Using config: /usr/local/zookeeper-3.4.6/bin/../conf/zoo.cfg Starting zookeeper ... /usr/local/zookeeper-3.4.6/bin/zkServer.sh: line 113: /home/hadoop_er.pid: Permission denied FAILED TO WRITE PID
最新发布
03-24
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值