【解决方案】升级 selectdb-doris-2.0.5 出现WebUI 启动失败问题处理

Viewed 365

问题描述

Manager 升级 selectdb-doris-2.0.4 及以前的版本到 selectdb-doris-2.0.5 版本时,会出现 WebUI 节点启动失败的现象。这是因为 WebUI 2.0.5 升级了内嵌数据存储 H2 的版本,之前版本过低,有安全漏洞。但是新升级的 H2 版本的数据不兼容之前的旧 H2 数据,WebUI 的元数据无法加载,会报以下故障:

解决方案

根据您是否保留 WebUI 旧的元数据信息,有两种解决方式:手动删除旧数据,或者手工升级旧 H2 数据格式后,通过 Manager 页面重启 WebUI即可。

方式一:手动删除旧数据

WebUI 数据默认存储在对应部署目录下的 {DEPLOY_PATH}/webui/data 目录中,手动删除该目录下的 data.mv.db, data.trace.db 文件。

cd {DEPLOY_PATH}/webui/data
rm data.mv.db data.trace.db

随后通过 Manager 页面重新启动 WebUI 即可。

方式二:手工升级旧 H2 数据格式

  1. 下载 H2 工具

请同时下载 H2 1.4.199 和 2.2.220 工具包并解压:

wget https://github.com/h2database/h2database/releases/download/version-2.2.220/h2-2023-07-04.zip
wget https://h2database.com/h2-2019-03-13.zip

unzip h2-2023-07-04.zip -d h2_2.2
uzip h2-2019-03-13.zip -d h2_1.4
  1. 导出旧数据

通过 H2-1.4.199 工具导出旧数据,请将 DATA_PATH 修改为您实际的 WebUI H2 数据存储目录,默认为 {DEPLOY_PATH}/webui/data。

DATA_PATH=$(readlink -f "~/doris-studio")
BACK_UP_PATH="./webui-backup"

java -cp ./h2_1.4/h2/bin/h2-1.4.199.jar org.h2.tools.Script \
-url jdbc:h2:${DATA_PATH} \
-user sa \
-password 123456789 \
-script ${BACK_UP_PATH}/backup.zip \
-options compression zip FROM_1X
  1. 导入旧数据

DATA_PATH=$(readlink -f "~/doris-studio")
BACK_UP_PATH="./webui-backup"

mv ${DATA_PATH} "${DATA_PATH}-old"

java -cp ./h2_2.2/h2/bin/h2-2.2.220.jar org.h2.tools.RunScript \
-url jdbc:h2:/${DATA_PATH} \
-user sa \
-password 123456789 \
-script ${BACK_UP_PATH}/backup.zip \
-options compression zip FROM_1X

随后通过 Manager 页面重新启动 WebUI 即可。

2 Answers

导出旧数据应该修改为:
java -cp ./h2_1.4/h2/bin/h2-1.4.199.jar org.h2.tools.Script
-url jdbc:h2:${DATA_PATH}
-user sa
-password 123456789
-script ${BACK_UP_PATH}/backup.zip
-options compression zip