clickhouse集群的安装与部署
2026/7/17 13:58:24 网站建设 项目流程

clickhouse集群的安装与部署

  • 1、准备工作
  • 2、安装ClickHouse
  • 3、配置集群
  • 4、配置网络和防火墙
  • 5、设置权限
  • 6、启动服务
  • 7、验证集群
  • 8、创建分布式表
  • 9、测试集群
  • 10、操作示例
  • 11、注意事项
  • 12、ck目录迁移
  • 13、创建用户并赋予权限
  • 14、查询当前正在运行的查询和sql的使用用户
  • 15、查询哪些数据损坏
  • 16、查询失败查询的sql语句

1、准备工作

硬件要求
三台服务器(节点1、节点2和节点3)
每台服务器建议至少4核CPU、8GB内存、100GB SSD存储
确保每台服务器之间网络互通(建议千兆内网)

系统要求
Linux操作系统(推荐Ubuntu 20.04/22.04或CentOS 7/8)
确保时间同步(安装并配置NTP)

2、安装ClickHouse

1、在线安装
在每台节点上执行以下命令:

#CentOS/RHEL

yum install -y yum-utils rpm --import https://repo.clickhouse.com/CLICKHOUSE-KEY.GPG yum-config-manager --add-repo https://repo.clickhouse.com/rpm/stable/x86_64 yum install -y clickhouse-server clickhouse-client

2、下载静态二进制文件安装
打开网站

https://github.com/ClickHouse/ClickHouse/releases/tag/v24.3.18.7-lts

下载
clickhouse-common-static-24.3.18.7-amd64.tgz
clickhouse-server-24.3.18.7-amd64.tgz
clickhouse-client-24.3.18.7-amd64.tgz

解压到目录/usr/local/clickhouse下

tar -xzf clickhouse-common-static-24.3.18.7-amd64.tgz
tar -xzf clickhouse-server-24.3.18.7-amd64.tgz
tar -xzf clickhouse-client-24.3.18.7-amd64.tgz

安装

/usr/local/clickhouse/clickhouse-common-static-24.3.18.7/install/doinst.sh /usr/local/clickhouse/clickhouse-server-24.3.18.7/install/doinst.sh /usr/local/clickhouse/clickhouse-client-24.3.18.7/install/doinst.sh

如果有其他版本clickhouse,要先备份,停止服务,再删除

systemctl stop clickhouse-server yum remove clickhouse-server clickhouse-client yum clean all

3、配置集群

在每台节点上创建配置文件 /etc/clickhouse-server/config.xml,注意每个节点上的配置文件ip和主机名不一样

<!-- 注意:用户级别和查询级别的设置在"users.xml"文件中配置。 如果错误地在此文件配置了用户级设置,服务器将无法启动。 解决方法: 1. 将设置移动到"users.xml"文件中的正确位置 2. 或者在此添加 <skip_check_for_incorrect_settings>1</skip_check_for_incorrect_settings> --> <clickhouse> <!-- 日志配置 --> <logger> <!-- 可选日志级别: - none (关闭日志) - fatal - critical - error - warning - notice - information - debug - trace - test (不用于生产环境) --> <level>trace</level> <log>/data/clickhouse/logs/clickhouse-server/clickhouse-server.log</log> <errorlog>/data/clickhouse/logs/clickhouse-server/clickhouse-server.err.log</errorlog> <!-- 日志轮转策略 --> <size>1000M</size> <!-- 单个日志文件最大大小 --> <count>10</count> <!-- 保留的日志文件数量 --> </logger> <!-- URL方案映射 --> <url_scheme_mappers> <s3> <to>https://{bucket}.s3.amazonaws.com</to> </s3> <gs> <to>https://{bucket}.storage.googleapis.com</to> </gs> <oss> <to>https://{bucket}.oss.aliyuncs.com</to> </oss> </url_scheme_mappers> <!-- HTTP OPTIONS请求的响应头配置 (用于CORS预检请求) --> <http_options_response> <header> <name>Access-Control-Allow-Origin</name> <value>*</value> </header> <header> <name>Access-Control-Allow-Headers</name> <value>origin, x-requested-with, x-clickhouse-format, x-clickhouse-user, x-clickhouse-key, Authorization</value> </header> <header> <name>Access-Control-Allow-Methods</name> <value>POST, GET, OPTIONS</value> </header> <header> <name>Access-Control-Max-Age</name> <value>86400</value> </header> </http_options_response> <!-- HTTP API端口 (也用于ODBC/JDBC驱动和Web界面) --> <http_port>8123</http_port> <!-- 原生协议端口 (用于clickhouse-client和分布式查询) --> <tcp_port>9000</tcp_port> <!-- MySQL协议兼容端口 --> <mysql_port>9004</mysql_port> <!-- PostgreSQL协议兼容端口 --> <postgresql_port>9005</postgresql_port> <!-- 副本间通信端口 (用于数据交换) --> <interserver_http_port>9009</interserver_http_port> <interserver_http_host>192.168.0.12</interserver_http_host> <!-- 监听地址 (0.0.0.0表示监听所有网络接口) --> <listen_host>0.0.0.0</listen_host> <!-- 最大连接数 --> <max_connections>4096</max_connections> <!-- HTTP 1.1 keep-alive超时时间(秒) --> <keep_alive_timeout>10</keep_alive_timeout> <!-- gRPC协议配置 --> <grpc> <enable_ssl>false</enable_ssl> <ssl_cert_file>/path/to/ssl_cert_file</ssl_cert_file> <ssl_key_file>/path/to/ssl_key_file</ssl_key_file> <ssl_require_client_auth>false</ssl_require_client_auth> <ssl_ca_cert_file>/path/to/ssl_ca_cert_file</ssl_ca_cert_file> <transport_compression_type>none</transport_compression_type> <transport_compression_level>0</transport_compression_level> <max_send_message_size>-1</max_send_message_size> <max_receive_message_size>-1</max_receive_message_size> <verbose_logs>false</verbose_logs> </grpc> <!-- SSL/TLS配置 --> <openSSL> <server> <verificationMode>none</verificationMode> <loadDefaultCAFile>true</loadDefaultCAFile> <cacheSessions>true</cacheSessions> <disableProtocols>sslv2,sslv3</disableProtocols> <preferServerCiphers>true</preferServerCiphers> <invalidCertificateHandler> <name>RejectCertificateHandler</name> </invalidCertificateHandler> </server> <client> <loadDefaultCAFile>true</loadDefaultCAFile> <cacheSessions>true</cacheSessions> <disableProtocols>sslv2,sslv3</disableProtocols> <preferServerCiphers>true</preferServerCiphers> <invalidCertificateHandler> <name>RejectCertificateHandler</name> </invalidCertificateHandler> </client> </openSSL> <concurrent_threads_soft_limit_num>0</concurrent_threads_soft_limit_num> <concurrent_threads_soft_limit_ratio_to_cores>2</concurrent_threads_soft_limit_ratio_to_cores> <!-- 并发查询限制 --> <max_concurrent_queries>1000</max_concurrent_queries> <!-- 服务器内存使用限制 (0表示使用默认值) --> <max_server_memory_usage>0</max_server_memory_usage> <max_thread_pool_size>10000</max_thread_pool_size> <!-- 服务器内存使用与物理内存的比例 --> <max_server_memory_usage_to_ram_ratio>0.9</max_server_memory_usage_to_ram_ratio> <total_memory_profiler_step>4194304</total_memory_profiler_step> <total_memory_tracker_sample_probability>0</total_memory_tracker_sample_probability> <!-- 未压缩数据缓存大小 (字节) --> <uncompressed_cache_size>8589934592</uncompressed_cache_size> <!-- 标记缓存大小 (字节) --> <mark_cache_size>5368709120</mark_cache_size> <!-- 二级索引标记缓存大小 (字节) --> <index_mark_cache_size>5368709120</index_mark_cache_size> <mmap_cache_size>1000</mmap_cache_size> <compiled_expression_cache_size>134217728</compiled_expression_cache_size> <compiled_expression_cache_elements_size>10000</compiled_expression_cache_elements_size> <custom_cached_disks_base_directory>/data/clickhouse/data/caches/</custom_cached_disks_base_directory> <validate_tcp_client_information>false</validate_tcp_client_information> <!-- 数据目录路径 (以斜杠结尾) --> <path>/data/clickhouse/data/</path> <!-- 临时文件目录 --> <tmp_path>/data/clickhouse/data/tmp/</tmp_path> <!-- 用户文件目录 (用于file表函数) --> <user_files_path>/data/clickhouse

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询