ClickHouse 21.7.3.14-2(六) 副本配置

副本的目的主要是保障数据的高可用性,即使一台 Clickhouse 节点宕机,那么也可以从其他服务器获得相同的数据。

流程

clickhouse 没有主从之分,每个节点都是主节点

配置

需要副本的话要启动 zookeeper,并在 clickhouse 配置 zookeeper。配置可以在 /etc/clickhouse-server/config.xml 中配置,也可以在 /etc/clickhouse-server/config.d/ 文件夹下创建配置文件(xxx.xml)来指定。

我选择创建文件配置方式 zookeeper.xml,zookeeper 非集群模式,配置一个就行。

<?xml version="1.0"?>
<yandex>
  <zookeeper-servers>
    <node index="1">
      <host>hadoop102</host>
      <port>2181</port>
    </node>
    <node index="2">
      <host>hadoop103</host>
      <port>2181</port>
    </node>
    <node index="3">
      <host>hadoop104</host>
      <port>2181</port>
    </node>
  </zookeeper-servers>
</yandex>

修改所创建文件的权限,一般我们都是root操作的要改成 clickhouse

chown clickhouse:clickhouse zookeeper.xml

到 /etc/clickhouse-server/config.xml 中增加

<zookeeper incl="zookeeper-servers" optional="true" />
<include_from>/etc/clickhouse-server/config.d/zookeeper.xml</include_from>

以上配置同步到其他 clickhouse 节点上。

建表测试

副本只能同步数据,不能同步表结构,所以我们需要在每台机器上自己手动建表

create table t_order_rep (
 id UInt32,
 sku_id String,
 total_amount Decimal(16,2),
 create_time Datetime
) engine = ReplicatedMergeTree('/clickhouse/table/01/t_order_rep','rep_104')
 partition by toYYYYMMDD(create_time)
 primary key (id)
 order by (id,sku_id);

注意引擎为 ReplicatedMergeTree ,Replicated支持合并树家族的所有方式,如 ReplicatedSummingMergeTree、ReplicatedReplacingMergeTree 等,具体可以查看官网 https://clickhouse.com/docs/en/engines/table-engines/mergetree-family/replication/

ReplicatedMergeTree 需要传入两个参数,zoo_path 为 ZooKeeper 中该表的路径,replica_name ZooKeeper 中的该表的副本名称。注意 replica_name ,在不同的 ck 中,名称不能一样。zoo_path 规则通常为 /clickhouse/table/分片数量/表名

建表成功后会在 zookeeper 多了一级 /clickhouse/table/01/t_order_rep/ 路径,如果有报错说不能在 zookeeper 建表,原因如下:

  1. 启动的时候是否加载了你的 config.xml 文件,一般直接使用 clickhouse-server 的方式不会加载配置文件。
  2. 加载 config.xml 的时候权限不足,ck 默认添加了 clickhouse 用户和组,所有相关文件都得让clickhouse用户执行。
  3. zookeeper 配置错误,证明zookeeper没问题只需要连接zookeeper是否能查看内容就好。

建表成功后,开启另一台 ck 测试建表,replica_name 记得要改一下,然后插入数据查看两遍是否同步数据。

insert into t_order_rep values
(101,'sku_001',1000.00,'2020-06-01 12:00:00'),
(102,'sku_002',2000.00,'2020-06-01 12:00:00'),
(103,'sku_004',2500.00,'2020-06-01 12:00:00'),
(104,'sku_002',2000.00,'2020-06-01 12:00:00'),
(105,'sku_003',600.00,'2020-06-02 12:00:00');
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 212,222评论 6 493
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,455评论 3 385
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 157,720评论 0 348
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,568评论 1 284
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,696评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,879评论 1 290
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,028评论 3 409
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,773评论 0 268
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,220评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,550评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,697评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,360评论 4 332
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,002评论 3 315
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,782评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,010评论 1 266
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,433评论 2 360
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,587评论 2 350

推荐阅读更多精彩内容