集群部署从dorisdb到starrocks详细过程

2022-07-27 00:00:00 路径 集群 节点 启动 情况

一、环境初始化

1、关闭swapoff -a

2、设置java路径

3、初始化盘

4、准备软件包

二、下载包(从1.19后dorisdb改名为starrocks),解压文件

目前新版本下载路径:https://www.starrocks.com/zh-CN/download/request-download/4

##文件名为4,解压命令:tar -zxvf 4

三、安装部署

1、启动个节点fe

sh ./bin/start_fe.sh --daemon

2、启动其他节点的fe

sh ./bin/start_fe.sh --helper 个节点的ip:9010 --daemon

1、通过mysql客户端登陆,默认密码为空(登陆为个启动的节点):mysql -h12.16.0.11 -P 9030 -uroot

2、其他节点加入集群管理操作

添加:alter system add follower "host:9010" ##edit_log_port
删除:alter system drop follower "host:9010" ##edit_log_port

3、启动be

#sh bin/start_be.sh --daemon

管理be

添加节点:ALTER SYSTEM ADD BACKEND "host:port";

删除节点:

alter system decommission backend "host:port" (优雅删除)

alter system drop backend "host:port" (暴力删除)

直接删除提示异常,对于不同版本:> alter system dropp backend "12.16.0.4:9050"

4、集群验证

查看fe添加情况:SHOW PROC '/frontends';

查看be添加情况:SHOW PROC '/backends';

正常启动的集群情况:


5、集群服务托管选择,通过systemctl来管理开机启动,OOM等自动恢复

1、修改start_fe.sh脚本,添加java_home信息:/home/dorisdb/fe/bin/start_fe.sh

export JAVA_HOME=/usr/local/jdk1.8.0_191

export PATH=$JAVA_HOME/bin:$PATH


#sed -i '/from_conf/i\export JAVA_HOME=/home/jdk1.8.0_91' start_fe.sh

#sed -i '/from_conf/i\export PATH=$JAVA_HOME/bin:$PATH' start_fe.sh

2、修改stop_fe.sh脚本,把原表的内容去掉即可

set -e

sudo systemctl stop dorisdb-9030.service

3、在/etc/systemd/system/下添加服务文件 ,其他服务节点类似操作

[Unit]
Description=fe-9030 service
After=syslog.target network.target remote-fs.target nss-lookup.target
[Service]
LimitNOFILE=1000000
#LimitCORE=infinity
LimitSTACK=10485760
User=root
ExecStart=/home/dorisdb/fe/bin/start_fe.sh
Restart=always
RestartSec=15s
[Install]
WantedBy=multi-user.target
4、系统服务注册及相关配置

#systemctl daemon-reload

#systemctl enable dorisdb.service

#systemctl start dorisdb.service

#systemctl status dorisdb.service

#systemctl restart dorisdb.service

fe参考配置:

LOG_DIR = /data1/dorisdb/fe/log
DATE = "$(date +%Y%m%d-%H%M%S)"
JAVA_OPTS="-Xmx8192m -XX:+UseMembar -XX:SurvivorRatio=8 -XX:MaxTenuringThreshold=7 -XX:+PrintGCDateStamps -XX:+PrintGCDetails -XX:+UseConcMarkSweepGC -XX:+UseParNewGC -XX:+CMSClassUnloadingEnabled -XX:-CMSParallelRemarkEnabled -XX:CMSInitiatingOccupancyFraction=80 -XX:SoftRefLRUPolicyMSPerMB=0 -Xloggc:/data1/dorisdb/fe/log/fe.gc.log.$DATE"

JAVA_OPTS_FOR_JDK_9="-Xmx8192m -XX:SurvivorRatio=8 -XX:MaxTenuringThreshold=7 -XX:+CMSClassUnloadingEnabled -XX:-CMSParallelRemarkEnabled -XX:CMSInitiatingOccupancyFraction=80 -XX:SoftRefLRUPolicyMSPerMB=0 -Xlog:gc*:/data1/dorisdb/fe/log/fe.gc.log.$DATE:time"


sys_log_level = INFO

meta_dir = /data1/dorisdb/fe/doris-meta

http_port = 18030
rpc_port = 19020
query_port = 19030
edit_log_port = 19010
mysql_service_nio_enabled = true

frontend_address = 10.1.1.25
sys_log_dir = /data1/dorisdb/fe/log
audit_log_dir = /data1/dorisdb/fe/log
audit_log_modules = slow_query, query
load_parallel_instance_num=7
enable_statistic_collect = true

be参考配置:

sys_log_level = INFO

be_port = 19060
webserver_port = 18040
heartbeat_service_port = 19050
brpc_port = 18060

priority_networks = 10.101.1.20/24

storage_root_path = /data1/dorisdb/be/storage,medium:SSD;/data1/dorisdb/be/storage_hdd,medium:HDD
max_cumulative_compaction_num_singleton_deltas=100

sys_log_dir = /data1/dorisdb/be/log
streaming_load_max_mb = 16000
default_rowset_type = beta
be数据存储根据实际来划分,具体看配置情况

注意点:

1、初始化集群时候个节点启动后,其他节点启动必须使用--helper指向其他点,借助已经启动的FE节点(master/follower)来扩容新的节点,不能指向自己

2、节点多IP情况,或者存在服务认为是特殊的IP地址时候,默认使用priority_networks绑定FE的IP 可能出问题,使用frontend_address =1.1.1.20

3、meta_dir路径配置需要提前创建好,建议需要配置的路径信息都提前规划好(meta_dir数据非常重要的)

4、注意集群服务器的时间问题,差异大会导致新增的FE无法启动加入集群,修复方法: /usr/sbin/ntpdate 1.1.1.20(此服务器时间作为参考)

5、jkd版本1.8+

6、节点部署be多实例端口,不可以使用已经启动过的be文件包,需要单独分开

7、建议每个服务(be/fe)的配置指定好相关路径情况,默认情况会把启动服务路径当数据目录等问题

8、从dorisdb换成starrocks版本,替换bin和lib文件目录即可,同时需要把监控的json文件含有doris 改成starrocks

********先be--->fe(若有ob先有替换,在follower后master)
————————————————
版权声明:本文为CSDN博主「DBASpace」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/weixin_36135773/article/details/121140725

相关文章