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

相关推荐
linux kernel18 分钟前
第八部分:进程创建退出等待和替换
linux·运维·服务器
awei091633 分钟前
Jenkins服务器报磁盘空间不足的问题解决方案
linux·运维·jenkins
dessler35 分钟前
Kubernetes(k8s)-日志(logs)和exec内部逻辑
linux·运维·kubernetes
山山而川粤37 分钟前
SSM考研信息查询系统
java·大数据·运维·服务器·开发语言·数据库·考研
格格Code1 小时前
Tcp——客户端服务器
服务器·网络协议·tcp/ip
H1346948901 小时前
局域网数据同步软件,局域网数据备份的方法
运维·服务器·负载均衡
ORIPID2 小时前
Ubuntu完整复制其他用户的anaconda及虚拟环境
linux·运维·ubuntu
FreeBuf_2 小时前
Ubuntu 安全限制遭突破:攻击者可利用内核漏洞提权
linux·安全·ubuntu
Peter11467178502 小时前
服务器入门操作1(深度学习)
服务器·人工智能·笔记·深度学习·学习
opentrending9 小时前
Github 热点项目 awesome-mcp-servers MCP 服务器合集,3分钟实现AI模型自由操控万物!
服务器·人工智能·github