游戏网站创建,鞋子的网站策划方案模板,舟山市城市建设档案馆网站,衡水教育行业网站建设文章目录 一. 集群规划二.docker compose以及启动脚本卷映射对于网络环境变量 三. 集群测试用户新建、赋权、库表初始化断电重启扩容 BE 集群 一. 集群规划
部署文档 https://docs.starrocks.io/zh/docs/2.5/deployment/plan_cluster/
分类描述FE节点1. 主要负责元数据管理、… 文章目录 一. 集群规划二.docker compose以及启动脚本卷映射对于网络环境变量 三. 集群测试用户新建、赋权、库表初始化断电重启扩容 BE 集群 一. 集群规划
部署文档 https://docs.starrocks.io/zh/docs/2.5/deployment/plan_cluster/
分类描述FE节点1. 主要负责元数据管理、客户端连接管理、查询计划和查询调度。2. 三个节点实现高可用以及请求的流量转发 对于请求的高可用和流量转发使用 nginx 实现。对于单宿主机来说这里的fe部署一个3. 建议为每个 FE 节点分配 8 个 CPU 内核和 16GB RAM在大多数场景下每个 FE 节点只需要 100GB 的 HDD 存储。BE节点1. 负责数据存储和 SQL 执行。2. 对于 StarRocks 生产集群建议至少部署三个 BE 节点这些节点会自动形成一个 BE 高可用集群避免单点故障影响数据可靠性和服务可用性。3. 建议为每个 BE 节点分配 16 个 CPU 内核和 64GB RAM。4. StarRocks 集群所有 BE 节点所需的– 总存储空间 原始数据大小 x 数据副本数/数据压缩算法压缩比– 原始数据大小 单行数据大小 x 总数据行数
说明 1.FE 节点负责元数据管理、客户端连接、查询调度等任务配置要求较低。 2.BE 节点负责数据存储和 SQL 查询执行配置要求较高尤其是 CPU 和内存。 3.存储空间估算公式根据数据大小、数据副本数和压缩比来计算 BE 节点的存储需求。 二.docker compose以及启动脚本
参考 https://github.com/StarRocks/demo/blob/master/deploy/docker-compose/docker-compose-3BE.yml
# 定义starrocks be共用配置
x-starrocks-be-common: starrocks-be-commonimage: starrocks/be-ubuntu:3.2.12command:- /bin/bash- -c- |chmod x /data/starrocks/be_entrypoint.sh/data/starrocks/be_entrypoint.sh starrocks-fe-0environment:- HOST_TYPEFQDN- TZAsia/Shanghai- MYSQL_ROOT_PASSWORD1111111depends_on:- starrocks-fe-0restart: alwaysnetworks: # network config, can be configured to your preferred port and ip address, if not specified, it will use default network and assign a dynamic ipstarrocks-network:services:# starrocks1 fe 3bestarrocks-fe-0:image: starrocks/fe-ubuntu:3.2.12hostname: starrocks-fe-0container_name: starrocks-fe-0command:- /bin/bash- -c- |/opt/starrocks/fe_entrypoint.sh starrocks-fe-0environment:- HOST_TYPEFQDN- TZAsia/Shanghai- MYSQL_ROOT_PASSWORDradar_360ports:- 1030:8030 # Frontend service port (HTTP)- 2020:9020 # Backend service port (HTTP)- 3030:9030 # Frontend service port (MySQL)volumes:- ./starrocks/fe-0/meta:/opt/starrocks/fe/meta:rw- ./starrocks/fe-0/log:/opt/starrocks/fe/log:rwrestart: alwaysnetworks: # network config, can be configured to your preferred port and ip address, if not specified, it will use default network and assign a dynamic ipstarrocks-network:starrocks-be-0:: *starrocks-be-commonhostname: starrocks-be-0container_name: starrocks-be-0volumes:- ./starrocks/be-0/storage:/opt/starrocks/be/storage:rw- ./starrocks/be-0/log:/opt/starrocks/be/log:rw- ./sr/bin:/data/starrocks:rwxstarrocks-be-1:: *starrocks-be-commonhostname: starrocks-be-1container_name: starrocks-be-1volumes:- ./starrocks/be-1/storage:/opt/starrocks/be/storage:rw- ./starrocks/be-1/log:/opt/starrocks/be/log:rw- ./sr/bin:/data/starrocks:rwxstarrocks-be-2:: *starrocks-be-commonhostname: starrocks-be-2container_name: starrocks-be-2volumes:- ./starrocks/be-2/storage:/opt/starrocks/be/storage:rw- ./starrocks/be-2/log:/opt/starrocks/be/log:rw- ./sr/bin:/data/starrocks:rwx
networks:starrocks-network:driver: bridge#!/bin/bashHOST_TYPE${HOST_TYPE:-IP}
FE_QUERY_PORT${FE_QUERY_PORT:-9030}
PROBE_TIMEOUT60
PROBE_INTERVAL2
HEARTBEAT_PORT9050
MY_SELF
MY_IPhostname -i
MY_HOSTNAMEhostname -f
STARROCKS_ROOT${STARROCKS_ROOT:-/opt/starrocks}
STARROCKS_HOME${STARROCKS_ROOT}/be
BE_CONFIG$STARROCKS_HOME/conf/be.conf
MYSQL_ROOT_PW${MYSQL_ROOT_PASSWORD:-121111}log_stderr()
{echo [date] $ 2
}update_conf_from_configmap()
{if [[ x$CONFIGMAP_MOUNT_PATH x ]] ; thenlog_stderr Empty $CONFIGMAP_MOUNT_PATH env var, skip it!return 0fiif ! test -d $CONFIGMAP_MOUNT_PATH ; thenlog_stderr $CONFIGMAP_MOUNT_PATH not exist or not a directory, ignore ...return 0filocal tgtconfdir$STARROCKS_HOME/conffor conffile in ls $CONFIGMAP_MOUNT_PATHdolog_stderr Process conf file $conffile ...local tgt$tgtconfdir/$conffileif test -e $tgt ; then# make a backupmv -f $tgt ${tgt}.bakfiln -sfT $CONFIGMAP_MOUNT_PATH/$conffile $tgtdone
}show_backends() {#先尝试无密码连接output$(timeout 15 mysql --connect-timeout 2 -h $svc -P $FE_QUERY_PORT -u root --skip-column-names --batch -e SHOW BACKENDS;)if [ $? -ne 0 ]; thenlog_stderr 使用密码进行尝试连接检查be的状态# 如果无密码连接失败则使用密码进行连接output$(timeout 15 mysql --connect-timeout 2 -h $svc -P $FE_QUERY_PORT -u root -p$MYSQL_ROOT_PW --skip-column-names --batch -e SHOW BACKENDS;)fiecho $output
}parse_confval_from_cn_conf()
{# a naive script to grep given confkey from cn conf file# assume conf format: ^\s*key\s*\s*value\s*$local confkey$1local confvaluegrep \$confkey\ $BE_CONFIG | grep -v ^\s*# | sed s|^\s*$confkey\s*\s*\(.*\)\s*$|\1|gecho $confvalue
}collect_env_info()
{# heartbeat_port from conf filelocal heartbeat_portparse_confval_from_cn_conf heartbeat_service_portif [[ x$heartbeat_port ! x ]] ; thenHEARTBEAT_PORT$heartbeat_portfiif [[ x$HOST_TYPE xIP ]] ; thenMY_SELF$MY_IPelseMY_SELF$MY_HOSTNAMEfi}attempt_add_self() {# 第一次尝试执行命令output$(timeout 15 mysql --connect-timeout 2 -h $svc -P $FE_QUERY_PORT -u root --skip-column-names --batch -e ALTER SYSTEM ADD BACKEND \$MY_SELF:$HEARTBEAT_PORT\;)if [ $? -ne 0 ]; then# 如果第一次失败添加密码log_stderr 使用密码进行尝试连接来添加be到feoutput$(timeout 15 mysql --connect-timeout 2 -h $svc -P $FE_QUERY_PORT -u root -p$MYSQL_ROOT_PW --skip-column-names --batch -e ALTER SYSTEM ADD BACKEND \$MY_SELF:$HEARTBEAT_PORT\;)fiecho $output
}add_self()
{local svc$1startdate %slocal timeout$PROBE_TIMEOUTwhile truedolog_stderr Add myself ($MY_SELF:$HEARTBEAT_PORT) into FE ...# 这里当root添加密码时需要通过密码进行设置。#timeout 15 mysql --connect-timeout 2 -h $svc -P $FE_QUERY_PORT -u root -pradar_360 --skip-column-names --batch -e ALTER SYSTEM ADD BACKEND \$MY_SELF:$HEARTBEAT_PORT\;attempt_add_self# 查看be是否加入成功memlistshow_backends $svcif echo $memlist | grep -q -w $MY_SELF /dev/null ; thenbreak;filet expirestarttimeoutnowdate %sif [[ $expire -le $now ]] ; thenlog_stderr Time out, abort!exit 1fisleep $PROBE_INTERVALdone
}svc_name$1
if [[ x$svc_name x ]] ; thenecho Need a required parameter!echo Example: $0 fe_service_nameexit 1
fiupdate_conf_from_configmap
collect_env_info
add_self $svc_name || exit $?
log_stderr Add myself ($MY_SELF:$HEARTBEAT_PORT) into FE success
log_stderr run start_be.shaddition_args
if [[ x$LOG_CONSOLE x1 ]] ; then# env var LOG_CONSOLE1 can be added to enable logging to consoleaddition_args--logconsole
fi
$STARROCKS_HOME/bin/start_be.sh $addition_args
ret$?
if [[ $ret -ne 0 x$LOG_CONSOLE ! x1 ]] ; thennol50log_stderr Last $nol lines of be.INFO ...tail -n $nol $STARROCKS_HOME/log/be.INFOlog_stderr Last $nol lines of be.out ...tail -n $nol $STARROCKS_HOME/log/be.out
fi
exit $ret 卷映射
对于fe 涉及到元数据已存在的表、以及系统操作和日志
volumes: - ./starrocks/fe-0/meta:/opt/starrocks/fe/meta:rw - ./starrocks/fe-0/log:/opt/starrocks/fe/log:rw对于be 涉及到数据存储和日志
volumes: - ./starrocks/be-1:/opt/starrocks/be/storage:rw - ./starrocks/be-1:/opt/starrocks/be/log:rw对于网络
要实现starrocks容器之间的内部通讯主要是通过主机名端口。
networks: starrocks-network: driver: bridge环境变量
MYSQL_ROOT_PASSWORDradar_360 用于be容器启动时be添加到fe时的脚本使用。 三. 集群测试
用户新建、赋权、库表初始化
-- 1. root 创建密码
-- 只能root自己创建密码 Can not set password for root user, except root itself.
SET PASSWORD FOR root PASSWORD(123456); show users; -- 2. 创建用户radar与密码
CREATE USER radar IDENTIFIED by radar_360;
-- 新增密码和修改密码都可用此密码
SET PASSWORD FOR root PASSWORD(1234567); -- 3. 授予相关权限
SHOW GRANTS;
show roles;
grant root to user radar;
-- 激活角色
-- 每一个链接会话中都需要执行
-- # Inactivated role(s): [user_admin, root].
SET ROLE root;
-- 创建库表
create database middle; -- 注意
-- 授权所有库表的权限对于创建库没有权限
GRANT ALL PRIVILEGES ON *.* TO radar;断电重启
改造官方的docker启动脚本主要涉及到给root设置密码之后be添加到fe时的操作。
# 添加自己到fe
attempt_add_self() { # 第一次尝试执行命令 output$(timeout 15 mysql --connect-timeout 2 -h $svc -P $FE_QUERY_PORT -u root --skip-column-names --batch -e ALTER SYSTEM ADD BACKEND \$MY_SELF:$HEARTBEAT_PORT\;) if [ $? -ne 0 ]; then # 如果第一次失败添加密码 log_stderr 使用密码进行尝试连接来添加be到fe output$(timeout 15 mysql --connect-timeout 2 -h $svc -P $FE_QUERY_PORT -u root -p$MYSQL_ROOT_PW --skip-column-names --batch -e ALTER SYSTEM ADD BACKEND \$MY_SELF:$HEARTBEAT_PORT\;) fi echo $output
}# 查看存在的be
show_backends() {#先尝试无密码连接output$(timeout 15 mysql --connect-timeout 2 -h $svc -P $FE_QUERY_PORT -u root --skip-column-names --batch -e SHOW BACKENDS;)if [ $? -ne 0 ]; thenlog_stderr 使用密码进行尝试连接检查be的状态# 如果无密码连接失败则使用密码进行连接output$(timeout 15 mysql --connect-timeout 2 -h $svc -P $FE_QUERY_PORT -u root -p$MYSQL_ROOT_PW --skip-column-names --batch -e SHOW BACKENDS;)fiecho $output
} 扩容 BE 集群
be的启动脚本天然支持容器启动时就会将自己加入到Fe中所以新增时正常些docker compose即可如下示例 starrocks-be-3:: *starrocks-be-commonhostname: starrocks-be-3container_name: starrocks-be-3volumes:- ./starrocks/be-3/storage:/opt/starrocks/be/storage:rw- ./starrocks/be-3/log:/opt/starrocks/be/log:rw- ./sr/bin:/data/starrocks:rwx
文章转载自: http://www.morning.jkrrg.cn.gov.cn.jkrrg.cn http://www.morning.rqlf.cn.gov.cn.rqlf.cn http://www.morning.rongxiaoman.com.gov.cn.rongxiaoman.com http://www.morning.fbmzm.cn.gov.cn.fbmzm.cn http://www.morning.ftmzy.cn.gov.cn.ftmzy.cn http://www.morning.jcwt.cn.gov.cn.jcwt.cn http://www.morning.lsnbx.cn.gov.cn.lsnbx.cn http://www.morning.xwqxz.cn.gov.cn.xwqxz.cn http://www.morning.jzyfy.cn.gov.cn.jzyfy.cn http://www.morning.ctlbf.cn.gov.cn.ctlbf.cn http://www.morning.rxfgh.cn.gov.cn.rxfgh.cn http://www.morning.gpkjx.cn.gov.cn.gpkjx.cn http://www.morning.bhpsz.cn.gov.cn.bhpsz.cn http://www.morning.fjptn.cn.gov.cn.fjptn.cn http://www.morning.cwyrp.cn.gov.cn.cwyrp.cn http://www.morning.lbfgq.cn.gov.cn.lbfgq.cn http://www.morning.kjyfq.cn.gov.cn.kjyfq.cn http://www.morning.rhdln.cn.gov.cn.rhdln.cn http://www.morning.tqdqc.cn.gov.cn.tqdqc.cn http://www.morning.srtw.cn.gov.cn.srtw.cn http://www.morning.tslwz.cn.gov.cn.tslwz.cn http://www.morning.mmclj.cn.gov.cn.mmclj.cn http://www.morning.mnyzz.cn.gov.cn.mnyzz.cn http://www.morning.sbyhj.cn.gov.cn.sbyhj.cn http://www.morning.tnyanzou.com.gov.cn.tnyanzou.com http://www.morning.yrdn.cn.gov.cn.yrdn.cn http://www.morning.tjkth.cn.gov.cn.tjkth.cn http://www.morning.mksny.cn.gov.cn.mksny.cn http://www.morning.lgmty.cn.gov.cn.lgmty.cn http://www.morning.ptlwt.cn.gov.cn.ptlwt.cn http://www.morning.mwpcp.cn.gov.cn.mwpcp.cn http://www.morning.gcjhh.cn.gov.cn.gcjhh.cn http://www.morning.pqcbx.cn.gov.cn.pqcbx.cn http://www.morning.thrtt.cn.gov.cn.thrtt.cn http://www.morning.hxmqb.cn.gov.cn.hxmqb.cn http://www.morning.lzqdd.cn.gov.cn.lzqdd.cn http://www.morning.wrkhf.cn.gov.cn.wrkhf.cn http://www.morning.xrwtk.cn.gov.cn.xrwtk.cn http://www.morning.tsxg.cn.gov.cn.tsxg.cn http://www.morning.junyaod.com.gov.cn.junyaod.com http://www.morning.npxcc.cn.gov.cn.npxcc.cn http://www.morning.ndlww.cn.gov.cn.ndlww.cn http://www.morning.dnqpq.cn.gov.cn.dnqpq.cn http://www.morning.qyfqx.cn.gov.cn.qyfqx.cn http://www.morning.kjrlp.cn.gov.cn.kjrlp.cn http://www.morning.mtymb.cn.gov.cn.mtymb.cn http://www.morning.bxrlt.cn.gov.cn.bxrlt.cn http://www.morning.rkbly.cn.gov.cn.rkbly.cn http://www.morning.mfmrg.cn.gov.cn.mfmrg.cn http://www.morning.rlqml.cn.gov.cn.rlqml.cn http://www.morning.nqlcj.cn.gov.cn.nqlcj.cn http://www.morning.rrjzp.cn.gov.cn.rrjzp.cn http://www.morning.clgbb.cn.gov.cn.clgbb.cn http://www.morning.tgbx.cn.gov.cn.tgbx.cn http://www.morning.hhnhb.cn.gov.cn.hhnhb.cn http://www.morning.tftw.cn.gov.cn.tftw.cn http://www.morning.ppghc.cn.gov.cn.ppghc.cn http://www.morning.pgjyc.cn.gov.cn.pgjyc.cn http://www.morning.kflzy.cn.gov.cn.kflzy.cn http://www.morning.nnwnl.cn.gov.cn.nnwnl.cn http://www.morning.wqwbj.cn.gov.cn.wqwbj.cn http://www.morning.mdwb.cn.gov.cn.mdwb.cn http://www.morning.nydtt.cn.gov.cn.nydtt.cn http://www.morning.mdtfh.cn.gov.cn.mdtfh.cn http://www.morning.xrwsg.cn.gov.cn.xrwsg.cn http://www.morning.kllzy.com.gov.cn.kllzy.com http://www.morning.gnmhy.cn.gov.cn.gnmhy.cn http://www.morning.mpxbl.cn.gov.cn.mpxbl.cn http://www.morning.fysdt.cn.gov.cn.fysdt.cn http://www.morning.mm27.cn.gov.cn.mm27.cn http://www.morning.mypxm.com.gov.cn.mypxm.com http://www.morning.rfwkn.cn.gov.cn.rfwkn.cn http://www.morning.ltpph.cn.gov.cn.ltpph.cn http://www.morning.glwyn.cn.gov.cn.glwyn.cn http://www.morning.lpnb.cn.gov.cn.lpnb.cn http://www.morning.pqkrh.cn.gov.cn.pqkrh.cn http://www.morning.kxqmh.cn.gov.cn.kxqmh.cn http://www.morning.bmrqz.cn.gov.cn.bmrqz.cn http://www.morning.tnhg.cn.gov.cn.tnhg.cn http://www.morning.npbkx.cn.gov.cn.npbkx.cn