StarRocks-3.4.4 单节点部署

1. 相关环境准备

(1).安装包下载

wget https://releases.starrocks.io/starrocks/StarRocks-3.4.4-centos-amd64.tar.gz

 

如果服务器没有联网,也可以到StarRocks官网进行下载。

StarRocks下载地址:https://www.starrocks.io/download/community

StarRocks产品文档:https://docs.starrocks.io/zh/docs/introduction/StarRocks_intro/

 

(2).解压缩

tar -zxvf StarRocks-3.4.4-centos-amd64.tar.gz -C /opt/;

mv /opt/StarRocks-3.4.4-centos-amd64 /opt/StarRocks-3.4.4;

 

(3).安装JDK

说明:v2.5 及以上版本建议安装 JDK 11,我们使用JDK18。

JDK下载地址:https://www.oracle.com/java/technologies/downloads/archive/

JDK安装路径:/opt/jdk-18.0.2.1

 

2. 启动FE

(1).创建元数据存储路径

将元数据存储在与 FE 部署文件不同的路径中。

cd /opt/StarRocks-3.4.4

mkdir -p meta_data;

 

# 赋予读写权限

chmod 777 -R meta_data/;

 

(2).修改配置文件

vi /opt/StarRocks-3.4.4/fe/conf/fe.conf

# 修改元数据路径
meta_dir = /opt/StarRocks-3.4.4/meta_data

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

# 启用IP地址访问
priority_networks = 192.168.80.134

# 指定Java环境访问路径
JAVA_HOME = /opt/jdk-18.0.2.1

 

(3).启动FE

sh /opt/StarRocks-3.4.4/fe/bin/start_fe.sh --daemon

 

(4).查看 FE日志

cat /opt/StarRocks-3.4.4/fe/log/fe.log | grep thrift

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

 

3. 启动BE

(1).创建数据存储路径

将数据存储在与 BE 部署文件不同的路径中。

cd /opt/StarRocks-3.4.4

mkdir -p storage_data

 

# 赋予读写权限

chmod 777 -R storage_data/

 

(2).修改配置文件

vi /opt/StarRocks-3.4.4/be/conf/be.conf

# 修改数据存储路径
storage_root_path = /opt/StarRocks-3.4.4/storage_data

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

# 启用IP地址访问
priority_networks = 192.168.80.134

# 指定Java环境访问路径
JAVA_HOME = /opt/jdk-18.0.2.1

 

(3).启动BE

sh /opt/StarRocks-3.4.4/be/bin/start_be.sh --daemon

 

(4).查看BE日志

cat /opt/StarRocks-3.4.4/be/log/be.INFO | grep heartbeat

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

 

4. 搭建集群

(1).当FE 和BE启动成功后,通过mysql客户端连接StarRocks

通过 MySQL 客户端连接到 StarRocks。需要使用初始用户 root 登录,密码默认为空。

# 将 <fe_address> 替换为 Leader FE 节点的 IP 地址(priority_networks)或 FQDN,

# 并将 <query_port>(默认:9030)替换为您在 fe.conf 中指定的 query_port。

mysql -h <fe_address> -P<query_port> -uroot

 

 

(2).执行查看FE状态

SHOW PROC '/frontends'\G

 

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

如果字段 Role 为 FOLLOWER,说明该 FE 节点有资格被选为 Leader FE 节点。

如果字段 Role 为 LEADER,说明该 FE 节点为 Leader FE 节点。

 

将BE添加到集群

-- 将 <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>";

 

ALTER SYSTEM ADD BACKEND "192.168.80.134:9050"

 

查看BE状态

SHOW PROC '/backends'\G

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

 

 

5. 其他配置

设置root用户密码

1)使用用户名 root 和空密码通过 MySQL 客户端连接到 StarRocks。

# 将 <fe_address> 替换为您连接的 FE 节点的 IP 地址(priority_networks)

# 或 FQDN,将 <query_port> 替换为您在 fe.conf 中指定的 query_port(默认:9030)。

mysql -h <fe_address> -P<query_port> -uroot

 

2)设置密码

-- 将 <password> 替换为您要为 root 用户设置的密码。

SET PASSWORD = PASSWORD('<password>');

 

设置系统变量

为使 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 为 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. 远程连接

我们这里使用DBeaver数据库工具进行远程连接,直接下载ZIP包,解压后就可以使用了。

DBeaver的下载地址:https://dbeaver.io/download/

使用Dbeaver连接,在连接到数据库中输入:StarRocsk,可以看到对应的数据库图标。

 

端口:9030 用户名:root

 

7. 查看BE内存

  • 通过浏览器或 curl 命令访问 Metrics 接口分析内存使用。

Metrics 统计每 10 秒更新一次。

curl -XGET -s http://be_ip:8040/metrics | grep "^starrocks_be_.*_mem_bytes\|^starrocks_be_tcmalloc_bytes_in_use" 

说明:

  • 将以上 be_ip 改为 BE 节点实际的 IP 地址。
  • BE webserver_port 默认为 8040

    7761d16b-2374-4946-ac97-c80416629662

  • 通过浏览器或 curl 命令访问 mem_tracker 接口分析 BE 内存使用。

http://be_ip:8040/mem_tracker

说明:

  • 将以上 be_ip 改为 BE 节点实际的 IP 地址。
  • BE webserver_port 默认为 8040

    image

     

posted @ 2025-06-23 16:50  业余砖家  阅读(495)  评论(0)    收藏  举报