- 产品简介
- 快速开始
- 表设计
- 数据导入
- 数据提取
- 使用StarRocks
- 管理手册
- 参考手册
- SQL参考
- 用户账户管理
- 集群管理
- ADMIN CANCEL REPAIR
- ADMIN CHECK TABLET
- ADMIN REPAIR
- ADMIN SET CONFIG
- ADMIN SET REPLICA STATUS
- ADMIN SHOW CONFIG
- ADMIN SHOW REPLICA DISTRIBUTION
- ADMIN SHOW REPLICA STATUS
- ALTER CLUSTER
- ALTER SYSTEM
- CANCEL DECOMMISSION
- CREATE CLUSTER
- CREATE FILE
- CREATE RESOURCE GROUP
- DROP CLUSTER
- DROP FILE
- ENTER
- INSTALL PLUGIN
- LINK DATABASE
- MIGRATE DATABASE
- SHOW BACKENDS
- SHOW BROKER
- SHOW FILE
- SHOW FRONTENDS
- SHOW FULL COLUMNS
- SHOW INDEX
- SHOW MIGRATIONS
- SHOW PLUGINS
- SHOW TABLE STATUS
- UNINSTALL PLUGIN
- DDL
- ALTER DATABASE
- ALTER TABLE
- ALTER VIEW
- BACKUP
- CANCEL ALTER
- CANCEL BACKUP
- CANCEL RESTORE
- CREATE DATABASE
- CREATE INDEX
- CREATE MATERIALIZED VIEW
- CREATE REPOSITORY
- CREATE RESOURCE
- CREATE TABLE AS SELECT
- CREATE TABLE LIKE
- CREATE TABLE
- CREATE VIEW
- CREATE FUNCTION
- DROP DATABASE
- DROP INDEX
- DROP MATERIALIZED VIEW
- DROP REPOSITORY
- DROP RESOURCE
- DROP TABLE
- DROP VIEW
- DROP FUNCTION
- HLL
- RECOVER
- RESTORE
- SHOW RESOURCES
- SHOW FUNCTION
- TRUNCATE TABLE
- DML
- ALTER ROUTINE LOAD
- BROKER LOAD
- CANCEL LOAD
- DELETE
- EXPORT
- GROUP BY
- INSERT
- PAUSE ROUTINE LOAD
- RESUME ROUTINE LOAD
- CREATE ROUTINE LOAD
- SELECT
- SHOW ALTER
- SHOW BACKUP
- SHOW DATA
- SHOW DATABASES
- SHOW DELETE
- SHOW DYNAMIC PARTITION TABLES
- SHOW EXPORT
- SHOW LOAD
- SHOW PARTITIONS
- SHOW PROPERTY
- SHOW REPOSITORIES
- SHOW RESTORE
- SHOW ROUTINE LOAD
- SHOW ROUTINE LOAD TASK
- SHOW SNAPSHOT
- SHOW TABLES
- SHOW TABLET
- SHOW TRANSACTION
- SPARK LOAD
- STOP ROUTINE LOAD
- STREAM LOAD
- 数据类型
- 辅助命令
- 函数参考
- 日期函数
- convert_tz
- curdate
- current_timestamp
- curtime
- datediff
- date_add
- date_format
- date_sub
- date_trunc
- day
- dayname
- dayofmonth
- dayofweek
- dayofyear
- from_days
- from_unixtime
- hour
- minute
- month
- monthname
- now
- second
- str_to_date
- timediff
- timestampadd
- timestampdiff
- to_date
- to_days
- unix_timestamp
- utc_timestamp
- weekofyear
- year
- hours_diff
- minutes_diff
- months_diff
- seconds_diff
- weeks_diff
- years_diff
- year
- quarter
- timestamp
- time_to_sec
- str2date
- microseconds_add
- microseconds_sub
- 加密函数
- 地理位置函数
- 字符串函数
- append_trailing_char_if_absent
- ascii
- char_length
- concat
- concat_ws
- ends_with
- find_in_set
- get_json_double
- get_json_int
- get_json_string
- group_concat
- instr
- lcase
- left
- length
- locate
- lower
- lpad
- ltrim
- rtrim
- money_format
- null_or_empty
- regexp_extract
- regexp_replace
- repeat
- reverse
- right
- rpad
- split
- split_part
- starts_with
- strleft
- strright
- hex
- unhex
- substr
- space
- parse_url
- JSON 函数
- JSON 函数和运算符
- JSON 构造函数
- JSON 查询和处理函数
- JSON 运算符
- 模糊/正则匹配函数
- 工具函数
- 聚合函数
- Bitmap函数
- 数组函数
- bit函数
- cast函数
- hash函数
- 条件函数
- 百分位函数
- 数学函数
- 日期函数
- 系统变量
- 错误码
- 系统限制
- SQL参考
- 常见问题解答
- 性能测试
- Release Notes
标准版 DorisDB-x 升级到社区版 StarRocks-x
注意:StarRocks 可以做到前向兼容,所以在升级的时候可以做到灰度升级,但是一定是先升级 BE 再升级 FE。(标准版安装包命名为 DorisDB , 社区版安装包命名格式为 StarRocks)
准备升级环境
注意:请留意环境变量配置准确
创建操作目录,准备环境
# 创建升级操作目录用来保存备份数据,并进入当前目录 mkdir DorisDB-upgrade-$(date +"%Y-%m-%d") && cd DorisDB-upgrade-$(date +"%Y-%m-%d") # 设置当前目录路径作为环境变量,方便后续编写命令 export DSDB_UPGRADE_HOME=`pwd` # 将您当前已经安装的标准版(DorisDB)路径设置为环境变量 export DSDB_HOME=标准版的安装路径,形如"xxx/DorisDB-SE-1.17.6"
下载社区版(StarRocks)安装包,并解压,解压文件根据您下载版本进行重命名
wget "https://xxx.StarRocks-SE-1.18.4.tar.gz" -O StarRocks-1.18.4.tar.gz tar -zxvf StarRocks-1.18.4.tar.gz # 将社区版的解压文件路径设置为环境变量 export STARROCKS_HOME= 社区版的解压安装路径,形如"xxx/StarRocks-1.18.4"
升级 BE
逐台升级 BE,确保每台升级成功,保证对数据没有影响
先将标准版的 BE 停止
# 停止BE cd ${DSDB_HOME}/be && ./bin/stop_be.sh
当前标准版 BE 的 lib 和 bin 移动到备份目录下
# 在DSDB_UPGRADE_HOME 目录下创建be目录,用于备份当前标准版be的lib cd ${DSDB_UPGRADE_HOME} && mkdir -p DorisDB-backups/be mv ${DSDB_HOME}/be/lib DorisDB-backups/be/ mv ${DSDB_HOME}/be/bin DorisDB-backups/be/
拷贝社区版(StarRocks)的 BE 文件到当前标准版(DorisDB)的 BE 的目录下
cp -rf ${STARROCKS_HOME}/be/lib/ ${DSDB_HOME}/be/lib cp -rf ${STARROCKS_HOME}/be/bin/ ${DSDB_HOME}/be/bin
重新启动 BE
# 启动BE cd ${DSDB_HOME}/be && ./bin/start_be.sh --daemon
验证 BE 是否正确运行
a. 在 MySQL 客户端执行 show backends/show proc '/backends' \G 查看 BE 是否成功启动并且版本是否正确
b. 观察 be/log/be.INFO 的日志是否正常
c. 观察 be/log/be.WARNING 是否有异常日志
第一台观察 10 分钟后,按照上述流程执行其他 BE 节点
升级 FE
注意:
逐台升级 FE,先升级 Observer,再升级 Follower,最后升级 Master
请将没有启动 FE 的节点的 FE 同步升级,以防后续这些节点启动 FE 出现 FE 版本不一致的情况
先将当前节点 FE 停止
cd ${DSDB_HOME}/fe && ./bin/stop_fe.sh
创建 FE 目录备份标准版的 FE 的 lib 和 bin
cd ${DSDB_UPGRADE_HOME} && mkdir -p DorisDB-backups/fe mv ${DSDB_HOME}/fe/bin DorisDB-backups/fe/ mv ${DSDB_HOME}/fe/lib DorisDB-backups/fe/
拷贝社区版 FE 的 lib 和 bin 文件到标准版 FE 的目录下
cp -r ${STARROCKS_HOME}/fe/lib/ ${DSDB_HOME}/fe cp -r ${STARROCKS_HOME}/fe/bin/ ${DSDB_HOME}/fe
备份 meta_dir 元数据信息
a. 将标准版的/fe/conf/fe.conf 中设置的 meta_dir 目录进行备份,如未更改过配置文件中 meta_dir 属性,默认为 "\${DSDB_HOME}/doris-meta";下例中设置为 "\${DSDB_HOME}/meta",
b. 注意保证 "命令中元数据目录" 和 "元数据实际目录" 还有 "配置文件" 中一致,如您原目录名为 "doris-meta",建议您将目录重命名,同步需要更改配置文件
mv doris-meta/ meta
c. 配置文件示例:
# store metadata, create it if it is not exist. # Default value is ${DORIS_HOME}/doris-meta # meta_dir = ${DORIS_HOME}/doris-meta meta_dir=xxxxx/DorisDB-SE-1.17.6/meta
其中,meta_dir 设置为创建的元数据存储目录路径
cd "配置文件中设置的meta_dir目录,到meta的上级目录" # 拷贝meta文件,meta为本例中设置路径,请根据您配置文件中设置进行更改 cp -r meta meta-$(date +"%Y-%m-%d")
启动 FE 服务
cd ${DSDB_HOME}/fe && ./bin/start_fe.sh --daemon
验证 FE 是否正确运行
a. 在 MySQL 客户端执行
show frontends\G
查看 FE 是否成功启动并且版本是否正确b. 观察 fe/log/fe.INFO 的日志是否正常
c. 观察 fe/log/fe.WARNING 是否有异常日志
第一台观察 10 分钟后,按照上述流程执行其他 FE 节点
升级 brokers
停止当前节点的 broker
cd ${DSDB_HOME}/apache_hdfs_broker && ./bin/stop_broker.sh
备份当前标准版的 Broker 运行的 lib 和 bin
cd ${DSDB_UPGRADE_HOME} && mkdir -p DorisDB-backups/apache_hdfs_broker mv ${DSDB_HOME}/apache_hdfs_broker/lib DorisDB-backups/apache_hdfs_broker/ mv ${DSDB_HOME}/apache_hdfs_broker/bin DorisDB-backups/apache_hdfs_broker/
拷贝社区版本 Broker 的 lib 和 bin 文件到执行 Broker 的目录下
cp -rf ${STARROCKS_HOME}/apache_hdfs_broker/lib ${DSDB_HOME}/apache_hdfs_broker cp -rf ${STARROCKS_HOME}/apache_hdfs_broker/bin ${DSDB_HOME}/apache_hdfs_broker
启动当前 Broker
cd ${DSDB_HOME}/apache_hdfs_broker && ./bin/start_broker.sh --daemon
验证 Broker 是否正确运行
a. 在 MySQL 客户端执行 show broker 查看 Broker 是否成功启动并且版本是否正确
b. 观察 broker/log/broker.INFO 的日志是否正常
c. 观察 broker/log/broker.WARNING 是否有异常日志
按照上述流程执行其他 Broker 节点
回滚方案
注意:从标准版 DorisDB 升级至社区版 StarRocks,暂时不支持回滚,建议先在测试环境验证测试没问题后再升级线上。如有遇到问题无法解决,可以添加下面企业微信寻求帮助。
注意事项
需要先升级 BE、再升级 FE,因为 Starrocks 的标准版中 BE 是兼容 FE 的。升级 BE 的过程中,需要进行灰度升级,先升级一台 BE,过一天观察无误,再升级其他 FE。
跨版本升级时需要谨慎,测试环境验证后再操作,且升级 Starrocks-2.x 版本时需要前置开启 CBO,需要升级至 2.x 版本的用户需先升级 1.19.x 版本。可在官网获取最新版本的 1.19.x 安装包(1.19.7)。