首页 > 其他分享 >clickhouse 互为主备实战

clickhouse 互为主备实战

时间:2024-03-05 18:25:54浏览次数:21  
标签:实战 xml ch slave etc clickhouse 为主 dir

clickhouse replicated引擎

只有 MergeTree 系列里的表可支持副本:(CREATE,DROP,ATTACH,DETACH 和 RENAME 语句只会在单个服务器上执行,不会复制)

ReplicatedMergeTree
ReplicatedSummingMergeTree
ReplicatedReplacingMergeTree
ReplicatedAggregatingMergeTree
ReplicatedCollapsingMergeTree
ReplicatedVersionedCollapsingMergeTree
ReplicatedGraphiteMergeTree

使用docker compose 安装zookeeper和clickhouse

version: "3.9"

services:
  zookeeper:
    image: bitnami/zookeeper:3.8.1
    container_name: dir-zookeeper
    restart: always
    user: root
    ports:
      - "${zookeeper_port}:2181"
    environment:
      - ALLOW_ANONYMOUS_LOGIN=yes
    volumes:
      - ${zookeeper_data_dir}:/data
      - ${zookeeper_conf_dir}:/conf
      - ${zookeeper_log_dir}:/datalog
      - /etc/localtime:/etc/localtime:ro
  master-clickhouse:
    image: yandex/clickhouse-server:21.3.20.1
    container_name: master-clickhouse
    restart: always
    user: root
    ports:
      - '${ch_master_http_port}:8123'
      - '${ch_master_tcp_port}:9000'
    volumes:
      # 默认配置
      - ${ch_master_conf_dir}/config.xml:/etc/clickhouse-server/config.xml:rw
      - ${ch_master_conf_dir}/users.xml:/etc/clickhouse-server/users.xml:rw
      - /etc/localtime:/etc/localtime:ro
      # 运行日志
      - ${ch_master_log_dir}:/var/log/clickhouse-server
      # 数据持久
      - ${ch_master_data_dir}:/var/lib/clickhouse:rw
    healthcheck:
      test: [ "CMD", "bash", "-c", "cat < /dev/null > /dev/tcp/127.0.0.1/${ch_master_http_port}" ]
      interval: 5s
      timeout: 60s
      retries: 120
      
  slave-clickhouse:
    image: yandex/clickhouse-server:21.3.20.1
    container_name: slave-clickhouse
    restart: always
    user: root
    ports:
      - '${ck_slave_http_port}:8123'
      - '${ck_slave_tcp_port}:9000'
    volumes:
      # 默认配置
      - ${ch_slave_conf_dir}/config.xml:/etc/clickhouse-server/config.xml:rw
      - ${ch_slave_conf_dir}/users.xml:/etc/clickhouse-server/users.xml:rw
      - /etc/localtime:/etc/localtime:ro
      # 运行日志
      - ${ch_slave_log_dir}:/var/log/clickhouse-server
      # 数据持久
      - ${ch_slave_data_dir}:/var/lib/clickhouse:rw
    healthcheck:
      test: [ "CMD", "bash", "-c", "cat < /dev/null > /dev/tcp/127.0.0.1/${ck_slave_http_port}" ]
      interval: 5s
      timeout: 60s
      retries: 120

在docker compose文件的当前目录下新建.env文件,并配置对应变量的值

配置clickhouse 数据库配置文件config.xml,添加

     <zookeeper>
          <node>
             <host>zk的地址</host>
             <port>zk的端口</port>
           </node> 
       </zookeeper>
       <!-- 配置宏 -->
        <macros>
           <!-- replica 变量名可以自定义, 值可以随便写,我这里主节点使用node1,备用节点使用node2-->
           <replica>node1</replica>
        </macros>
        <!-- 指定 Replicated 数据表引擎的默认参数 -->
        <!-- default_replica_path 内容可以自定义,对应zookeeper上的目录,对应某一个表要唯一,分片的话需要需要添加分片标识 -->
        <default_replica_path>/clickhouse/tables/{database}/{table}</default_replica_path>
        <default_replica_name>{replica}</default_replica_name>

回到docker compose启动服务

docker compose -f docker-compose.yml up -d

主备节点创建测试表

CREATE TABLE test(
    x UInt32
) ENGINE = ReplicatedMergeTree
ORDER BY x;

标签:实战,xml,ch,slave,etc,clickhouse,为主,dir
From: https://www.cnblogs.com/fylh/p/18054596

相关文章

  • Docker安装Clickhouse
    博客园首页新随笔联系管理订阅随笔-71 文章-1 评论-0 阅读-55274 Docker安装Clickhouse https://clickhouse.com/clickhouse官网https://hub.docker.com/r/clickhouse/clickhouse-server/此为Docker安装Clickhouse官网此为按照命......
  • 实战解析:打造风控特征变量平台,赋能数据驱动决策
    金融业务产品授信准入、交易营销等环节存在广泛的风控诉求,随着业务种类增多,传统的专家规则、评分卡模型难以应付日趋复杂的风控场景。在传统风控以专家规则系统为主流应用的语境下,规则模型的入参习惯被称为“变量”。基于专家规则的风险评估,存在规则触发阈值难量化的特点,规则命中......
  • Es实战理解记录
    ES实战理解指定es索引内存储数据结构POSTforum/doc/1{"title":"helloworld",#文章标题"message":"iamasimplemessage",#文章内容"id":"62",#文章id"uid":"1038",#唯一id&q......
  • Docker容器实战(00)-基础命令大全
    1容器生命周期管理1.1dockerstart启动一或多个已被停止的容器。#启动已被停止的容器myrunoobdockerstartmyrunoob1.2dockerstop停止一个运行中的容器dockerstopmyrunoob1.3dockerrestart重启容器dockerrestartmyrunoob1.4dockerrun创建一个新的容......
  • ElasticSearch入门实战
    全文检索根据搜索条件将相关内容结果进行检索。查询:根据明确的条件对数据进行过滤,例如年龄>20且工资<10000的人进行过略。检索:没有明确的条件,通过相关性将结果进行返回,例如根据查询条件的同义词、错别字等等进行查询。通过常规的模糊查询只能查出包含xxx的内容,而没办......
  • 开课啦!走进大数据讲堂,一文从0到1学习数据湖Paimon(实践篇一)之集成hive实战演练?助力数据
     第3章集成Hive引擎前面与Flink集成时,通过使用paimonHiveCatalog,可以从Flink创建、删除、查询和插入到paimon表中。这些操作直接影响相应的Hive元存储。以这种方式创建的表也可以直接从Hive访问。更进一步的与Hive集成,可以使用HiveSQL创建、查询Paimon表。......
  • 实战2-__jsl_clearance_s 生成
    目标网站aHR0cHM6Ly96cnp5aGdoai5oZWZlaS5nb3YuY24veHd6eC9ic2R0L2luZGV4Lmh0bWw=1.简单介绍加速乐是创宇推出的一款在线免费网站CDN加速、网站安全防护平台,致力于系统化解决网站访问速度过慢及网站反黑客问题加速乐三步骤a.第一次请求,响应码521,服务器返回的Cookie中携带......
  • 频繁GC导致CPU飙高,排查笔记实战
     一、问题场景测试环境突然报警CPU飙高,查看日志发现不停的在做GC操作,8个GC线程把CPU打爆。二、问题排查首先就是保留现场,打印堆栈信息。1.打印线程运行信息jstack85090>code-api.log2.打印堆信息jmap-dump:format=b,file=heapdump1.hprof850903.......
  • Huggingface初上手即ERNIE-gram句子相似性实战
    大模型如火如荼的今天,不学点语言模型(LM)相关的技术实在是说不过去了。只不过由于过往项目用到LM较少,所以学习也主要停留在直面——动眼不动手的水平。Huggingface(HF)也是现在搞LM离不开的工具了。出于项目需要,以及实践出真知的想法,在此记录一下第一次使用HF和微调ERNIE-gram的过程......
  • ssts-hospital-web-master项目实战记录三十:项目迁移-Hook实现(useSystemService)
    记录时间:2024-02-29一、useSystemService模块实现service/system-service/useTerminalService.tsimporthydatefrom'@/utils/date-format'import{LogInfo}from'@/framework/utils/log-local'import{Device}from'@/types/device'impor......