StarRocks FE/BE(Frontend/Backend,前后端节点)参数详解
·
FE
以下是 StarRocks FE(Frontend,前端节点) 的核心配置文件,FE 是 StarRocks 的大脑,负责元数据管理、查询解析、集群调度、客户端接入。 我把你配置里的核心参数、作用、你的实际配置分模块讲清楚,新手也能一眼看懂:
一、基础环境配置(启动脚本加载)
这部分是JVM 和日志的基础配置,大写参数由启动脚本 bin/start_fe.sh 读取
# 日志输出目录(系统日志、GC日志都存在这)
LOG_DIR = ${STARROCKS_HOME}/log
# 日志文件名时间戳
DATE = "$(date +%Y%m%d-%H%M%S)"
# JVM 核心参数
JAVA_OPTS="-Dlog4j2.formatMsgNoLookups=true -Xmx8192m -XX:+UseG1GC -Xlog:gc*:${LOG_DIR}/fe.gc.log.$DATE:time -XX:ErrorFile=${LOG_DIR}/hs_err_pid%p.log -Djava.security.policy=${STARROCKS_HOME}/conf/udf_security.policy"
# 指定Java运行环境(你用的Java17,符合StarRocks要求)
JAVA_HOME = /usr/lib/jvm/java-17
✅ 关键解读:
-Xmx8192m:FE 最大堆内存 8G(生产环境基础配置)UseG1GC:使用 G1 垃圾回收器(高性能)
二、核心运行参数(FE 主程序加载)
1. 日志级别
sys_log_level = INFO
日志级别:INFO 是默认值,兼顾排查问题和性能
2. ✨ 元数据目录(最核心!)
meta_dir = /data/starrocks/starrocks-meta
- 作用:存储 StarRocks 所有元数据(库表结构、权限、集群信息)
- 配置:自定义了数据目录(非默认路径),更规范
- 注意:这个目录必须有读写权限,绝对不能删除
3. ✨ 端口配置
http_port = 8030 # Web管理后台端口(浏览器访问)
rpc_port = 9020 # FE内部通信端口
query_port = 9030 # MySQL客户端连接端口
edit_log_port = 9010 # 元数据同步端口
mysql_service_nio_enabled = true # 开启MySQL协议高并发模式
✅ 对应的命令: mysql -uroot -P9030 → 就是这里的 query_port=9030
4. ✨ 网络绑定(多网卡服务器必备)
priority_networks = 10.197.167.142/20
- 作用:服务器多网卡时,指定集群通信的内网 IP
- 你的配置:固定用
10.197.167.142这个内网 IP 通信,避免网络错误
三、高级配置(注释状态,默认关闭)
文件后半部分都是可选优化参数,默认注释,无需修改:
- 日志滚动大小、保留数量
- 最大连接数、单用户连接数
- 查询超时时间、慢查询日志
- 链路追踪(jaeger)
四、关键总结(你最需要记住的)
- Web 管理后台:
服务器IP:8030 - 数据库连接端口:
9030(MySQL 客户端连接) - 元数据存储:
/data/starrocks/starrocks-meta(核心数据) - Java 环境:Java17,JVM 内存 8G
- 通信 IP:固定内网 IP
10.197.167.142
五、修改配置后操作
如果修改了这个文件,必须重启 FE 节点生效:
# 重启FE
bin/stop_fe.sh
bin/start_fe.sh --daemon
BE
下面StarRocks BE(Backend,后端节点) 的核心配置文件,我用最清晰的方式给你拆解每一个关键参数,结合你的实际配置讲透作用:
BE 是 StarRocks 的 苦力核心:负责真实数据存储 + SQL 计算执行 FE(管元数据、调度) + BE(存数据、算数据) = 完整集群
一、基础配置
# 日志级别:INFO(标准级别,兼顾性能+排错)
sys_log_level = INFO
二、✨ 核心端口配置(集群通信必备)
be_port = 9060 # BE 主服务端口(FE 通过该端口连接 BE)
be_http_port = 8040 # BE HTTP 监控端口
heartbeat_service_port = 9050 # 心跳端口(FE 与 BE 保持连通)
brpc_port = 8060 # 内部高性能通信端口(BE 之间/BE与FE)
starlet_port = 9070 # 辅助服务端口
✅ 这些端口必须保持开放,否则 FE 和 BE 无法组网。
三、✨ 网络绑定(和 FE 完全一致!)
priority_networks = 10.197.167.142/20
- 作用:指定 BE 集群通信的内网 IP
- 关键:必须和 FE 的 priority_networks 完全相同,否则集群无法加入
四、✨ 数据存储目录
storage_root_path = /data/starrocks/starrocks-data
- 作用:存储所有业务真实数据(表数据、索引、分片)
- 你的配置:自定义了高性能数据目录(非默认)
- 区分:
- FE
meta_dir:存元数据(表结构、权限) - BE
storage_root_path:存真实业务数据
- FE
- 注意:该目录需要超大磁盘空间,且有读写权限
五、Java 环境配置
# JDK17 兼容参数(用于 Iceberg 查询、Java UDF)
JAVA_OPTS="--add-opens=java.base/java.util=ALL-UNNAMED --add-opens=java.base/java.nio=ALL-UNNAMED --add-opens=java.base/sun.nio.ch=ALL-UNNAMED"
# Java 路径(和 FE 保持一致,JDK17)
JAVA_HOME = /usr/lib/jvm/java-17
六、高级配置
所有注释的参数都是默认优化项,无需修改,保持默认即可:
- 日志滚动、保留数量
- 调试日志开关
- 分布式存储扩展配置
✨ 集群核心信息总结(FE+BE 对照)
| 节点 | 端口 | 核心目录 | 通信 IP |
|---|---|---|---|
| FE | 9030 (查询) | /data/starrocks/starrocks-meta | 10.197.167.142 |
| BE | 9060 (服务) | /data/starrocks/starrocks-data | 10.197.167.142 |
修改配置后操作
修改 BE 配置必须重启 BE 生效:
# 重启 BE 节点
bin/stop_be.sh
bin/start_be.sh --daemon
总结
- BE 存真实数据,FE 存元数据,分工明确
- 你的配置完全规范:IP 统一、目录自定义、端口默认、JDK17 兼容
- 只要 FE 和 BE 的
priority_networks一致,集群就能正常组网
https://www.csudata.com/clup/manual
https://www.csudata.com/clup/manual
更多推荐

所有评论(0)