python运维

环境准备

安装python3环境

bash 复制代码
# centos 安装python3
yum install python3

创建激活venv

bash 复制代码
python3 -m venv .venv
source .venv/bin/activate

zookeeper

pip install kazoo

递归复制目录

python 复制代码
from kazoo.client import KazooClient

def copy_node(zk, source_path, destination_path):
    # 获取源节点的数据
    data, stat = zk.get(source_path)
    
    # 在目标路径创建节点
    zk.create(destination_path, data)
    
    # 获取子节点
    children = zk.get_children(source_path)
    for child in children:
        # 递归复制子节点
        copy_node(zk, f"{source_path}/{child}", f"{destination_path}/{child}")

zk = KazooClient(hosts='127.0.0.1:2181')
zk.start()

copy_node(zk, '/source_node', '/destination_node')

zk.stop()

设置key的值带有换行符

也可以用zkCli工具,先把值内容写入文件,再执行命令:./zkCli.sh -server 127.0.0.1:2181 set /your/znode/path "cat /tmp/path_value"

python 复制代码
from kazoo.client import KazooClient

# 连接到 Zookeeper
zk = KazooClient(hosts='127.0.0.1:2181')
zk.start()

# 要设置的 key
znode_path = "/your/znode/path"

# 要设置的值,包含换行符
value = """parseTreeCache:
  initialCapacity: 128
  maximumSize: 1024
sqlStatementCache:
  initialCapacity: 2000
  maximumSize: 65535"""

# 设置 Zookeeper znode 的值
zk.set(znode_path, value.encode('utf-8'))

# 关闭连接
zk.stop()
相关推荐
无限进步_2 分钟前
【C++】巧用静态变量与构造函数:一种非常规的求和实现
开发语言·c++·git·算法·leetcode·github·visual studio
Advancer-5 分钟前
RedisTemplate 两种序列化实践方案
java·开发语言·redis
郝学胜-神的一滴13 分钟前
Socket实战:从单端聊天到多用户连接的实现秘籍
服务器·开发语言·python·网络协议·pycharm
zzwq.17 分钟前
线程池与进程池:concurrent.futures高效并发
python
小超超爱学习993719 分钟前
大数乘法,超级简单模板
开发语言·c++·算法
MichealChen01050820 分钟前
Influxdb-cluster使用docker部署
运维·docker·容器
java1234_小锋23 分钟前
Java高频面试题:MyBatis如何实现动态数据源切换?
java·开发语言·mybatis
knighthood200127 分钟前
Qt5.15+VTK9.3.0实现点云点选功能
开发语言·qt
墨神谕32 分钟前
Java中,为什么要将.java文件编译成,class文件,而不是直接将.java编译成机器码
java·开发语言
wqfhenanxc32 分钟前
AirFlow安装和使用
运维