ClickHouse 卸载与清理
clickhouse_ansible 已包含正式的清理剧本:playbooks/uninstall_cluster.yml。它适合演练完成后的环境回收,也适合反复重装前的清场。
1. 适用范围
- 卸载源集群:
inventory/hosts.deploy.ini - 卸载容灾集群:
inventory/hosts.dr_deploy.ini
要求:
- inventory 的
dbbot_inventory_purpose=deploy - 默认必须人工确认
2. 标准命令
卸载源集群:
cd /usr/local/dbbot/clickhouse_ansible/playbooks
ansible-playbook \
-i ../inventory/hosts.deploy.ini \
uninstall_cluster.yml
卸载容灾集群:
cd /usr/local/dbbot/clickhouse_ansible/playbooks
ansible-playbook \
-i ../inventory/hosts.dr_deploy.ini \
uninstall_cluster.yml
3. 默认会清理什么
文件:playbooks/vars/uninstall_config.yml
默认开启:
- 停止并禁用 ClickHouse 服务
- 删除 ClickHouse 配置目录
- 删除 ClickHouse 数据目录
- 删除 ClickHouse 日志目录
- 删除快捷登录配置
- 删除 ClickHouse 二进制
- 删除独立 ZooKeeper(若当前模式使用 ZooKeeper)
默认关闭:
- 卸载
/backup挂载 - 删除 NFS 客户端挂载脚本
也就是说,NFS 客户端挂载痕迹默认不会跟着一起清掉,避免误删共享备份盘。
4. 常用变量
| 变量 | 默认值 | 作用 |
|---|---|---|
uninstall_require_manual_confirm | true | 卸载前是否要求确认 |
uninstall_purge_clickhouse_config | true | 是否删除配置目录 |
uninstall_purge_clickhouse_data | true | 是否删除数据目录 |
uninstall_purge_clickhouse_logs | true | 是否删除日志目录 |
uninstall_remove_clickhouse_binaries | true | 是否删除 ClickHouse 二进制 |
uninstall_remove_backup_mount | false | 是否顺带卸载 /backup 并移除挂载脚本 |
uninstall_purge_zookeeper | true | 是否清理独立 ZooKeeper |
5. 如果要连带清理 NFS 客户端挂载
cd /usr/local/dbbot/clickhouse_ansible/playbooks
ansible-playbook \
-i ../inventory/hosts.deploy.ini \
uninstall_cluster.yml \
-e "uninstall_remove_backup_mount=true"
这会尝试:
- 移除
rc.local中的挂载入口 - 卸载
/backup - 删除挂载脚本与日志
6. 注意事项
- 这是高风险清理动作,默认需要手工输入确认短语。
- 若目标主机还有其他业务依赖
/backup,不要直接打开uninstall_remove_backup_mount=true。 - 如果你的目标只是“重装 ClickHouse”,通常不需要同时清理 NFS 服务端。