生产环境starrocks 3.1存算一体集群部署

生产环境starrocks 3.1存算一体集群部署

编程文章jaq1232025-05-28 17:59:5116A+A-


集群规划


FE:节点主要负责元数据管理、客户端连接管理、查询计划和查询调度。>3节点。
BE:节点负责数据存储和 SQL 执行。>3节点。
CN: 无存储功能能的BE。

环境准备

CPU检查 JDK检查


端口检查

FE 端口
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 部署的实例上,您需要检查以下端口:

9060:BE Thrift Server 端口(be_port)
8040:BE HTTP Server 端口(be_http_port)
9050:BE 心跳服务端口(heartbeat_service_port)
8060:BE bRPC 端口(brpc_port)


CPU Scaling Governor

echo 'performance' | sudo tee /sys/devices/system/cpu/cpu*/cpufreq/scaling_governor

ansible sr -m shell -a "echo 'performance' | tee /sys/devices/system/cpu/cpu*/cpufreq/scaling_governor"


SELinux 禁用

ansible sr -m shell -a "sed -i 's/SELINUX=.*/SELINUX=disabled/' /etc/selinux/config"
ansible sr -m shell -a "sed -i 's/SELINUXTYPE/#SELINUXTYPE/' /etc/selinux/config"
# 状态确认
ansible sr -m shell -a "sestatus"
ansible sr -m shell -a "cat /etc/selinux/config"

ulimit 设置

cat >> /etc/security/limits.conf << EOF
* soft nproc 65535
* hard nproc 65535
* soft nofile 655350
* hard nofile 655350
* soft stack unlimited
* hard stack unlimited
* hard memlock unlimited
* soft memlock unlimited
EOF

cat >> /etc/security/limits.d/20-nproc.conf << EOF 
*          soft    nproc     65535
root       soft    nproc     65535
EOF

网络配置 设置监听 高并发配 sysctl.conf 统一修改

ansible sr -m shell -a "cat >> /etc/sysctl.conf << EOF
vm.swappiness=0
vm.overcommit_memory=1 
vm.max_map_count = 262144
net.core.somaxconn=1024
net.ipv4.tcp_abort_on_overflow=1
EOF"
ansible sr -m shell -a "sysctl -p"
ansible sr -m shell -a "cat /etc/sysctl.conf"

正式部署

数据目录

# FE数据目录
/opt/srfe

# BE 数据目录 
mkdir /mnt/sdg1/sr

准备安装包

wget https://releases.starrocks.io/starrocks/StarRocks-3.1.12.tar.gz
tar -xzvf StarRocks-3.1.12.tar.gz
mv StarRocks-3.1.12 sr3112

FE部署

第一步:启动 Leader FE 节点

# 元数据路径
mkdir /opt/srfe_meta
cd /mnt/sdg1/srbe/sr3112
# 修改 FE 配置文件 fe/conf/fe.conf
meta_dir = /opt/srfe_meta
# JAVA_HOME=/mnt/sdg1/sr/sr3112/jdk17
JAVA_HOME=/opt/sr/sr3112/jdk17
./fe/bin/start_fe.sh --daemon
cat fe/log/fe.log | grep thrift
# 停止 FE 节点。
./fe/bin/stop_fe.sh --daemon

第二步:启动 BE 服务

# 创建数据存储路径
mkdir /mnt/sdg1/srdata
# 修改 BE 配置文件 be/conf/be.conf
storage_root_path = /mnt/sdg1/srdata
JAVA_HOME=/mnt/sdg1/sr/sr3112/jdk17
./be/bin/start_be.sh --daemon
cat be/log/be.INFO | grep heartbeat
# 停止 BE 节点。
./be/bin/stop_be.sh --daemon

BE 批量部署

# 文件上传
# ansible sr2 -m copy -a "src=./sr dest=/mnt/sdg1/"
scp -r ./sr 10.10.20.21:/mnt/sdg1/
scp -r ./sr 10.10.20.22:/mnt/sdg1/
scp -r ./sr 10.10.20.23:/mnt/sdg1/
# 启动 & 停止
ansible sr2 -m shell -a "mkdir /mnt/sdg1/srdata"
ansible sr2 -m shell -a "cd /mnt/sdg1/sr/sr3112 && ./be/bin/start_be.sh --daemon"
ansible sr2 -m shell -a "cd /mnt/sdg1/sr/sr3112 && cat be/log/be.INFO | grep heartbeat"
ansible sr2 -m shell -a "cd /mnt/sdg1/sr/sr3112 && ./be/bin/stop_be.sh --daemon"
# 注意这里不能批量启动,得一个个启动,添加
# 扩容 BE 集群。
ALTER SYSTEM ADD backend '10.10.20.21:9050';
ALTER SYSTEM ADD backend '10.10.20.22:9050';
ALTER SYSTEM ADD backend '10.10.20.23:9050';
SHOW PROC '/backends';

部署后设置

# 通过 MySQL 客户端(或navicat)连接 StarRocks 以添加其他 FE 节点
mysql -h 10.10.20.11 -P9030 -uroot

管理初始帐户


# mysql -h <fe_address> -P<query_port> -uroot
mysql -h 10.10.20.11 -P9030 -uroot
SET PASSWORD = PASSWORD('112233)

WEB页面访问

BE 参数查看

http://10.10.20.21:8040/varz


点击这里复制本文地址 以上内容由jaq123整理呈现,请务必在转载分享时注明本文地址!如对内容有疑问,请联系我们,谢谢!

苍茫编程网 © All Rights Reserved.  蜀ICP备2024111239号-21