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后,在其它节点都可以看到该条数据。

相关推荐
前端世界4 小时前
从零搭建多子网 DHCP 服务:CentOS 双网卡多作用域实战与原理解析
linux·运维·centos
路由侠内网穿透.5 小时前
本地部署轻量级持续集成工具 Drone CI 并实现外部访问
运维·服务器·ci/cd·远程工作
节点小宝6 小时前
节点小宝与中兴路由合作升级:AX5400系列新增远程控网功能
服务器·网络·安全·智能路由器·远程工作
tianyuanwo6 小时前
K8s Dashboard运维技巧全面经验总结
linux·运维·kubernetes
无敌的牛7 小时前
Linux操作系统
linux·运维·服务器
顾小玙7 小时前
Linux : 进程概念
linux
半梦半醒*7 小时前
k8s——services资源+pod详解1
linux·运维·docker·kubernetes·centos·负载均衡
IndulgeCui7 小时前
【金仓数据库产品体验官】KSQL Developer Linux版安装使用体验
linux·运维·数据库
Biomamba生信基地8 小时前
Linux| 二.计算机软件组成与Linux
linux·运维·服务器·生信·医药
code_ing-8 小时前
【Linux】命令行参数与环境变量
linux·c++·windows·笔记