驾校网站建设方案,徐州网络推广,wordpress文件换位置,wordpress添加关键词后在哪能看到Zookeeper 3.8.4 安装部署帮助手册
Zookeeper3.4.6升级至3.5.5以上的升级方案 文章目录 Zookeeper 3.8.4 安装部署帮助手册安装包系统准备安装步骤创建用户创建目录解压软件包配置zookeeper环境变量配置文件配置zoo.cfg配置myid文件配置日志 启停ZooKeeper启动检查状态检查命令…Zookeeper 3.8.4 安装部署帮助手册
Zookeeper3.4.6升级至3.5.5以上的升级方案 文章目录 Zookeeper 3.8.4 安装部署帮助手册安装包系统准备安装步骤创建用户创建目录解压软件包配置zookeeper环境变量配置文件配置zoo.cfg配置myid文件配置日志 启停ZooKeeper启动检查状态检查命令行执行检查 停止 若没有特殊标注命令使用
root执行。 安装包
安装本软件涉及的软件包为
jdk1.8.0_161.tgzapache-zookeeper-3.8.4-bin.tar.gz
系统准备
### 端口检查
确认如下端口不被占用 2181 对客户端提供服务 2888 内部通讯端口 3888 选举leader端口
执行命令 netstat -apn | grep 2181;netstat -apn | grep 2888;netstat -apn | grep 3888; 安装步骤
创建用户
命令如下
groupadd zookeeper -g 800 useradd -g zookeeper -u 800 zookeeper;创建目录
命令如下
mkdir -p /data/zookeeper/{zkdata,logs,software};
chown -R zookeeper:zookeeper /data/zookeeper;
ln -snf /data/zookeeper/zkdata /home/zookeeper/zkdata;
ln -snf /data/zookeeper/logs /home/zookeeper/logs;
ln -snf /data/zookeeper/software /home/zookeeper/software;
chown -R zookeeper:zookeeper /home/zookeeper;解压软件包
解压JDK和zookeeper安装包至/home/zookeeper/software下并创建相应的软链接。命令如下
tar -zxf /data/install_package/jdk1.8.0_161.tgz -C /home/zookeeper/software/;
tar -zxf /data/install_package/apache-zookeeper-3.8.4-bin.tar.gz -C /home/zookeeper/software/;
cd /home/zookeeper/software;
ln -snf jdk1.8.0_161 java;
ln -snf apache-zookeeper-3.8.4-bin zookeeper;
chown -R zookeeper:zookeeper /home/zookeeper/software/;此时/home/zookeeper/software目录有关zookeeper的如下
lrwxrwxrwx 1 zookeeper zookeeper 12 Jul 19 19:07 java - jdk1.8.0_161
drwxr-xr-x 8 zookeeper zookeeper 4096 Dec 20 2017 jdk1.8.0_161
lrwxrwxrwx 1 zookeeper zookeeper 15 Jul 19 19:07 zookeeper - zookeeper-3.4.9
drwxr-xr-x 10 zookeeper zookeeper 4096 Aug 23 2016 zookeeper-3.4.9配置zookeeper环境变量
配置zookeeper用户的java和zookeeper的环境变量。
切换到zookeeper用户本文档zookeeper安装的后续操作均使用zookeeper用户。
su - zookeeper编辑/home/zookeeper/.bashrc设置java和zookeeper的环境变量
文件追加内容末尾添加
#Java config
export JAVA_HOME/home/zookeeper/software/java
#ZooKeeper config
export ZOOKEEPER_HOME/home/zookeeper/software/zookeeper
export PATH$JAVA_HOME/bin:$ZOOKEEPER_HOME/bin:$ZOOKEEPER_HOME/tools:$PATH立即生效执行命令
source /home/zookeeper/.bashrc配置文件
配置zoo.cfg
生成/home/zookeeper/software/zookeeper/conf/zoo.cfg文件命令如下
cp /home/zookeeper/software/zookeeper/conf/zoo_sample.cfg /home/zookeeper/software/zookeeper/conf/zoo.cfg编辑zoo.cfg文件内容命令如下
vim /home/zookeeper/software/zookeeper/conf/zoo.cfgzoo.cfg需要修改的内容说明
# tick时间单位长度,单位毫秒
tickTime2000
# follower初始连接leader超时,其值代表tickTime的倍数
initLimit10
# follower同步超时,其值代表tickTime的倍数
syncLimit5
# 客户端连接端口
clientPort2181
# ZooKeeper存储内存数据库快照的位置
dataDir/home/zookeeper/zkdata/
# ZooKeeper存储数据库更新事务日志的位置
dataLogDir/home/zookeeper/logs/
# 启用后ZooKeeper 自动清除功能会在 dataDir 和 dataLogDir 中分别保留 autopurge.snapRetainCount 值相同个数的最新快照和相应的事务日志并删除其余部分。默认为 3。最小值为 3。
autopurge.snapRetainCount5
# 触发清除任务的时间间隔小时。设置为正整数1 及以上可启用自动清除。默认为 0。
autopurge.purgeInterval1
# 关闭 AdminServerJetty服务
admin.enableServerfalse
# 四字快捷命令白名单
4lw.commands.whitelist*# 配置ZK集群服务器地址与开放端口信息
server.1hadoop1-outer1.test.com:2888:3888
server.2hadoop1-outer2.test.com:2888:3888
server.3hadoop1-outer3.test.com:2888:3888配置zookeeper集群服务器地址说明
server.1hadoop1-outer1.test.com:2888:3888
server.2hadoop1-outer2.test.com:2888:3888
server.3hadoop1-outer3.test.com:2888:3888每个zk服务器都在配置文件中用一个server.行表示后跟服务器的唯一标识符这里用从1开始递增的数字然后是服务器的主机名例如hadoop1.test.com:内部通讯端口:选举leader端口
配置myid文件
根据zoo.cfg中zookeeper集群服务器配置每个节点都创建各自的myid文件每个节点文件内容不相同。
文件内容是在zoo.cfg文件中当前主机名对应的server.开头的行server.后的唯一标识符。
例如当前是hadoop1-outer1节点则服务器的唯一标识符为1执行如下命令
echo 1 /home/zookeeper/zkdata/myid查看下创建成功执行cat命令
cat /home/zookeeper/zkdata/myid显示如下
[roothadoop1 software]# cat /home/zookeeper/zkdata/myid
1#### 配置zookeeper服务的内存
(需要调整么怎么验证呢垃圾回收器是否要用G1GC
新增java.env文件增加关于JAVA的启动参数配置JVMFLAGS编辑命令如下
vim /home/zookeeper/software/zookeeper/conf/java.env文件内容如下
export JVMFLAGS-server -Xmx2g -Xms2g -XX:UseConcMarkSweepGC -XX:UseParNewGC -XX:CMSParallelRemarkEnabled-XX:UseCMSInitiatingOccupancyOnly -XX:CMSInitiatingOccupancyFraction70 -XX:HeapDumpOnOutOfMemoryError -XX:HeapDumpPath../dumps $JVMFLAGS其中可以可以根据情况调整如下项的内容:
-Xmx JVM最大允许分配的堆内存-Xms JVM初始化分配的堆内存
配置日志
配置运行日志与审计日志
vim /home/zookeeper/software/zookeeper/conf/logback.xml节点运行日志输出到日志文件解开ROLLINGFILE的appender节点注释并调整其内容 appender nameROLLINGFILE classch.qos.logback.core.rolling.RollingFileAppenderFile${zookeeper.log.dir}/${zookeeper.log.file}/Fileencoderpattern%d{ISO8601} [myid:%X{myid}] - %-5p [%t:%C{1}%L] - %m%n/pattern/encoderfilter classch.qos.logback.classic.filter.ThresholdFilterlevel${zookeeper.log.threshold}/level/filterrollingPolicy classch.qos.logback.core.rolling.FixedWindowRollingPolicymaxIndex${zookeeper.log.maxbackupindex}/maxIndexFileNamePattern${zookeeper.log.dir}/${zookeeper.log.file}.%i/FileNamePattern/rollingPolicytriggeringPolicy classch.qos.logback.core.rolling.SizeBasedTriggeringPolicyMaxFileSize${zookeeper.log.maxfilesize}/MaxFileSize/triggeringPolicy/appenderroot levelINFOappender-ref refCONSOLE /appender-ref refROLLINGFILE //rootrollingPolicy节点代表设置日志滚动策略。其下支持参数
maxIndex代表最多保留的日志文件个数的上限minIndex代表最多保留的日志文件个数的下限基本不用配置fileNamePattern代表指定文件滚动文件的命名模式.%i用于处理当单个文件达到maxFileSize时的情况.%i会递增数字以创建新的文件。
triggeringPolicy节点代表设置日志文件触发滚动条件。其下支持参数
MaxFileSize设置为当单个日志文件大小达到某个值时触发滚动。
启停ZooKeeper
本节内容均使用zookeeper用户
su - zookeeper启动
所有zookeeper节点分别执行以下命令
cd /home/zookeeper;zkServer.sh start结果显示如下
[zookeeperhadoop1 ~]$ zkServer.sh start
ZooKeeper JMX enabled by default
Using config: /home/zookeeper/software/zookeeper/bin/../conf/zoo.cfg
Starting zookeeper ... STARTED检查
状态检查
ZooKeeper机器分别执行以下命令
zkServer.sh status显示结果仅有1台机器Mode显示为leader 其他都为follower
[zookeeperhadoop1 ~]$ zkServer.sh status
ZooKeeper JMX enabled by default
Using config: /home/zookeeper/software/zookeeper/bin/../conf/zoo.cfg
Mode: follower命令行执行检查
任意选择一台节点进入ZooKeeper的命令行连接地址为ZooKeeper所有机器和配置文件zoo.cfg的clientPort格式为 host1:port,host2:port,host3:port
zkCli.sh -server hadoop1-outer1.test.com:2181,hadoop2-outer1.test.com:2181,hadoop3-outer1.test.com:2181结果显示正常状态下进入CONNECTED
[zookeeperhadoop1-outer1 ~]$ zkCli.sh -server hadoop1-outer1.test.com:2181,hadoop2-outer1.test.com:2181,hadoop3-outer1.test.com:2181
Connecting to hadoop1-outer1.test.com:2181,hadoop1-outer1.test.com:2181,hadoop1-outer1.test.com:2181
...
...
...
2025-06-11 17:34:50,078 [myid:] - INFO [main:o.a.z.ZooKeeper637] - Initiating client connection, connectStringhadoop1-outer1.test.com:2181,hadoop1-outer1.test.com:2181,hadoop1-outer1.test.com:2181 sessionTimeout30000 watcherorg.apache.zookeeper.ZooKeeperMain$MyWatcher6a41eaa2
2025-06-11 17:34:50,086 [myid:] - INFO [main:o.a.z.c.X509Util78] - Setting -D jdk.tls.rejectClientInitiatedRenegotiationtrue to disable client-initiated TLS renegotiation
2025-06-11 17:34:50,095 [myid:] - INFO [main:o.a.z.ClientCnxnSocket239] - jute.maxbuffer value is 1048575 Bytes
2025-06-11 17:34:50,108 [myid:] - INFO [main:o.a.z.ClientCnxn1747] - zookeeper.request.timeout value is 0. feature enabledfalse
Welcome to ZooKeeper!
2025-06-11 17:34:50,122 [myid:hadoop1-outer1.test.com:2181] - INFO [main-SendThread(hadoop1-outer1.test.com:2181):o.a.z.ClientCnxn$SendThread1177] - Opening socket connection to server hadoop1-outer1.test.com/10.237.195.42:2181.
2025-06-11 17:34:50,122 [myid:hadoop1-outer1.test.com:2181] - INFO [main-SendThread(hadoop1-outer1.test.com:2181):o.a.z.ClientCnxn$SendThread1179] - SASL config status: Will not attempt to authenticate using SASL (unknown error)
JLine support is enabled
2025-06-11 17:34:50,133 [myid:hadoop1-outer1.test.com:2181] - INFO [main-SendThread(hadoop1-outer1.test.com:2181):o.a.z.ClientCnxn$SendThread1013] - Socket connection established, initiating session, client: /10.237.195.42:40616, server: hadoop1-outer1.test.com/10.237.195.42:2181
2025-06-11 17:34:50,155 [myid:hadoop1-outer1.test.com:2181] - INFO [main-SendThread(hadoop1-outer1.test.com:2181):o.a.z.ClientCnxn$SendThread1453] - Session establishment complete on server hadoop1-outer1.test.com/10.237.195.42:2181, session id 0x10df9f7f0320005, negotiated timeout 30000WATCHER::WatchedEvent state:SyncConnected type:None path:null
[zk: hadoop1-outer1.test.com:2181,hadoop1-outer1.test.com:2181,hadoop1-outer1.test.com:2181(CONNECTED) 0] zkCli模式下创建znode操作命令
create /test 1正常的显示信息
Created /testzkCli模式下查看znode信息操作命令
get -s /test正常的显示信息
1
cZxid 0x100000032
ctime Wed Jun 11 17:37:06 CST 2025
mZxid 0x100000032
mtime Wed Jun 11 17:37:06 CST 2025
pZxid 0x100000032
cversion 0
dataVersion 0
aclVersion 0
ephemeralOwner 0x0
dataLength 1
numChildren 0zkCli模式下删除znode操作命令
delete /test退出zkCli模式的命令
quit停止
所有ZooKeeper节点分别执行
zkServer.sh stop