当前位置: 首页 > news >正文

unbutu安装clickhouse,并且远程连接,使用教程,原理

unbutu安装clickhouse,并且远程连接

一. 安装

1. 先更新 & 装依赖

sudoaptupdatesudoaptinstall-yapt-transport-https ca-certificatescurlgnupg ```.## 2. 导入 ClickHouse 官方 GPG 密钥(Ubuntu 22.04 推荐做法)```bashsudomkdir-p/etc/apt/keyringscurl-fsSLhttps://packages.clickhouse.com/rpm/stable/repodata/repomd.xml.key\|sudogpg--dearmor-o/etc/apt/keyrings/clickhouse.gpg

3. 添加 ClickHouse 官方 APT 源

echo"deb [signed-by=/etc/apt/keyrings/clickhouse.gpg] https://packages.clickhouse.com/deb stable main"\|sudotee/etc/apt/sources.list.d/clickhouse.list

4. 安装

sudoaptupdatesudoaptinstall-yclickhouse-server clickhouse-client

5. 启动 & 开机自启

sudosystemctl start clickhouse-serversudosystemctlenableclickhouse-serversudosystemctl status clickhouse-server

6. 本地连接测试

clickhouse-client

7. 设置 default 密码(重要,默认空密码)

sudovim/etc/clickhouse-server/users.xml

找到

<password></password>

改成(随便设一个)

<password>123456</password>

重启生效:

sudosystemctl restart clickhouse-server

8. 开放远程连接(默认只监听本机)

sudovim/etc/clickhouse-server/config.xml

找到

<!--<listen_host>::</listen_host>-->

改成

<listen_host>0.0.0.0</listen_host>

保存退出,重启:

sudosystemctl restart clickhouse-server

二. dbserver 远程连接

1. 下载驱动

在项目pom 文件添加maven 依赖,然后在maven 仓库之中找到坐标

<dependency><groupId>cc.blynk.clickhouse</groupId><artifactId>clickhouse4j</artifactId><version>1.4.4</version></dependency>

下面这个jar包就是驱动

2. 配置dbserver



#配置
click
cc.blynk.clickhouse.ClickHouseDriver
jdbc:clickhouse://{host}:{port}[/{database}]
8123

新建好后连接:


3. 使用

建表:

CREATE TABLE IF NOT EXISTS device_data(device_id FixedString(32), time_stamp DateTime, preasure Float64, INDEX idx_device_id device_id TYPE minmax GRANULARITY1)ENGINE=MergeTree()PARTITION BY toYYYYMM(time_stamp)ORDER BY(device_id, time_stamp)SETTINGS index_granularity=8192;

测试插入

INSERT INTO device_data(device_id, time_stamp, preasure)VALUES('dev001','2025-05-14',1.25),('dev002','2025-05-15',2.33);

测试查询

SELECT * FROM device_data WHERE device_id='dev001';

三: 调优

  1. 硬件配置建议
• 确保服务器硬件足够强大,特别是磁盘 I/O、内存和 CPU。 • 使用 SSD 替代传统磁盘,以提高磁盘读写速度。 • 考虑使用 NVMe 存储,以更进一步提升 I/O 性能。
  1. 查询优化:
    • 使用合适的查询条件,避免全表扫描。
    • 避免在大表上进行复杂的 JOIN 操作,可以通过分布式计算将查询分解为多个小查询。
    • 合理利用 ClickHouse 的内置函数,以减少数据传输和处理的开销。
  2. 适当的集群规模:
    • 考虑数据量和查询负载,适当调整集群规模。
    • 在大规模集群中,使用 Distributed 引擎以实现分布式查询。
    数据导入优化:
    • 使用批量插入操作以提高数据导入速度。
    • 考虑使用异步数据导入,避免实时要求。
  3. 系统参数调优:
    • 调整 ClickHouse 的配置参数,例如缓存大小、线程数等,以适应不同的硬件和工作负载。
  4. 定期维护:
    • 定期进行表的优化操作,如 OPTIMIZE TABLE,以减小存储空间并提高查询性能。
    • 定期进行系统统计信息的收集,以帮助 ClickHouse 进行更好的查询计划优化。
  5. 监控和日志:
    • 设置监控和日志,及时发现性能问题并进行调整。
    • 根据日志进行故障排查和性能分析。
  6. 系统参数调优
<!-- config.xml --><!-- 设置单个查询可以使用的最大线程数 --><max_threads>16</max_threads><!-- 设置单个查询可以使用的最大内存量 --><max_memory_usage>10000000000</max_memory_usage><!-- 在进行 GROUP BY 操作之前,最大的数据大小,超过这个大小将执行外部 GROUP BY --><max_bytes_before_external_group_by>10000000000</max_bytes_before_external_group_by><!-- 在进行 ORDER BY 操作之前,最大的数据大小,超过这个大小将执行外部排序 --><max_bytes_before_external_sort>10000000000</max_bytes_before_external_sort><!-- MergeTree 引擎执行合并操作的线程数 --><merge_tree><merge_threads>4</merge_threads></merge_tree><!-- MergeTree 引擎合并操作的块大小 --><merge_tree><merge_max_block_size>10000000</merge_max_block_size></merge_tree><!-- 查询日志的最大长度 --><query_log><max_length>1000000</max_length></query_log><!-- 记录查询执行过程中的日志级别 --><query_thread_log><log_level>2</log_level></query_thread_log><!-- 启用分布式聚合的内存优化 --><settings><distributed_aggregation_memory_efficient>1</distributed_aggregation_memory_efficient></settings><!-- 禁用压缩缓存 --><settings><use_uncompressed_cache>1</use_uncompressed_cache></settings>

max_threads:指定单个查询可以使用的最大线程数。
• 调优建议:根据服务器的 CPU 核数和负载情况,适当设置 max_threads。在高负载情况下,可以适当降低。
max_memory_usage:指定单个查询可以使用的最大内存量。
• 调优建议:根据服务器的可用内存和工作负载,合理设置 max_memory_usage。避免设置得太大,以防止系统因为内存不足而变得缓慢。
max_bytes_before_external_group_by:指定在进行 GROUP BY 操作之前,最大的数据大小,超过这个大小将执行外部 GROUP BY。
• 调优建议:根据 GROUP BY 操作的频率和数据量,适当调整该参数。对于大数据量的 GROUP BY 操作,考虑增大该值。
max_bytes_before_external_sort:指定在进行 ORDER BY 操作之前,最大的数据大小,超过这个大小将执行外部排序。
• 调优建议:根据 ORDER BY 操作的频率和数据量,适当调整该参数。对于大数据量的 ORDER BY 操作,考虑增大该值。
merge_tree的merge_threads:指定 MergeTree 引擎执行合并操作的线程数。
• 调优建议:根据服务器的 CPU 核数和硬盘 I/O 的能力,适当调整 merge_threads。可以考虑增大该值以加速数据合并。
merge_tree的merge_max_block_size:指定 MergeTree 引擎合并操作的块大小。
• 调优建议:根据硬盘 I/O 和表分区的大小,适当调整 merge_max_block_size。通常情况下,增大该值有助于减小合并操作的开销。
query_log_max_length:指定查询日志的最大长度。
• 调优建议:根据日志记录需求,适当调整 query_log_max_length。对于需要详细查询日志的场景,可以增大该值。
query_thread_log_level:指定记录查询执行过程中的日志级别。
• 调优建议:在需要调试查询性能问题时,将 query_thread_log_level 设置为较低的日志级别,以获取更详细的查询执行信息。
distributed_aggregation_memory_efficient:启用分布式聚合的内存优化。
• 调优建议:对于涉及到分布式聚合操作的场景,启用该参数以优化内存使用。
use_uncompressed_cache:禁用压缩缓存。
• 调优建议:在硬盘 I/O 足够快的情况下,禁用压缩缓存可以提高查询性能。

学习教程

  1. 数据分区个多线程并行,极致的并行处理能力,同时也带来qps弱的问题,单体查询不如多条查询,瓶颈就是特别吃cpu
  2. 单表查询速度远大于多表查询,结构上不考虑多表查询
  3. ulimit -a 查询系统限制
    open files 打开的文件数
    max user processer 用户最大的进程数
    修改的位置: cd /etc/security/limits.conf
    第一列是用户和用户组 root@root
    第二列 soft / hard soft 是软限制,当前限制,hard 是最大,软的值要小于等于硬
    配置如下:
    • soft nofile 65536 # 打开的文件数量
    • hard nofile 65536 # 打开的文件数量
    • soft nproc 131072 # 打开的进程数量
    • hard nproc 131072 # 打开的进程数量
      有的时候 系统的文件会被另外的文件覆盖 /etc/security/limits.d/20-nproc.conf 下对应的文件,没有就创建
      生效命令。切换用户就好,比如执行su 命令
  4. 文档地址
    clickhouse.tech
http://www.jsqmd.com/news/870065/

相关文章:

  • 三步免费解锁WeMod完整功能:安全开源的终极增强方案
  • 生产级 AI Agent 评估体系:从 12 指标框架到持续评估闭环
  • 2026罗甸县黄金回收避坑指南;闲置黄金变现;认准铭润金银回收,诚信靠谱 - 亦辰小黄鸭
  • OpenCore Legacy Patcher终极指南:三步让老Mac焕发新生,轻松运行最新macOS
  • Windows热键冲突终极解决方案:Hotkey Detective快速定位“热键小偷“指南
  • 3分钟解决Windows和Office激活难题:KMS智能激活完全指南
  • 2026理县黄金回收避坑指南;闲置黄金变现;认准铭润金银回收,诚信靠谱 - 亦辰小黄鸭
  • 从小白变身挖洞达人 SRC 漏洞挖掘全套实战攻略
  • 2026罗定市黄金回收避坑指南;闲置黄金变现;认准铭润金银回收,诚信靠谱 - 亦辰小黄鸭
  • HS2-HF_Patch:让Honey Select 2游戏体验全面升级的一站式解决方案
  • 免费开源德州扑克GTO求解器完整指南:从零开始掌握最优策略
  • 如何通过3个关键步骤解锁游戏资源创作新维度
  • 2026澧县黄金回收避坑指南;闲置黄金变现;认准铭润金银回收,诚信靠谱 - 亦辰小黄鸭
  • 2026罗江县黄金回收避坑指南;闲置黄金变现;认准铭润金银回收,诚信靠谱 - 亦辰小黄鸭
  • 哔哩下载姬DownKyi:5步轻松下载B站8K超高清视频的完整教程
  • 3步掌握ComfyUI图像增强神器:Impact Pack完全使用指南
  • 5分钟免费桌面整理方案:用NoFences终结Windows桌面混乱
  • 如何在Python中实现CAD图纸的自动化处理与批量生成?
  • 基于SpringCloud的微服务架构技术研究
  • 破解MyEclipse
  • Windows热键冲突终极解决方案:Hotkey Detective快速定位“热键小偷“的完整指南
  • 2026荔波县黄金回收避坑指南;闲置黄金变现;认准铭润金银回收,诚信靠谱 - 亦辰小黄鸭
  • 十年机房老员工跨界网安,完成月薪 5K 到年入百万蜕变
  • 2026连平县黄金回收避坑指南;闲置黄金变现;认准铭润金银回收,诚信靠谱 - 亦辰小黄鸭
  • 终极免费Flash反编译工具:JPEXS Free Flash Decompiler完整指南
  • 3大核心功能重塑:茉莉花插件如何让中文文献管理效率提升300%
  • 【HarmonyOS 6.0】Graphics Accelerate Kit:基于Vulkan的顶点标记技术
  • 如何永久保存微信聊天记录:WeChatMsg完全解决方案指南
  • 终极解决方案:三步彻底卸载Windows系统中顽固的Microsoft Edge浏览器
  • 张雪机车五夺WSBK分站冠军,海光信息成国产芯片一哥,硬核科技崛起!