StarRocks-3.1.0 单节点部署

1. 相关环境准备

FE: /opt/starrocks

BE: /opt/starrocks

安装包下载

shell 复制代码
wget https://releases.starrocks.io/starrocks/StarRocks-3.1.0.tar.gz

解压缩

shell 复制代码
tar -zxvf StarRocks-3.1.0.tar.gz 

安装jdk (v2.5 及以上版本建议安装 JDK 11,我们使用jdk17)

jdk路径:/opt/starrocks/jdk-17

2. 启动FE

  1. 创建元数据存储路径。将元数据存储在与 FE 部署文件不同的路径中。
shell 复制代码
cd /opt/starrocks/

mkdir -p meta_data

# 赋予读写权限
chmod 777 -R meta_data/
  1. 修改配置文件
shell 复制代码
vim /opt/starrocks/StarRocks-3.1.0/fe/conf/fe.conf

# 修改元数据路径
meta_dir = /opt/starrocks/meta_data

# 修改端口(可选操作,若端口被占用,可在此处修改)
http_port = 8030        # 默认值:8030
rpc_port = 9020         # 默认值:9020
query_port = 9030       # 默认值:9030
edit_log_port = 9010    # 默认值:9010

# 启用IP地址访问
priority_networks = 192.168.192.41

# 指定Java环境访问路径
JAVA_HOME = /opt/starrocks/jdk-17
  1. 启动FE
shell 复制代码
sh /opt/starrocks/StarRocks-3.1.0/fe/bin/start_fe.sh --daemon
  1. 查看 FE日志
shell 复制代码
cat /opt/starrocks/StarRocks-3.1.0/fe/log/fe.log | grep thrift

如果打印以下内容,说明启动成功:

3. 启动BE

  1. 创建数据存储路径。将数据存储在与 BE 部署文件不同的路径中。
shell 复制代码
cd /opt/starrocks/

mkdir -p storage_data

# 赋予读写权限
chmod 777 -R storage_data/
  1. 修改配置文件
shell 复制代码
vim /opt/starrocks/StarRocks-3.1.0/be/conf/be.conf

# 修改数据存储路径
storage_root_path = /opt/starrocks/storage_data

# 修改端口(可选操作,若端口被占用,可在此处修改)
be_port = 9060                   # 默认值:9060
be_http_port = 8040              # 默认值:8040
heartbeat_service_port = 9050    # 默认值:9050
brpc_port = 8060                 # 默认值:8060

# 启用IP地址访问
priority_networks = 172.16.1.9

# 指定Java环境访问路径
JAVA_HOME = /opt/starrocks/jdk-17
  1. 启动BE
shell 复制代码
sh /opt/starrocks/StarRocks-3.1.0/be/bin/start_be.sh --daemon
  1. 查看BE日志
shell 复制代码
cat /opt/starrocks/StarRocks-3.1.0/be/log/be.INFO | grep heartbeat

如果打印以下内容,说明启动成功

4. 搭建集群

当FE 和BE启动成功后,通过mysql客户端(5.5.0 或更高版本)连接StarRocks。

  1. 通过 MySQL 客户端连接到 StarRocks。需要使用初始用户 root 登录,密码默认为空。
sql 复制代码
# 将 <fe_address> 替换为 Leader FE 节点的 IP 地址(priority_networks)或 FQDN,
# 并将 <query_port>(默认:9030)替换为您在 fe.conf 中指定的 query_port。
mysql -h <fe_address> -P<query_port> -uroot
  1. 执行查看FE状态
sql 复制代码
SHOW PROC '/frontends'\G
  • 如果字段 Alive 为 true,说明该 FE 节点正常启动并加入集群。
  • 如果字段 Role 为 FOLLOWER,说明该 FE 节点有资格被选为 Leader FE 节点。
  • 如果字段 Role 为 LEADER,说明该 FE 节点为 Leader FE 节点。
  1. 将BE添加到集群
sql 复制代码
-- 将 <be_address> 替换为 BE 节点的 IP 地址(priority_networks)或 FQDN,
-- 并将 <heartbeat_service_port>(默认:9050)替换为您在 be.conf 中指定的 heartbeat_service_port。
ALTER SYSTEM ADD BACKEND "<be_address>:<heartbeat_service_port>", "<be2_address>:<heartbeat_service_port>", "<be3_address>:<heartbeat_service_port>";
  1. 查看BE状态
sql 复制代码
SHOW PROC '/backends'\G

如果字段 Alive 为 true,说明该 BE 节点正常启动并加入集群。

5. 其他配置

  1. 设置root用户密码
    使用用户名 root 和空密码通过 MySQL 客户端连接到 StarRocks。
shell 复制代码
# 将 <fe_address> 替换为您连接的 FE 节点的 IP 地址(priority_networks)
# 或 FQDN,将 <query_port> 替换为您在 fe.conf 中指定的 query_port(默认:9030)。
mysql -h <fe_address> -P<query_port> -uroot

设置密码

sql 复制代码
-- 将 <password> 替换为您要为 root 用户设置的密码。
SET PASSWORD = PASSWORD('<password>');
  1. 设置系统变量
    为使 StarRocks 集群在生产环境中正常工作,您需要设置以下系统变量:
    |变量名|版本|推荐值|说明|
    |--|--|--|--|
    |is_report_success|v2.4 或更早|false|是否发送查询 Profile 以供分析。默认值为 false,即不发送。将此变量设置为 true 会影响 StarRocks 的并发性能。|
    |enable_profile|v2.5 或以后|false|是否发送查询 Profile 以供分析。默认值为 false,即不发送。将此变量设置为 true 会影响 StarRocks 的并发性能。|
    |enable_pipeline_engine|v2.3 或以后|true|是否启用 Pipeline Engine。true 表示启用,false 表示禁用。默认值为 true。|
    |parallel_fragment_exec_instance_num|v2.3 或以后|如果您启用了 Pipeline Engine,您可以将此变量设置为1。如果您未启用 Pipeline Engine,您可以将此变量设置为 CPU 核数的一半|每个 BE 上用于扫描节点的实例数。默认值为 1。|
    |pipeline_dop|v2.3、v2.4 及 v2.5|0|Pipeline 实例的并行度,用于调整查询并发度。默认值:0,表示系统自动调整每个 Pipeline 实例的并行度。|
shell 复制代码
# 全局设置 is_report_success 为 false
SET GLOBAL is_report_success = false;

# 全局设置 enable_profile 为 false
SET GLOBAL enable_profile = false;

# 全局设置 enable_pipeline_engine 为 true
SET GLOBAL enable_pipeline_engine = true;

# 全局设置 parallel_fragment_exec_instance_num 为 1
SET GLOBAL parallel_fragment_exec_instance_num = 1;

# 全局设置 pipeline_dop 为 0
SET GLOBAL pipeline_dop = 0;

6. 远程连接

  1. 使用navicat连接:
    端口:9030 用户名:root
相关推荐
随逸1772 小时前
《Milvus向量数据库从入门到实战,手把手搭建语义检索系统》
数据库
神秘的猪头2 小时前
🚀 React 开发者进阶:RAG 核心——手把手带你玩转 Milvus 向量数据库
数据库·后端·llm
IvorySQL20 小时前
PostgreSQL 技术日报 (3月6日)|为什么 Ctrl-C 在 psql 里让人不安?
数据库·postgresql·开源
NineData1 天前
数据库管理工具NineData,一年进化成为数万+开发者的首选数据库工具?
运维·数据结构·数据库
IvorySQL1 天前
PostgreSQL 技术日报 (3月5日)|规划器控制力升级,内核能力再进阶
数据库·postgresql·开源
数据组小组2 天前
免费数据库管理工具深度横评:NineData 社区版、Bytebase 社区版、Archery,2026 年开发者该选哪个?
数据库·测试·数据库管理工具·数据复制·迁移工具·ninedata社区版·naivicat平替
悟空聊架构2 天前
基于KaiwuDB在游乐场“刷卡+投币”双模消费系统中的落地实践
数据库·后端·架构
IvorySQL2 天前
PostgreSQL 技术日报 (3月4日)|硬核干货 + 内核暗流一网打尽
数据库·postgresql·开源
进击的丸子2 天前
虹软人脸服务器版SDK(Linux/ARM Pro)多线程调用及性能优化
linux·数据库·后端