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
相关推荐
一只哒布刘3 分钟前
NFS服务器
运维·服务器
Ai 编码助手19 分钟前
MySQL中distinct与group by之间的性能进行比较
数据库·mysql
陈燚_重生之又为程序员35 分钟前
基于梧桐数据库的实时数据分析解决方案
数据库·数据挖掘·数据分析
caridle37 分钟前
教程:使用 InterBase Express 访问数据库(五):TIBTransaction
java·数据库·express
白云如幻38 分钟前
MySQL排序查询
数据库·mysql
萧鼎40 分钟前
Python并发编程库:Asyncio的异步编程实战
开发语言·数据库·python·异步
^velpro^42 分钟前
数据库连接池的创建
java·开发语言·数据库
荒川之神1 小时前
ORACLE _11G_R2_ASM 常用命令
数据库·oracle
IT培训中心-竺老师1 小时前
Oracle 23AI创建示例库
数据库·oracle
小松学前端1 小时前
第六章 7.0 LinkList
java·开发语言·网络