测试验证环境:

docker容器化部署的4节点2分片和2副本(centos7+clickhouse22.1.3)

172.17.0.6 clickhouse01
172.17.0.7 clickhouse02
172.17.0.8 clickhouse03

172.17.0.9 clickhouse04(故障节点)
172.17.0.10 clickhouse04 (替换节点)

节点重做

一般情况,节点操作系统重装或者硬盘故障节点重做处理情况

一般都是两副本以上的集群,所以可以直接同步另一个副本节点的配置,拷贝过来,节点正常安装服务进程

需要的拷贝的东西有一下几点:

1、配置文件(config.xml、users.xml),需要调整config.xml的配置文件,修改macros中的replica改成当前节点

2、鉴权目录access

3、数据的映射目录data(里面的软连接目录可以忽略不用管)

4、元数据目录metadata

5、实际的建表目录,这个需要查到metadata下面的数据库对应的软连接目录给打包到新节点

将上面的三个目录打成压缩包,拷贝到重做节点,注意要是打包,不然软连接会不存在,变成一个目录了,这个没有给连接到数据目录等等的问题

比较复杂的是第五步的操作,一般情况下这个是作为一个数仓的存储,创建的数据库也不会很多,我们这边的生产环境一般是7个数据库,所以也就是拷贝store目录下的7个目录既即可,将他拷贝到重做节点的store目录下就可以了,启动之后,节点会检测当前几点与副本之前的区别,是空的节点会直接同步副本中的数据,但是这一步会很耗资源,需要挑一个合适的时间点来做

做好这些,启动重做节点的clickhouse服务,查看启动服务是否有报错,没有报错的话就可以登录节点查一下数据情况了,并且可以查看用户和授权情况有没有正常,然后测试数据写入和读取情况

节点故障替换

几点替换操作可跟上面的操作一样,但是集群需要使用的域名映射的方式部署的,也就是不能通过ip来做的,如果是节点ip做的话,zookeeper元数据上的replicas下没法对应 上,可能会有其他的问题,应该也可以通过命令来修复zookeeper的元数据

system restore replica default.st_order_mt_local on cluster two_shard_two_replica

这个是我的这个表元数据不在zookeeper上的,执行完成后查看zookeeper上就能查到这个元数据了

个人的见解说明,如有不足请指正

一般clickhouse节点的目录都如下

access这个是跟权限相关,数据库的和用户的授权关系,用户的创建语句都在这个下面,如果只是数据盘故障重做的,这个可以去相同分片节点去拷贝过来,这样节点重启的时候,就可以得到原来集群的授权关系和用户信息

data这个目录是实际数据存储目录,各个表的软连接,全部都是连接到store目录下,实际的数据存储目录是store下,可以用备用节点去查看备用节点的软连接关系,这里可以只创建软连接地址,实际的数据不需要管,启动之后会从副本中去同步数据

clickhouse节点重做(节点替换)的更多相关文章

  1. jQuery实现节点克隆、替换和互换

    <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/ ...

  2. clickhouse高可用-节点宕机数据一致性方案-热扩容

    1. 集群节点及服务分配 说明: 1.1. 在每个节点上启动两个clickhouse服务(后面会详细介绍如何操作这一步),一个数据分片,一个数据备份,为了确保宕机数据一致性,数据分片和数据备份不能同一 ...

  3. 节点操作,节点属性的操作及DOM event事件

    ##1. 节点操作 createElement(标签名) 创建一个指定名称的元素 someone.appendChild(new_node) 追加一个子节点(作为最后的子节点) someone.ins ...

  4. dom操作------创建节点/插入节点

    <section> <div id="box" style="position: relative;"> <p id=" ...

  5. JQuery学习笔记(3)——节点操作 节点查找

    插入节点 内部插入 所谓的内部插入,就是指在节点里面的插入,而外部插入,则是在节点外面插入. append() prepend() appendTo() prependTo() append和prep ...

  6. DOM节点关系,节点关系

    DOM节点关系 定义 节点中的各种关系可以用传统的家族关系来描述,相当于把文档树比喻成家谱. 属性 [nodeType.nodeName.nodeValue] 每个节点都有这三个属性,且节点类型不同, ...

  7. SQL SERVER 2000 遍历父子关系数据的表(二叉树)获得所有子节点 所有父节点及节点层数函数

    ---SQL SERVER 2000 遍历父子关系數據表(二叉树)获得所有子节点 所有父节点及节点层数函数---Geovin Du 涂聚文--建立測試環境Create Table GeovinDu([ ...

  8. js jquery 获取元素(父节点,子节点,兄弟节点),元素筛选

    转载:https://www.cnblogs.com/ooo0/p/6278102.html js jquery 获取元素(父节点,子节点,兄弟节点) 一,js 获取元素(父节点,子节点,兄弟节点) ...

  9. 用JDOM和DOM4J解析节点名节点值

    1.用JDOM解析节点名和节点值 1.创建一个SAXBuilder对象 2.创建一个输入流, 将xml文件加载到文件中 3.   通过saxBuilder的方法,将输入流加载到saxBuilder 4 ...

  10. EasyUI tree 选中父节点子节点全部选中,选中子节点父节点不选中

    需求:EasyUI tree 选中父节点子节点全部选中,选中子节点父节点不选中 效果:   /**   * 给树增加onCheck事件,首先使用cascadeCheck:false属性禁止全选,   ...

随机推荐

  1. Django RESTful API设计与实践指南

    title: Django RESTful API设计与实践指南 date: 2024/5/14 15:37:45 updated: 2024/5/14 15:37:45 categories: 后端 ...

  2. UnityShader数学基础篇

    Mathf Mathf和Math 1.Math是C#中封装好的用于数学计算的工具类,位于System命名空间中. 2.Mathf是Unity中封装好的用于数学计算的工具结构体,位于UnityEngin ...

  3. git解决Enter passphrase for key ‘/root/.ssh/id_rsa’: 重复输入密码问题

    删除方法: ssh-keygen -p   这里只是删除密码 ssh的pub不会改变.   屏幕快照 2019-12-20 下午4.11.05.png Enter file in which the ...

  4. 数据结构(C++)--学习单链表时发现的一些小坑

    基于类的链表类无相应构造函数报错 #include<bits/stdc++.h> using namespace std; const int MaxSize = 10; template ...

  5. 直播相关-搭建直播流服务器nodejs

    一.安装nodejs环境 去nodejs官方网站下载安装包 https://nodejs.org/en/#download 安装完成之后测试: LUNLI-MC1:~ lunli$ node -v v ...

  6. NET工控,上位机,Modbus485网口/串口通讯(鸣志步进电机,鸣志伺服电机,松下伺服电机,华庆军继电器模块)

    先上两个通用Modbus帮助类,下面这个是多线程不安全版,在多线程多电机同一端口通信下,可能造成步进电机丢步或者输出口无响应等,还有个多线程安全版,只是基于这个不安全版加上了LOCK,THIS usi ...

  7. Android应用程序启动流程浅析-(三万字长文慎点&Android14)

    在Android桌面Launcher源码浅析中介绍了Android的桌面程序Launcher是如何响应用户点击事件并启动App的,这篇文章继续介绍App在Android系统层是的启动流程. 一.启动流 ...

  8. webpack代码分割

    在做一些单页应用中,若不做任何处理,所有项目文件会打包为一个文件,这个文件非常的大,造成网页在首次进入时比较缓慢.做了代码分割后,会将代码分离到不同的chunk中,然后进行按需加载这些文件,能够提高页 ...

  9. 关于 CSDN 的恶臭嘴脸

    我有段时间确实希望通过 CSDN 增加我文章的阅读量.但是我怎么使用 CSDN,我想要的大概也就 cnblogs 相对符合预期,CSDN 真是垃圾. 为了钱真是什么都不要了,让我们这种没有自主经济来源 ...

  10. mybatis Selective动态判断属性值新增或修改操作,batch批量操作

    mybatis Selective动态判断属性值新增或修改操作,batch批量操作 mybatis insert foreach批量添加https://www.cnblogs.com/oktokeep ...