[root@localhost version-2]# file log.100000001 log.100000001: data [root@localhost version-2]# file snapshot.0 snapshot.0: data [root@localhost version-2]# 下面是我们用ZooKeeper自带的工具来阅读事务日志。 这个是早期的版本用这个方法 java -cp "/opt/zookeeper/lib/*" \ org.apache.zookeeper.server.LogFormatter \ /opt/zookeeper/data/version /data/version-2/log.1 写这个文章是告诉大家一个ZooKeeper的功能,如果你做好了前面的配置,你是没机会用到它的。但是作为你更加理解ZK还是可以的。 [root@localhost version-2]# strings log.600000001 ZKLG /abcdef world anyone [root@localhost version-
/bin/bash dataDir=/home/zk/zk_data/version-2 dataLogDir=/home/zk/zk_log/version-2 ls -t $dataLogDir rm -f ls -t $logDir/zookeeper.log.* | tail -n +$count | xargs rm -f find /home/home/zk/zk_data/version -2 -name "snap*" -mtime +1 | xargs rm -f find /home/home/zk/zk_data/version
我的配置如下 dataDir=/tpdata/zookeeper (2)日志文件 zookeeper的日志为二进制格式文件,不能直接查看 [root@node1 version-2]# pwd /tpdata /zookeeper/version-2 [root@node1 version-2]# ll 总用量 252 -rw-r--r-- 1 root root 2 8月 22 00:29 -2/ [root@node1 zookeeper-3.4.10]# cp lib/slf4j-api-1.6.1.jar /tpdata/zookeeper/version-2/ (2)通过jar包解析日志 [root@node1 zookeeper-3.4.10]# cd /tpdata/zookeeper/version-2/ [root@node1 version-2]# java -classpath [root@node1 version-2]#
CM5.16.2 2.集群启用:Kerbeos+OpenLDAP+Sentry 2.Zookeeper事务日志和快照介绍 Zookeeper 的数据先写入数据目录(CDH中默认/var/lib/zookeeper/version 1.7.5.jar:/tmp/zookeeper/slf4j-api-1.7.5.jar org.apache.zookeeper.server.LogFormatter /tmp/zookeeper/version jar:/tmp/zookeeper/slf4j-api-1.7.5.jar org.apache.zookeeper.server.SnapshotFormatter /tmp/zookeeper/version 把对应znode的数据目录/var/lib/zookeeper/version-2/ 拷贝到/tmp/zookeeper下进行分析,看到对应的transaction和snapshots文件 cp -r /var/lib/zookeeper/version-2/ . ?
环境: 软件版本:zookeeper-3.4.9 默认安装路径 $ZK_HOME = /usr/zookeeper 解决办法,删除 /var/zookeeper/datadir/zk3/version 04-02 22:29:12,544 [myid:3] - INFO [main:FileSnap@83] - Reading snapshot /var/zookeeper/datadir/zk3/version org.apache.zookeeper.server.quorum.QuorumPeer.loadDataBase(QuorumPeer.java:539) ... 4 more Removing data from /var/zookeeper/version server.3=master:2889:3889 移动到datadir 目录 cd /var/zookeeper/datadir/zk3 删除/var/zookeeper/datadir/zk3/version -2目录 mv version-2 .
zoo.cfg 的配置是这样: dataDir=/tmp/zookeeper/snapshot dataLogDir=/tmp/zookeeper/log 当 ZK 启动后会基于上面两个路径继续创建 version -2 子路径,之后的文件都会在该子路径下创建 /tmp └── zookeeper ├── snapshot └── version-2 └── ... └─ ─ log └── version-2 └── ... {zxid} zxid 对应当时创建该文件时的最大 zxid,假设现在创建时 zxid 为 0,那目录结构会是这样: /tmp └── zookeeper └── log └── version -2 └── snapshot.5 └── snapshot.37 └── snapshot.100 └── log └── version
source一次才可以; 注意各个组件的配置文件 zookeeper: zookeeper/conf/zoo.cfg 运行参数的配置文件 zookeeper/data 自定义工作目录 内有myid version -2 zookeeper_server.pid,version-2里有snapshot.xxxxxxxx zookeeper/没配置目录,默认在/bin/zookeeper.out zookeeper
12000 maxSessionTimeout 120000 datadir E:\111softwares\zookeeper-3.4.5\zookeeper-3.4.5\oyy\zookeeper\version -2 snapdir E:\111softwares\zookeeper-3.4.5\zookeeper-3.4.5\oyy\zookeeper\version-2 2018-09-13 09:46:27,931 12000 maxSessionTimeout 120000 datadir E:\111softwares\zookeeper-3.4.5\zookeeper-3.4.5.3\oyy\zookeeper\version -2 snapdir E:\111softwares\zookeeper-3.4.5\zookeeper-3.4.5.3\oyy\zookeeper\version-2 2018-09-13 09:45 FileTxnSnapLog@240] - Snapshotting: 0x0 to E:\111softwares\zookeeper-3.4.5\zookeeper-3.4.5.3\oyy\zookeeper\version
dataDir的文件结构如下: ➜ ~ tree -L 2 zookeepers/data zookeepers/data ├── 2181 │ ├── myid │ ├── version- 2 │ └── zookeeper_server.pid ├── 2182 │ ├── myid │ ├── version-2 │ └── zookeeper_server.pid └ ── 2183 ├── myid ├── version-2 └── zookeeper_server.pid 6 directories, 6 files myid 也就是cfg
zookeeper无法启动 查看zookeeper.out 日志 [myid:3] - INFO [main:FileSnap@83] - Reading log /hadoop/zookeeper/version ERROR [main:QuorumPeer@648] - Unable to load database on disk 后面还报了cannot access /hadoop/zookeeper/version 遂查看/hadoop/zookeeper/version-2/目录权限。 -2 [root@node12 zookeeper]# ll /hadoop/zookeeper/version-2/ total 580 -rw-r----- 1 root root 1 Dec 1 - 1 root root 67108880 Dec 1 18:15 log.10000000 修改文件权限 chown -R zookeeper:hadoop /hadoop/zookeeper/version
#这只是个范例,现场环境不一样下面的数量不一定是一样的 [root@localhost ~]# tree /tmp/zookeeper/ /tmp/zookeeper/ ├── myid ├── version 目录version-2:存储ZooKeeper的数据日志文件目录。 Epoch:简单理解就是前面提到选举的任期,在选举中有最高优先级,因为数据里面就包含它。
zookeeper-3.5.8.jar:zookeeper-jute-3.5.8.jar org.apache.zookeeper.server.LogFormatter /tmp/zookeeper/version zookeeper-3.5.8.jar:zookeeper-jute-3.5.8.jar org.apache.zookeeper.server.SnapshotFormatter /tmp/zookeeper/version zookeeper-3.5.8.jar:zookeeper-jute-3.5.8.jar org.apache.zookeeper.server.SnapshotFormatter /tmp/zookeeper/version
异常信息如下: 1 2 3 2017-05-15 11:02:24,421 - INFO [main:FileSnap@83] - Reading snapshot /hadoop/zookeeper/version 折腾了一下,发现,把ZooKeeper安装目录下的data/log/version-2下的,大小为0(异常的)日志,删除掉后,再重启 ,问题解决!
$ echo conf | nc localhost 2181 clientPort=2181 dataDir=/home/tim/zkdata/version-2 dataLogDir=/home/tim /zkdata/version-2 tickTime=2000 maxClientCnxns=60 minSessionTimeout=1000 maxSessionTimeout=1500 serverId
write.lock│ │ └── tlog│ ├── solr.xml│ ├── zoo.cfg│ └── zoo_data│ └── version
,生成 Keeper 的 snapshot 文件 命令参考: clickhouse-keeper-converter --zookeeper-logs-dir /var/lib/zookeeper/version -2 --zookeeper-snapshots-dir /var/lib/zookeeper/version-2 --output-dir /path/to/clickhouse/keeper/snapshots
【问题原因】 迁移Zookeeper数据需要创建/XXX/XXX/version-2/目录,并将目录属主和属组都赋予Zookeeper,否则Zookeeper无法向新数据目录写入数据。 【解决办法】 重启Zookeeper前,需要手动创建/data6/var/lib/zookeeper/version-2/目录,确保目录权限为755,并更改目录属主和属组为:zookeeper。
,生成 Keeper 的 snapshot 文件 命令参考: clickhouse-keeper-converter --zookeeper-logs-dir /var/lib/zookeeper/version -2 --zookeeper-snapshots-dir /var/lib/zookeeper/version-2 --output-dir /path/to/clickhouse/keeper/snapshots
存储文件 ZooKeeper运行一段时间后,在配置的目录中将创建子目录version-2: {dataLogDir配置目录}/version-2 version-2是当前ZooKeeper使用的事务日志格式版本号 version-2中生成日志文件如下图: 文件名 事务日志文件的文件名是一个十六进制数字,高32位为Leader选举周期(epoch),低32为是事务ZXID。
tickTime 2000 minSessionTimeout 4000 maxSessionTimeout 40000 datadir D:IdeaProjectszookeeperSourcedata\version -2 snapdir D:IdeaProjectszookeeperSourcedata\version-2 2020-11-27 11:13:48,014 [myid:] - INFO [main: 11:13:48,511 [myid:] - INFO [main:FileSnap@83] - Reading snapshot D:IdeaProjectszookeeperSourcedata\version [myid:] - INFO [main:FileTxnSnapLog@404] - Snapshotting: 0x4 to D:IdeaProjectszookeeperSourcedata\version