干货!ClickHouse 24.x 集群部署(去zookeeper方案)文末附看板

news/2025/1/8 19:35:34/文章来源:https://www.cnblogs.com/starsliao/p/18522802

主机配置

3台 12核 24G 2T存储的服务器部署去zookeeper模式的ClickHouse 24.X集群。

Ubuntu(3台服务器都要执行安装)

sudo apt-get install -y apt-transport-https ca-certificates curl gnupg
curl -fsSL 'https://packages.clickhouse.com/rpm/lts/repodata/repomd.xml.key' | sudo gpg --dearmor -o /usr/share/keyrings/clickhouse-keyring.gpg
echo "deb [signed-by=/usr/share/keyrings/clickhouse-keyring.gpg] https://packages.clickhouse.com/deb stable main" | sudo tee \/etc/apt/sources.list.d/clickhouse.list
sudo apt-get update
sudo apt-get install -y clickhouse-server clickhouse-client# 注意安装时会提示,配置好default用户的密码。

CentOS(3台服务器都要执行安装)

sudo yum install -y yum-utils
sudo yum-config-manager --add-repo https://packages.clickhouse.com/rpm/clickhouse.repo
sudo yum install -y clickhouse-server clickhouse-client# 注意安装时会提示,配置好default用户的密码。

配置密码

如果安装的时候没有设置密码,可以使用以下方式配置default用户的密码。

# 生成密码(返回的第一行是明文,第二行是密文)
PASSWORD=$(base64 < /dev/urandom | head -c8); echo "$PASSWORD"; echo -n "$PASSWORD" | sha256sum | tr -d '-'# 以下是部分配置文件请参考修改。
# vi /opt/clickhouse/etc/clickhouse-server/users.d/users.xml
<?xml version="1.0"?>
<clickhouse replace="true">
...<users><default><password remove='1' /><password_sha256_hex>【填写生成的密码密文】</password_sha256_hex><access_management>1</access_management><profile>default</profile><networks>
...
</clickhouse>

修改/etc/hosts(3台服务器)

10.7.0.104      logs-clickhouse-0001
10.7.0.203      logs-clickhouse-0002
10.7.0.153      logs-clickhouse-0003

集群优化与配置

/etc/clickhouse-server/config.d

  • custom.xml(3台服务器)

    优化性能的配置

<clickhouse><timezone>Asia/Shanghai</timezone><listen_host>0.0.0.0</listen_host><max_connections>40960</max_connections><max_concurrent_queries>20000</max_concurrent_queries><max_thread_pool_size>20000</max_thread_pool_size><background_pool_size>64</background_pool_size><background_distributed_schedule_pool_size>64</background_distributed_schedule_pool_size><max_table_size_to_drop>0</max_table_size_to_drop><max_partition_size_to_drop>0</max_partition_size_to_drop>
</clickhouse>
  • clusters.xml(3台服务器)

    存储结构化(非全文搜索)日志使用,3台服务器组成集群,3分片0副本配置:

<clickhouse><remote_servers><!--这是集群的名称--><opslogsch><shard><internal_replication>true</internal_replication><replica><!--这是host配置的主机名--><host>logs-clickhouse-0001</host><port>9000</port><user>default</user><password>【填写密码明文】</password></replica></shard><shard><internal_replication>true</internal_replication><replica><host>logs-clickhouse-0002</host><port>9000</port><user>default</user><password>【填写密码明文】</password></replica></shard><shard><internal_replication>true</internal_replication><replica><host>logs-clickhouse-0003</host><port>9000</port><user>default</user><password>【填写密码明文】</password></replica></shard><!--这是集群的名称--></opslogsch></remote_servers>
</clickhouse>
  • clickhouse-server中已经集成了clickhouse-keeper,直接启动clickhouse-server即可,所以不用再安装zookeeper。官方建议在独立的节点上运行 clickhouse-keeper,如果需要独立节点安装可以使用以下命令:

    sudo apt-get install -y clickhouse-keeper || sudo yum install -y clickhouse-keeper
    sudo systemctl enable clickhouse-keeper
    sudo systemctl start clickhouse-keeper
    
  • keeper.xml(3台服务器)

<clickhouse><keeper_server><tcp_port>9181</tcp_port><!--以下行id每台服务器不能重复--><server_id>1</server_id><log_storage_path>/var/lib/clickhouse/coordination/log</log_storage_path><snapshot_storage_path>/var/lib/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>warning</raft_logs_level></coordination_settings><raft_configuration><server><id>1</id><hostname>logs-clickhouse-0001</hostname><port>9444</port></server><server><id>2</id><hostname>logs-clickhouse-0002</hostname><port>9444</port></server><server><id>3</id><hostname>logs-clickhouse-0003</hostname><port>9444</port></server></raft_configuration></keeper_server><zookeeper><node><host>logs-clickhouse-0001</host><port>9181</port></node><node><host>logs-clickhouse-0002</host><port>9181</port></node><node><host>logs-clickhouse-0003</host><port>9181</port></node></zookeeper>
</clickhouse>

/etc/clickhouse-server/users.d

  • custom.xml(3台服务器)
<clickhouse><profiles><default><max_partitions_per_insert_block>3000</max_partitions_per_insert_block>         </default></profiles>
</clickhouse>

启动ClickHouse(3台服务器)

sudo systemctl enable clickhouse-keeper
sudo systemctl start clickhouse-keeper
sudo systemctl status clickhouse-keeper

检查集群状态(任意服务器执行)

clickhouse-server status
clickhouse-client --password
select * from system.clusters

测试集群(任意服务器执行)

# 在任意服务器登录clickhouse
clickhouse-client --password
# 以下各语句加上 ON CLUSTER opslogsch 会在所有集群服务器同时执行
# 创建数据库
CREATE DATABASE test ON CLUSTER opslogsch;
# 创建本地表
CREATE TABLE test.test_local ON CLUSTER opslogsch
(`id` Int32,`aa` String,`bb` String 
)
ENGINE = MergeTree PRIMARY KEY id;
# 创建分布式表
CREATE TABLE test.test_all ON CLUSTER opslogsch as test.test_local ENGINE = Distributed(opslogsch,test,test_local,rand());
# 写本地表
INSERT INTO test.test_local (id,aa,bb)values(1,'a1','b1');
INSERT INTO test.test_local (id,aa,bb)values(1,'a2','b2');
INSERT INTO test.test_local (id,aa,bb)values(1,'a3','b3');
# 写分布式表
INSERT INTO test.test_all (id,aa,bb)values(1,'x1','x1');
# 查分布式表
SELECT * from test.test_all
# 删库
drop DATABASE test ON CLUSTER opslogsch;

推荐:基于CH的nginx日志分析看板:
你还用ES存请求日志?CH+Vector打造最强Grafana日志分析看板

在这里插入图片描述### 监控看板
Grafana增加ClickHouse数据源后即可直接导入CH监控看板
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/825997.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

KAFKA监控一条龙:史上最强Kafka看板+监控配置与告警规则

使用kafka_exporter监控多kafkakafka_exporter项目地址:https://github.com/danielqsj/kafka_exporter使用docker-compose部署多个kafka_exporter,每个exporter对接一个kafka。 注意:配置上每个kafka broker的地址,kafka3需要指定版本。version: 3.1 services:kafka-export…

Kubernetes Grafana看板更新啦!

K8S Dashboard CN 20240513 StarsL.cn Grafana官方地址: https://grafana.com/grafana/dashboards/13105 Grafana看板ID: 13105 kubernetes资源全面展示!包含K8S整体资源总览、微服务资源明细、Pod资源明细及K8S网络带宽,优化重要指标展示。 更新说明 v20240513更新了看板的所…

是时候扔掉Prometheus了,VictoriaMetrics全家桶入门与K8S部署

架构部署文件 项目仓库:https://github.com/starsliao/VictoriaMetrics本次将会部署以下组件: cd monit/master && kubectl apply -f .master├── 0.vm-single.yaml├── 1.kube-state-metrics_v2.12.0.yaml├── 1.node-exporter.yaml├── 1.vmagent.yaml├──…

基于 Astro 与 Directus 的新时代 JAMStack 博客实践

最近投入了大量摸鱼时间重构博客。现在大概告一段落了,向大家介绍一下整体的技术选型和具体实现的简要思路。 TLDR:JAMStack 实践,使用最新最潮的前端元框架 Astro,魔改 Astro Paper 主题,搭配 Headless CMS Directus,直通对接思源笔记内容同步,自建 SeaweedFS 分布式文…

【CodeForces训练记录】Codeforces Round 984 (Div. 3)

训练情况赛后反思 A题最简单的题愣神了,浪费了几分钟,其他方面正常表现 A题 相邻的两个差绝对值不能出现除了 \(5\) 和 \(7\) 以外的,直接模拟即可。 #include <bits/stdc++.h> #define int long longusing namespace std;void solve(){int n; cin>>n;vector<…

高级语言程序设计第五次作业

没清楚题目的要求改了好几次只是单纯的把原来的程序改了一下,应该是没错,毕竟输出好几个都是对的用了条件选择才写出来,不知道有没有其他的办法打了好久的代码,感觉有点繁琐这题没啥太大问题这题也没啥问题 ![](https://img2024.cnblogs.com/blog/3525374/202411/3525374-2…

Ubuntu插入移动硬盘后提示Wrong fs type,bad option,bad superblock on /dev

没有被成功挂载导致的,打开 工具——磁盘500G是我的移动硬盘,点击设置——编辑挂载选项,关闭[用户会话默认值]后,确定即可。重新拔插移动硬盘即可。

解决zabbix图形化中文乱码问题

1. windows控制中心选择要替换的ttf的字体复制到单独目录。2. dnf install lrzsz #安装rz命令,方便快速上传字体文件 3. cd /usr/share/fonts/dejavu-sans-fonts/ #进入字体文件所在目录 4. rz -E #上传Windows上找到的ttf字体文件5. cp DejaVuSans.ttf DejaVuSans.ttf.back …

原教旨冯诺依曼到存算的距离

冯诺伊曼架构和存算不是对立的概念 从智能角度证明存算架构力度远远不够存算针对的是存储和计算关系,冯诺依曼架构针对的是程序和数据都要存储,二者重心不一样因此不是对立的概念。 如果按原教旨主义理解冯诺依曼架构,就要追溯到 《First Draft of a Report on the EDVAC[1]…

[MRCTF2020]你传你呢

题目链接:https://buuoj.cn/challenges#[MRCTF2020]你传你🐎呢 打开环境后如下所示。可以看到,这是一道文件上传题,直接对可上传的文件类型进行 fuzzing。通过 fuzzing 发现,可以上传 .jpg、.html、.htaccess 文件,PHP 相关的文件均无法上传。 因此,可以选择上传 .htac…

Deswing :图形化Java反序列化利用工具

原创 GSDK安全团队免责声明 工具仅供安全研究与学习之用,若将工具做其他用途,由使用者承担全部法律及连带责任,作者及发布者不承担任何法律及连带责任。信息及工具收集于互联网,真实性及安全性自测!!!项目地址 https://github.com/0ofo/Deswing项目介绍 这是一个Java反序…