【问题标题】:question about clickhouse ReplicatedMergeTree and Distributed ENGINE关于 clickhouse ReplicatedMergeTree 和分布式引擎的问题
【发布时间】:2019-11-20 01:13:58
【问题描述】:

为什么 ReplicatedMergeTree ENGINE 没有复制任何数据?

我有三个节点来部署 ClickHouse, 我配置了一个具有 3shard 2 副本的集群,并在所有三个节点上创建了一个带有 ReplicatedMergeTree ENGINE 的表,然后我在三个节点之一上插入了一行,我只能从我插入的节点查询数据,为什么?我已经配置了2个副本,我想我应该从其他节点查询数据。

如果我在使用 ReplicatedMergeTree ENGINE 创建的表的基础上使用 Distributed ENGINE 创建一个表,如果我在其中插入一行,我可以在我插入的节点上查询出两行,但有时在其他节点上我可以查询出一行有时我什么也查询不出来

【问题讨论】:

  • 可能是三个节点没有相互通信。这就是为什么您的数据没有在其他两个节点中复制。尝试将包括 zookeeper 节点在内的所有节点的主机名放在 /etc/ 文件夹中的 hosts.d 文件中。

标签: clickhouse


【解决方案1】:

与 CLickhouse 中的分布式引擎表相关。听起来一切都很好,您从一台服务器获取一半数据,从分布式表中获取完整结果(两半)。您只将一半数据放入每个分片,而不是整个数据集。

【讨论】:

  • 非常感谢,我有3个clickhouse节点,我配置了3个分片,每个分片有2个副本,我想这就是原因,因为每个分片的副本不应该有相同的IP地址分片,对吧?
  • 是的,因为在单个分片服务器上保留相同的副本并不能达到真正复制的目的。所以每个副本必须是不同的服务器,即不同的 IP 地址。
猜你喜欢
  • 2018-08-18
  • 2021-01-05
  • 2017-09-30
  • 2013-11-28
  • 1970-01-01
  • 2020-04-24
  • 2011-05-14
  • 2017-11-06
  • 2011-06-12
相关资源
最近更新 更多