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
。
-
通过浏览器或 curl 命令访问 mem_tracker 接口分析 BE 内存使用。
http://be_ip:8040/mem_tracker
说明:
- 将以上
be_ip
改为 BE 节点实际的 IP 地址。- BE
webserver_port
默认为8040
。
本文来自博客园,作者:业余砖家,转载请注明原文链接:https://www.cnblogs.com/yeyuzhuanjia/p/18944642