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
相关推荐
在努力的前端小白几秒前
Spring Boot 敏感词过滤组件实现:基于DFA算法的高效敏感词检测与替换
java·数据库·spring boot·文本处理·敏感词过滤·dfa算法·组件开发
未来之窗软件服务2 分钟前
自建知识库,向量数据库 (九)之 量化前奏分词服务——仙盟创梦IDE
数据库·仙盟创梦ide·东方仙盟·自建ai·ai分词
海绵不是宝宝8171 小时前
连接远程服务器上的 jupyter notebook,解放本地电脑
服务器·jupyter·github
三坛海会大神5551 小时前
计算机网络参考模型与子网划分
网络·计算机网络
云卓SKYDROID2 小时前
无人机激光测距技术应用与挑战
网络·无人机·吊舱·高科技·云卓科技
冒泡的肥皂3 小时前
MVCC初学demo(一
数据库·后端·mysql
.Shu.4 小时前
Redis Reactor 模型详解【基本架构、事件循环机制、结合源码详细追踪读写请求从客户端连接到命令执行的完整流程】
数据库·redis·架构
繁星¹⁸⁹⁵5 小时前
通过update-alternatives可以实现cuda的多版本切换
服务器
薛晓刚7 小时前
当MySQL的int不够用了
数据库
iナナ7 小时前
传输层协议——UDP和TCP
网络·网络协议·tcp/ip·udp