CentOS7下StarRocks 3.1.13集群部署实战:三节点FE高可用配置详解
CentOS7下StarRocks 3.1.13集群部署实战三节点FE高可用配置详解在当今数据驱动的商业环境中企业级分析型数据库的可靠性和性能至关重要。StarRocks作为新一代MPP分析数据库凭借其卓越的实时分析能力和高并发查询性能正逐渐成为金融、电商等行业大数据平台的核心组件。本文将深入探讨在CentOS7.9环境下部署StarRocks 3.1.13高可用集群的全过程特别聚焦于三节点FEFrontend集群的配置细节和互信机制为需要在特定Linux版本上构建稳定分析平台的技术团队提供实用指南。1. 环境准备与系统调优部署StarRocks集群前必须确保基础环境满足各项技术要求。CentOS7.9作为经过充分验证的操作系统版本能够提供稳定的运行基础。我们建议使用三台配置相同的物理服务器每台至少配备128核CPU、256GB内存和3TB存储空间以充分发挥StarRocks的并行计算能力。1.1 系统环境检查执行以下全面检查脚本确保系统满足StarRocks的运行要求#!/bin/bash # StarRocks部署环境检测脚本 function check_avx2() { grep avx2 /proc/cpuinfo || echo 错误CPU必须支持AVX2指令集 } function check_glibc() { local version$(ldd --version | head -n1 | awk {print $NF}) [ $(echo $version 2.17 | bc) -eq 1 ] || echo 错误glibc版本需≥2.17 } function adjust_sys_params() { # 禁用swap echo 0 /proc/sys/vm/swappiness swapoff -a # 优化内存分配 echo 1 /proc/sys/vm/overcommit_memory echo 262144 /proc/sys/vm/max_map_count # 网络参数优化 echo 1024 /proc/sys/net/core/somaxconn echo 1 /proc/sys/net/ipv4/tcp_abort_on_overflow } function disable_thp() { echo never /sys/kernel/mm/transparent_hugepage/enabled echo never /sys/kernel/mm/transparent_hugepage/defrag } function set_ulimits() { echo * soft nofile 655350 /etc/security/limits.conf echo * hard nofile 655350 /etc/security/limits.conf echo * soft nproc 655350 /etc/security/limits.conf echo * hard nproc 655350 /etc/security/limits.conf } # 执行所有检查与调整 check_avx2 check_glibc adjust_sys_params disable_thp set_ulimits关键检查项说明检查类别要求标准临时调整命令CPU指令集必须支持AVX2无需更换硬件内存分配overcommit_memory1echo 1 /proc/sys/vm/overcommit_memory文件句柄≥65535ulimit -n 655350透明大页必须禁用echo never /sys/kernel/mm/transparent_hugepage/enabled1.2 依赖安装与配置确保系统已安装必要组件# 安装基础工具 yum install -y net-tools ntpdate # 设置时区 timedatectl set-timezone Asia/Shanghai # 关闭防火墙 systemctl stop firewalld systemctl disable firewalld # 禁用SELinux setenforce 0 sed -i s/SELINUXenforcing/SELINUXdisabled/g /etc/selinux/config # 配置NTP时间同步 ntpdate pool.ntp.org echo 0 */12 * * * /usr/sbin/ntpdate pool.ntp.org /dev/null 21 /etc/crontab2. StarRocks集群部署架构设计StarRocks采用存算一体的架构设计由FEFrontend和BEBackend两类节点组成。在高可用配置中我们建议FE节点部署3个实例形成高可用集群包含1个Leader和2个FollowerBE节点根据数据量部署3个或更多实例建议最少3个实现数据多副本典型三节点部署拓扑------------------- ------------------- ------------------- | Node1: | | Node2: | | Node3: | | - FE Leader |---| - FE Follower |---| - FE Follower | | - BE | | - BE | | - BE | ------------------- ------------------- -------------------2.1 网络规划建议为确保集群稳定运行需要注意所有节点间网络延迟应1ms建议使用10Gbps或更高带宽网络为集群通信配置独立的网络接口或VLAN提前规划并开放所需端口服务类型默认端口用途说明FE8030HTTP服务端口FE9010FE内部通信端口FE9020FE心跳端口FE9030MySQL协议端口BE9050BE心跳端口BE9060BE HTTP服务端口BE9070BE BRPC端口3. 详细部署步骤3.1 软件包准备与目录结构从官网下载StarRocks 3.1.13社区版wget https://releases.starrocks.io/starrocks/StarRocks-3.1.13.tar.gz tar -xzf StarRocks-3.1.13.tar.gz -C /opt/创建必要的目录结构所有节点执行mkdir -p /opt/StarRocks-3.1.13/fe/meta mkdir -p /opt/StarRocks-3.1.13/be/storage mkdir -p /opt/StarRocks-3.1.13/be/log chown -R starrocks:starrocks /opt/StarRocks-3.1.13注意建议创建专用用户starrocks运行服务避免使用root账户3.2 FE节点配置编辑/opt/StarRocks-3.1.13/fe/conf/fe.conf文件关键配置如下# 元数据存储路径 meta_dir /opt/StarRocks-3.1.13/fe/meta # 指定网络接口 priority_networks 10.10.10.50/24 # JVM配置根据机器内存调整 JAVA_OPTS -Xmx16384M -Xms16384M -XX:UseG1GC # 集群名称 cluster_name starrocks_prod # 启用元数据高可用 enable_meta_checkpoint true meta_checkpoint_interval_second 603.3 BE节点配置编辑/opt/StarRocks-3.1.13/be/conf/be.conf文件# 数据存储路径 storage_root_path /opt/StarRocks-3.1.13/be/storage # 指定网络接口 priority_networks 10.10.10.50/24 # 内存限制建议不超过物理内存的80% mem_limit 80% # 并发参数 brpc_max_body_size 2147483648 storage_engine columnar4. 集群启动与验证4.1 启动FE集群在Leader节点(10.10.10.50)执行cd /opt/StarRocks-3.1.13 ./fe/bin/start_fe.sh --daemon在Follower节点(10.10.10.51/52)执行./fe/bin/start_fe.sh --helper 10.10.10.50:9010 --daemon验证FE启动状态# 检查日志 tail -100f fe/log/fe.log | grep BDBJEJournal opened # 通过MySQL客户端连接验证 mysql -h 10.10.10.50 -P9030 -uroot4.2 启动BE节点所有BE节点执行./be/bin/start_be.sh --daemon验证BE启动cat be/log/be.INFO | grep Heartbeat4.3 集群节点注册通过MySQL客户端完成集群配置-- 添加FE Follower ALTER SYSTEM ADD FOLLOWER 10.10.10.51:9010; ALTER SYSTEM ADD FOLLOWER 10.10.10.52:9010; -- 添加BE节点 ALTER SYSTEM ADD BACKEND 10.10.10.50:9050; ALTER SYSTEM ADD BACKEND 10.10.10.51:9050; ALTER SYSTEM ADD BACKEND 10.10.10.52:9050; -- 查看节点状态 SHOW PROC /frontends; SHOW PROC /backends;预期输出示例----------------------------------------------------------------------------------------------------------------------------------------------------- | Host | IP | Role | IsMaster| Alive | Version | CurrentConnected | ClusterId | HeartbeatPort | ReplayedJournalId| ----------------------------------------------------------------------------------------------------------------------------------------------------- | node1.example.com | 10.10.10.50 | LEADER| true | true | 3.1.13 | true | 123456789 | 9010 | 123456 | | node2.example.com | 10.10.10.51 | FOLLOWER| false | true | 3.1.13 | false | 123456789 | 9010 | 123455 | | node3.example.com | 10.10.10.52 | FOLLOWER| false | true | 3.1.13 | false | 123456789 | 9010 | 123454 | -----------------------------------------------------------------------------------------------------------------------------------------------------5. 高可用测试与故障处理5.1 Leader故障转移测试停止当前Leader节点FE服务./fe/bin/stop_fe.sh观察剩余FE节点日志新的Leader选举过程tail -f fe/log/fe.log | grep election验证新Leader功能SHOW PROC /frontends;5.2 常见问题排查FE节点无法加入集群检查priority_networks配置是否正确验证端口9010是否开放检查各节点时间同步状态差异应5秒BE节点心跳失败确认BE的storage_root_path权限正确检查网络连通性9050端口查看BE日志中的错误信息性能优化建议对于高频查询场景调整FE的JVM参数JAVA_OPTS -Xmx32768M -Xms32768M -XX:UseG1GC -XX:MaxGCPauseMillis500大数据量导入时优化BE配置write_buffer_size 1073741824 streaming_load_rpc_max_alive_time_sec 1200监控关键指标-- FE监控 SHOW PROC /statistic; -- BE监控 SHOW PROC /backends;在实际生产部署中我们发现合理配置priority_networks参数能显著提高集群稳定性特别是在多网卡环境中。同时定期检查FE元数据目录的使用情况du -sh /opt/StarRocks-3.1.13/fe/meta可以预防存储空间不足导致的服务异常。
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2463058.html
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!