clickhouse集群的安装与部署1、准备工作2、安装ClickHouse3、配置集群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、安装ClickHouse1、在线安装在每台节点上执行以下命令:#CentOS/RHELyum 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-client2、下载静态二进制文件安装打开网站https://github.com/ClickHouse/ClickHouse/releases/tag/v24.3.18.7-lts下载clickhouse-common-static-24.3.18.7-amd64.tgzclickhouse-server-24.3.18.7-amd64.tgzclickhouse-client-24.3.18.7-amd64.tgz解压到目录/usr/local/clickhouse下tar -xzf clickhouse-common-static-24.3.18.7-amd64.tgztar -xzf clickhouse-server-24.3.18.7-amd64.tgztar -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 all3、配置集群在每台节点上创建配置文件 /etc/clickhouse-server/config.xml,注意每个节点上的配置文件ip和主机名不一样!-- 注意:用户级别和查询级别的设置在"users.xml"文件中配置。 如果错误地在此文件配置了用户级设置,服务器将无法启动。 解决方法: 1. 将设置移动到"users.xml"文件中的正确位置 2. 或者在此添加 skip_check_for_incorrect_settings1/skip_check_for_incorrect_settings -- clickhouse !-- 日志配置 -- logger !-- 可选日志级别: - none (关闭日志) - fatal - critical - error - warning - notice - information - debug - trace - test (不用于生产环境) -- leveltrace/level log/data/clickhouse/logs/clickhouse-server/clickhouse-server.log/log errorlog/data/clickhouse/logs/clickhouse-server/clickhouse-server.err.log/errorlog !-- 日志轮转策略 -- size1000M/size !-- 单个日志文件最大大小 -- count10/count !-- 保留的日志文件数量 -- /logger !-- URL方案映射 -- url_scheme_mappers s3 tohttps://{bucket}.s3.amazonaws.com/to /s3 gs tohttps://{bucket}.storage.googleapis.com/to /gs oss tohttps://{bucket}.oss.aliyuncs.com/to /oss /url_scheme_mappers !-- HTTP OPTIONS请求的响应头配置 (用于CORS预检请求) -- http_options_response header nameAccess-Control-Allow-Origin/name value*/value /header header nameAccess-Control-Allow-Headers/name valueorigin, x-requested-with, x-clickhouse-format, x-clickhouse-user, x-clickhouse-key, Authorization/value /header header nameAccess-Control-Allow-Methods/name valuePOST, GET, OPTIONS/value /header header nameAccess-Control-Max-Age/name value86400/value /header /http_options_response !-- HTTP API端口 (也用于ODBC/JDBC驱动和Web界面) -- http_port8123/http_port !-- 原生协议端口 (用于clickhouse-client和分布式查询) -- tcp_port9000/tcp_port !-- MySQL协议兼容端口 -- mysql_port9004/mysql_port !-- PostgreSQL协议兼容端口 -- postgresql_port9005/postgresql_port !-- 副本间通信端口 (用于数据交换) -- interserver_http_port9009/interserver_http_port interserver_http_host192.168.0.12/interserver_http_host !-- 监听地址 (0.0.0.0表示监听所有网络接口) -- listen_host0.0.0.0/listen_host !-- 最大连接数 -- max_connections4096/max_connections !-- HTTP 1.1 keep-alive超时时间(秒) -- keep_alive_timeout10/keep_alive_timeout !-- gRPC协议配置 -- grpc enable_sslfalse/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_authfalse/ssl_require_client_auth ssl_ca_cert_file/path/to/ssl_ca_cert_file/ssl_ca_cert_file transport_compression_typenone/transport_compression_type transport_compression_level0/transport_compression_level max_send_message_size-1/max_send_message_size max_receive_message_size-1/max_receive_message_size verbose_logsfalse/verbose_logs /grpc !-- SSL/TLS配置 -- openSSL server verificationModenone/verificationMode loadDefaultCAFiletrue/loadDefaultCAFile cacheSessionstrue/cacheSessions disableProtocolssslv2,sslv3/disableProtocols preferServerCipherstrue/preferServerCiphers invalidCertificateHandler nameRejectCertificateHandler/name /invalidCertificateHandler /server client loadDefaultCAFiletrue/loadDefaultCAFile cacheSessionstrue/cacheSessions disableProtocolssslv2,sslv3/disableProtocols preferServerCipherstrue/preferServerCiphers invalidCertificateHandler nameRejectCertificateHandler/name /invalidCertificateHandler /client /openSSL concurrent_threads_soft_limit_num0/concurrent_threads_soft_limit_num concurrent_threads_soft_limit_ratio_to_cores2/concurrent_threads_soft_limit_ratio_to_cores !-- 并发查询限制 -- max_concurrent_queries1000/max_concurrent_queries !-- 服务器内存使用限制 (0表示使用默认值) -- max_server_memory_usage0/max_server_memory_usage max_thread_pool_size10000/max_thread_pool_size !-- 服务器内存使用与物理内存的比例 -- max_server_memory_usage_to_ram_ratio0.9/max_server_memory_usage_to_ram_ratio total_memory_profiler_step4194304/total_memory_profiler_step total_memory_tracker_sample_probability0/total_memory_tracker_sample_probability !-- 未压缩数据缓存大小 (字节) -- uncompressed_cache_size8589934592/uncompressed_cache_size !-- 标记缓存大小 (字节) -- mark_cache_size5368709120/mark_cache_size !-- 二级索引标记缓存大小 (字节) -- index_mark_cache_size5368709120/index_mark_cache_size mmap_cache_size1000/mmap_cache_size compiled_expression_cache_size134217728/compiled_expression_cache_size compiled_expression_cache_elements_size10000/compiled_expression_cache_elements_size custom_cached_disks_base_directory/data/clickhouse/data/caches//custom_cached_disks_base_directory validate_tcp_client_informationfalse/validate_tcp_client_information !-- 数据目录路径 (以斜杠结尾) -- path/data/clickhouse/data//path !-- 临时文件目录 -- tmp_path/data/clickhouse/data/tmp//tmp_path !-- 用户文件目录 (用于file表函数) -- user_files_path/data/clickhouse