美文网首页
查看zookeeper执行事务

查看zookeeper执行事务

作者: ShootHzj | 来源:发表于2022-10-21 19:43 被阅读0次

有时候,我们会需要追溯zookeeper在某个时间点执行的事务日志,这个时候,我们可以通过zkTxnLogToolkit.sh查看zookeeper的事务日志,先通过如下代码来向zookeeper写入数据

@Log4j2
public class ZooKeeperWriteDataDemo {

    public static void main(String[] args) throws Exception {
        ZooKeeper zooKeeper = new ZooKeeper("localhost:2181", 30_000, null);
        zooKeeper.create("/zk-test", "hello".getBytes(), ZooDefs.Ids.OPEN_ACL_UNSAFE, CreateMode.PERSISTENT);
        Stat stat = zooKeeper.setData("/zk-test", "world".getBytes(), -1);
        byte[] zooKeeperData = zooKeeper.getData("/zk-test", false, stat);
        log.info("zookeeper data len is {}", zooKeeperData);
        zooKeeper.close();
    }

}

使用./bin/zkTxnLogToolkit.sh脚本,执行如下命令行

bin/zkTxnLogToolkit.sh -v data/version-2/log.1

即可输出如下时间点的操作

10/21/22, 6:41:51 AM UTC session 0x10003415e890000 cxid 0x0 zxid 0x1 createSession 30000
10/21/22, 6:41:51 AM UTC session 0x10003415e890000 cxid 0x1 zxid 0x2 create /zk-test,hello,[31,s{'world,'anyone}
],false,1
10/21/22, 6:41:51 AM UTC session 0x10003415e890000 cxid 0x2 zxid 0x3 setData /zk-test,world,

相关文章

网友评论

      本文标题:查看zookeeper执行事务

      本文链接:https://www.haomeiwen.com/subject/jcjbzrtx.html