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)

四、关键总结(你最需要记住的)

  1. Web 管理后台服务器IP:8030
  2. 数据库连接端口9030(MySQL 客户端连接)
  3. 元数据存储/data/starrocks/starrocks-meta(核心数据)
  4. Java 环境:Java17,JVM 内存 8G
  5. 通信 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:存真实业务数据
  • 注意:该目录需要超大磁盘空间,且有读写权限

五、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

总结

  1. BE 存真实数据,FE 存元数据,分工明确
  2. 你的配置完全规范:IP 统一、目录自定义、端口默认、JDK17 兼容
  3. 只要 FE 和 BE 的 priority_networks 一致,集群就能正常组网

https://www.csudata.com/clup/manualhttps://www.csudata.com/clup/manual

Logo

汇聚全球AI编程工具,助力开发者即刻编程。

更多推荐