1. 相关环境准备

FE: /opt/starrocks
BE: /opt/starrocks
安装包下载

wget https://releases.starrocks.io/starrocks/StarRocks-3.1.0.tar.gz

解压缩

tar -zxvf StarRocks-3.1.0.tar.gz 

安装jdk (v2.5 及以上版本建议安装 JDK 11,我们使用jdk17)
jdk路径:/opt/starrocks/jdk-17

2. 启动FE

  1. 创建元数据存储路径。将元数据存储在与 FE 部署文件不同的路径中。
cd /opt/starrocks/mkdir -p meta_data# 赋予读写权限chmod 777 -R meta_data/
  1. 修改配置文件
vim /opt/starrocks/StarRocks-3.1.0/fe/conf/fe.conf# 修改元数据路径meta_dir = /opt/starrocks/meta_data# 修改端口(可选操作,若端口被占用,可在此处修改)http_port = 8030# 默认值:8030rpc_port = 9020 # 默认值:9020query_port = 9030 # 默认值:9030edit_log_port = 9010# 默认值:9010# 启用IP地址访问priority_networks = 192.168.192.41# 指定Java环境访问路径JAVA_HOME = /opt/starrocks/jdk-17
  1. 启动FE
sh /opt/starrocks/StarRocks-3.1.0/fe/bin/start_fe.sh --daemon
  1. 查看 FE日志
cat /opt/starrocks/StarRocks-3.1.0/fe/log/fe.log | grep thrift

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

3. 启动BE

  1. 创建数据存储路径。将数据存储在与 BE 部署文件不同的路径中。
cd /opt/starrocks/mkdir -p storage_data# 赋予读写权限chmod 777 -R storage_data/
  1. 修改配置文件
vim /opt/starrocks/StarRocks-3.1.0/be/conf/be.conf# 修改数据存储路径storage_root_path = /opt/starrocks/storage_data# 修改端口(可选操作,若端口被占用,可在此处修改)be_port = 9060 # 默认值:9060be_http_port = 8040# 默认值:8040heartbeat_service_port = 9050# 默认值:9050brpc_port = 8060 # 默认值:8060# 启用IP地址访问priority_networks = 172.16.1.9# 指定Java环境访问路径JAVA_HOME = /opt/starrocks/jdk-17
  1. 启动BE
sh /opt/starrocks/StarRocks-3.1.0/be/bin/start_be.sh --daemon
  1. 查看BE日志
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 登录,密码默认为空。
# 将  替换为 Leader FE 节点的 IP 地址(priority_networks)或 FQDN,# 并将 (默认:9030)替换为您在 fe.conf 中指定的 query_port。mysql -h <fe_address> -P<query_port> -uroot
  1. 执行查看FE状态
SHOW PROC '/frontends'\G

  • 如果字段 Alive 为 true,说明该 FE 节点正常启动并加入集群。
  • 如果字段 Role 为 FOLLOWER,说明该 FE 节点有资格被选为 Leader FE 节点。
  • 如果字段 Role 为 LEADER,说明该 FE 节点为 Leader FE 节点。
  1. 将BE添加到集群
-- 将  替换为 BE 节点的 IP 地址(priority_networks)或 FQDN,-- 并将 (默认:9050)替换为您在 be.conf 中指定的 heartbeat_service_port。ALTER SYSTEM ADD BACKEND ":", ":", ":";
  1. 查看BE状态
SHOW PROC '/backends'\G


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

5. 其他配置

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

设置密码

-- 将  替换为您要为 root 用户设置的密码。SET 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 实例的并行度。|
# 全局设置 is_report_success 为 falseSET GLOBAL is_report_success = false;# 全局设置 enable_profile 为 falseSET GLOBAL enable_profile = false;# 全局设置 enable_pipeline_engine 为 trueSET GLOBAL enable_pipeline_engine = true;# 全局设置 parallel_fragment_exec_instance_num 为 1SET GLOBAL parallel_fragment_exec_instance_num = 1;# 全局设置 pipeline_dop 为 0SET GLOBAL pipeline_dop = 0;

6. 远程连接

  1. 使用navicat连接:
    端口:9030 用户名:root