https://www.starrocks.io/download/community
http://up.htmltoo.com/soft/src/common/starrocks/StarRocks-3.1.4.tar.gz
tar -zxvf StarRocks-3.1.4.tar.gz -C /opt/
cd /opt/StarRocks-3.1.4/
rsync -avzr StarRocks-3.1.4/* starrocks/30/
rsync -avzr StarRocks-3.1.4/* starrocks/31/
rsync -avzr StarRocks-3.1.4/* starrocks/32/
# FE, https://hub.docker.com/r/renzicu/starrocks-fe
docker run -d \
-p 8030:8030 -p 9030:9030 \
-p 9020:9020 -p 9010:9010 \
--restart unless-stopped \
--name starrocks-fe1 \
# -e OPTS="--helper 172.17.0.1:9010" \
-v /data/starrocks/fe/meta:/starrocks/meta \
-v /data/starrocks/fe/log:/starrocks/log \
renzicu/starrocks-fe:2.4.2
# BE, https://hub.docker.com/r/renzicu/starrocks-be
docker run -d \
-p 9060:9060 -p 8040:8040 \
-p 9050:9050 -p 8060:8060 \
--restart unless-stopped \
--name starrocks-be1 \
-v /data/starrocks/be/storage:/starrocks/storage \
-v /data/starrocks/be/log:/starrocks/log \
renzicu/starrocks-be:2.4.2
# Broker, https://hub.docker.com/r/renzicu/starrocks-broker
docker run -d \
-p 8000:8000 \
--restart unless-stopped \
--name starrocks-broker1 \
renzicu/starrocks-broker:2.4.2
docker exec -it ss30 /bin/bash
---(可选)部署高可用 FE 集群
ALTER SYSTEM ADD FOLLOWER "172.18.0.31:9010";
ALTER SYSTEM ADD observer "172.18.0.32:9010";
----
ALTER SYSTEM DROP follower "172.18.0.31:9010";
ALTER SYSTEM DROP follower "172.18.0.32:9010";
ALTER SYSTEM DROP observer "172.18.0.31:9010";
ALTER SYSTEM DROP observer "172.18.0.32:9010";
-查看 FE 节点状态。
SHOW PROC '/frontends'\G
-如果执行查询时需要使用 CN 节点扩展算力,则需要设置系统变量
SET prefer_compute_node = true;
SET use_compute_nodes = -1;
---添加 BE 节点至集群
ALTER SYSTEM ADD BACKEND "172.18.0.31:9050", "172.18.0.32:9050" ;
---缩容 BE 集群
ALTER SYSTEM DECOMMISSION BACKEND "172.18.0.31:9050", "172.18.0.32:9050" ;
-查看 BE 节点状态。
SHOW PROC '/backends'\G
---添加 CN 节点至集群
ALTER SYSTEM ADD COMPUTE NODE "172.18.0.31:9050", "172.18.0.32:9050" ;
-查看 CN 节点状态。
SHOW PROC '/compute_nodes'\G
---添加 Broker 节点
ALTER SYSTEM ADD BROKER broker_name "broker_host:port"; -- 删除 ALTER SYSTEM DROP BROKER broker_name "broker_host:port";
---查看 Broker 节点状态
SHOW PROC '/brokers'\G
# 规划 StarRocks 集群
-StarRocks 主要由两种类型的组件组成:FE 节点和 BE 节点。
-FE 节点数量
FE 节点主要负责元数据管理、客户端连接管理、查询计划和查询调度。
对于 StarRocks 生产集群,建议您至少部署三个 Follower FE 节点,以防止单点故障。
StarRocks FE 节点分为 Follower 节点和 Observer 节点。Follower 节点参与选举投票和写入,Observer 节点只用来同步日志,扩展读性能。
需要检查以下端口:
8030:FE HTTP Server 端口(http_port)
9020:FE Thrift Server 端口(rpc_port)
9030:FE MySQL Server 端口(query_port)
9010:FE 内部通讯端口(edit_log_port)
-BE 节点数量
BE 节点负责数据存储和 SQL 执行。
对于 StarRocks 生产集群,建议您至少部署三个 BE 节点,这些节点会自动形成一个 BE 高可用集群,避免由于发生单点故障而影响数据可靠性和服务可用性。
您可以通过增加 BE 节点的数量来实现查询的高并发。
需要检查以下端口:
9060:BE Thrift Server 端口(be_port)
8040:BE HTTP Server 端口(be_http_port)
9050:BE 心跳服务端口(heartbeat_service_port)
8060:BE BRPC 端口(brpc_port)
-CN 节点数量
CN 节点是 StarRocks 的可选组件,仅负责 SQL 执行。
您可以通过增加 CN 节点数量以弹性扩展计算资源,而无需改变集群中的数据分布。
需要检查以下端口:
9060:CN Thrift Server 端口(be_port)(注意:自 v3.1 起,该配置项由 thrift_port 更名为 be_port。)
8040:CN HTTP Server 端口(be_http_port)
9050:CN 心跳服务端口(heartbeat_service_port)
8060:CN BRPC 端口(brpc_port)
-随时添加额外存储空间
如果 BE 存储空间随着原始数据的增长而耗尽,您可以通过垂直或水平扩展集群或扩展云存储以补充存储空间。
---在 StarRocks 集群中添加新的 BE 节点
您可以在 StarRocks 集群中添加新的 BE 节点,从而将数据重新平分至更多节点上。
-----扩容 BE 集群
部署并启动新增 BE 节点。详细部署方式参考 部署 StarRocks。
bin/start_be.sh --daemon
-----扩容 BE 集群。
ALTER SYSTEM ADD backend 'be_host:be_heartbeat_service_port';
-----完成后,您可以查看节点信息验证扩容是否成功。
SHOW PROC '/backends';
-----缩容 BE 集群
您可以通过 DROP 或 DECOMMISSION 的方式缩容 BE 集群。
DROP 会立刻删除 BE 节点,丢失的副本由 FE 调度补齐,而 DECOMMISSION 先保证副本补齐,然后再删除 BE 节点。建议您通过 DECOMMISSION 方式进行 BE 集群缩容。
通过 DECOMMISSION 的方式缩容 BE 集群。
ALTER SYSTEM DECOMMISSION backend "be_host:be_heartbeat_service_port";
通过 DROP 的方式缩容 BE 集群。
警告:如果您需要使用 DROP 方式删除 BE 节点,请确保系统三副本完整。
ALTER SYSTEM DROP backend "be_host:be_heartbeat_service_port";
完成后,您可以查看节点信息验证缩容是否成功。
SHOW PROC '/backends';