[应用场景]

对分片副本表的列进行 alter 操作

[问题复现]

[解决办法]

检查该分片所有副本表的表结构和 zk 上存储的 column 信息保持一致,检查本地的表结构 sql 文件 /data/clickhouse/clickhouse-server/metadata/default/srmp_youpin_user_action_detail_oi_bs.sql 和 zk 上存储的 column 元信息, 注意 zk 上存储 column 的信息有两处:

/clickhouse/tables/default-11/default/srmp_youpin_user_action_detail_oi_bs/columns

/clickhouse/tables/default-11/default/srmp_youpin_user_action_detail_oi_bs/replicas/172.16.16.42/columns

具体步骤如下:

1.重命名本地元数据SQL文件,比如: mv /data/clickhouse/clickhouse-server/metadata/default/srmp_youpin_user_action_detail_oi_bs.sql /data/clickhouse/clickhouse-server/metadata/default/srmp_youpin_user_action_detail_oi_bs.sql.bak

2.重启 clichouse-server

3.通过set 命令, 修改 zk 上两处 column 信息,例如;bin/zkCli.sh -server 172.16.16.28 set /clickhouse/tables/default-11/default/srmp_youpin_user_action_detail_oi_bs/columns "cat /opt/sre_dir/11_col_2"

4.编辑第一步中 sql.bak 文件,使之与第三步中 zk 中的信息一致.并把文件名改回来, mv xxx.sql.bak xxx.sql

5.执行 atttach 语句: attach table srmp_youpin_user_action_detail_oi_bs

如果这样操作以后,还是报和 zookeeper 上的元数据不一致的错误,例如:



这个时候要恢复业务,只能新建同样结构的副本表,新建时设置与旧的副本表 zookeeper 地址不一样.接着再手动把旧表的数据 attach 到新表上.操作步骤见:

https://www.cnblogs.com/hdpdriver/p/16088755.html

接着删除旧表,将新表重命名为旧表名,完成迁移.

最新文章

  1. 客户端连接RMS服务,报:服务暂时不可用,请确保已连接到此服务器…….
  2. jQuery函数attr()和prop()的区别
  3. @MyBatis中的if...else...
  4. SVM实用操作: svmtrain and svmclassify
  5. fork炸弹
  6. Oracle Group by+rollup+cube 的应用
  7. Hibernate 抓取策略fetch-2 (批量抓取batch-size以及hibernate.jdbc.fetch_size、hibernate.jdbc.batch_size)
  8. myeclipse使用SVN团队开发
  9. git config
  10. Tornado-Form表单验证
  11. 深入理解redis数据类型
  12. Perl使用模块和@INC
  13. hibernate 解决诡异的mysql存入中文乱码
  14. Linux文件压缩与打包笔记
  15. python中序列化模块json和pickle
  16. 【395】yield 和 yield from
  17. sqoop 使用笔记
  18. 20171018 在小程序页面去获取用户的OpenID
  19. how-to-view-source-of-chrome-extension
  20. Dubbo配置优化

热门文章

  1. python面试_总结04_字符串练习题
  2. MyBatis 使用(XML版本)
  3. LeetCode-103-二叉树的锯齿形层序遍历
  4. thinkphp 用户登录记录日记
  5. CentOS下mysql常用命令
  6. LGP6276题解
  7. LGP4229题解
  8. PO模式在selenium自动化测试框架有什么好处
  9. ASP.NET Core 6框架揭秘实例演示[25]:配置与承载环境的应用
  10. 女朋友问我深浅copy到底是什么?