clickhouse集群搭建

准备三台机器,192.168.20.7,192.168.20.8,192.168.20.10用于搭建clickhouse集群。本次搭建的集群,为三副本的,即一份数据会在三台机器上分别存储,搭建集群只是为了容灾。

1. 在192.168.20.7上操作

在clickhouse config.d目录下新建cluster.xml,内容如下

<clickhouse>

<keeper_server>

<tcp_port>9181</tcp_port>

<server_id>1</server_id>

<log_storage_path>/data/clickhouse/coordination/log</log_storage_path> <snapshot_storage_path>/data/clickhouse/coordination/snapshots</snapshot_storage_path>

<coordination_settings>

<operation_timeout_ms>10000</operation_timeout_ms>

<session_timeout_ms>30000</session_timeout_ms>

<raft_logs_level>trace</raft_logs_level>

</coordination_settings>

<raft_configuration>

<server>

<id>1</id>

<hostname>192.168.20.7</hostname>

<port>9234</port>

</server>

<server>

<id>2</id>

<hostname>192.168.20.8</hostname>

<port>9234</port>

</server>

<server>

<id>3</id>

<hostname>192.168.20.10</hostname>

<port>9234</port>

</server>

</raft_configuration>

</keeper_server>

<remote_servers>

<default>

<shard>

<internal_replication>1</internal_replication>

<replica>

<host>192.168.20.7</host>

<port>8124</port>

</replica>

<replica>

<host>192.168.20.8</host>

<port>8124</port>

</replica>

<replica>

<host>192.168.20.10</host>

<port>8124</port>

</replica>

</shard>

</default>

</remote_servers>

<macros>

<shard>1</shard>

<replica>192.168.20.7</replica>

</macros>

<interserver_http_host>192.168.20.7</interserver_http_host>

</clickhouse>

2. 在192.168.20.8上操作

<clickhouse>

<keeper_server>

<tcp_port>9181</tcp_port>

<server_id>2</server_id>

<log_storage_path>/data/clickhouse/coordination/log</log_storage_path> <snapshot_storage_path>/data/clickhouse/coordination/snapshots</snapshot_storage_path>

<coordination_settings>

<operation_timeout_ms>10000</operation_timeout_ms>

<session_timeout_ms>30000</session_timeout_ms>

<raft_logs_level>trace</raft_logs_level>

</coordination_settings>

<raft_configuration>

<server>

<id>1</id>

<hostname>192.168.20.7</hostname>

<port>9234</port>

</server>

<server>

<id>2</id>

<hostname>192.168.20.8</hostname>

<port>9234</port>

</server>

<server>

<id>3</id>

<hostname>192.168.20.10</hostname>

<port>9234</port>

</server>

</raft_configuration>

</keeper_server>

<remote_servers>

<default>

<shard>

<internal_replication>1</internal_replication>

<replica>

<host>192.168.20.7</host>

<port>8124</port>

</replica>

<replica>

<host>192.168.20.8</host>

<port>8124</port>

</replica>

<replica>

<host>192.168.20.10</host>

<port>8124</port>

</replica>

</shard>

</default>

</remote_servers>

<macros>

<shard>1</shard>

<replica>192.168.20.8</replica>

</macros>

<interserver_http_host>192.168.20.8</interserver_http_host>

</clickhouse>

修改了server_id,macros.replica、interserver_http_host三个配置项

3. 在192.168.20.10上操作

<clickhouse>

<keeper_server>

<tcp_port>9181</tcp_port>

<server_id>3</server_id>

<log_storage_path>/data/clickhouse/coordination/log</log_storage_path>

<snapshot_storage_path>/data/clickhouse/coordination/snapshots</snapshot_storage_path>

<coordination_settings>

<operation_timeout_ms>10000</operation_timeout_ms>

<session_timeout_ms>30000</session_timeout_ms>

<raft_logs_level>trace</raft_logs_level>

</coordination_settings>

<raft_configuration>

<server>

<id>1</id>

<hostname>192.168.20.7</hostname>

<port>9234</port>

</server>

<server>

<id>2</id>

<hostname>192.168.20.8</hostname>

<port>9234</port>

</server>

<server>

<id>3</id>

<hostname>192.168.20.10</hostname>

<port>9234</port>

</server>

</raft_configuration>

</keeper_server>

<remote_servers>

<default>

<shard>

<internal_replication>1</internal_replication>

<replica>

<host>192.168.20.7</host>

<port>8124</port>

</replica>

<replica>

<host>192.168.20.8</host>

<port>8124</port>

</replica>

<replica>

<host>192.168.20.10</host>

<port>8124</port>

</replica>

</shard>

</default>

</remote_servers>

<macros>

<shard>1</shard>

<replica>192.168.20.10</replica>

</macros>

<interserver_http_host>192.168.20.10</interserver_http_host>

</clickhouse>

修改了server_id,macros.replica、interserver_http_host三个配置项

4. 启动

在三台机器上分别执行systemctl start clickhouse-server,启动clickhouse服务

启动成功之后,登录clickhouse执行语句,select * from system.clusters;可以看到三个节点,代表集群建立成功。

5.建表

clickhouse集群,需要在每个节点上分别建表,表结构如下所示

CREATE TABLE test.test1

(

`id` Int64

)

ENGINE = ReplicatedMergeTree('/clickhouse/tables/{shard}/test/test1', '{replica}')

ORDER BY id

SETTINGS index_granularity = 8192;

表建好之后,在其中一台节点执行insert后,在其它节点都可以看到该条数据。

相关推荐
CYRUS_STUDIO1 天前
用 Frida 控制 Android 线程:kill 命令、挂起与恢复全解析
android·linux·逆向
熊猫李2 天前
rootfs-根文件系统详解
linux
dessler2 天前
Hadoop HDFS-高可用集群部署
linux·运维·hdfs
泽泽爱旅行2 天前
awk 语法解析-前端学习
linux·前端
轻松Ai享生活3 天前
5 节课深入学习Linux Cgroups
linux
christine-rr3 天前
linux常用命令(4)——压缩命令
linux·服务器·redis
三坛海会大神5553 天前
LVS与Keepalived详解(二)LVS负载均衡实现实操
linux·负载均衡·lvs
東雪蓮☆3 天前
深入理解 LVS-DR 模式与 Keepalived 高可用集群
linux·运维·服务器·lvs
乌萨奇也要立志学C++3 天前
【Linux】进程概念(二):进程查看与 fork 初探
linux·运维·服务器
绿箭柠檬茶3 天前
Ubuntu 服务器配置转发网络访问
服务器·网络·ubuntu