Oushu Database 5.3.0.0 新特性 (发布日期:2023年10月13日)#


Oushu Database 5.3.0.0 相比 Oushu Database 5.2.0.0 有如下新特性增强:

  • 支持历史SQL监控功能

  • 支持Native Orc格式在线增量备份恢复

  • 支持为新增的对象设置默认的访问权限

  • 实现分区列distinct性能优化

  • Hive External Catalog支持description以及多hive database访问功能

操作系统

版本

Redhat/Centos

7.0

Redhat/Centos

7.1

Redhat/Centos

7.2

Redhat/Centos

7.3

Redhat/Centos

7.4

从 5.2.0.0 升级到 5.3.0.0#

  1. 元数据备份

在升级之前,需要进行数据库的元数据备份。详细描述参见元数据备份

magma backup --catalog-only --backup-dir=hdfs://localhost:8020/magma-backup--$(date+%Y%m%d-%H%M%S)
  1. 记录旧的 OushuDB 版本号

请将 ${all_host_file} 替换为保存集群节点 hostname 的文件名称。

oushudb ssh -f ${all_host_file} -e "source /usr/local/oushu/oushudb/oushudb_path.sh; oushudb --version" > old_version
  1. 记录旧的 OushuDB rpm build 号

oushudb ssh -f ${all_host_file} -e "source /usr/local/oushu/oushudb/oushudb_path.sh; rpm -q oushudb" > rpm_old
  1. 备份 main 节点的 masterdd 和 segment 节点的 segmentdd

首先获取 masterdd 和 segmentdd 的目录位置

oushudb config -s hawq_master_directory
oushudb config -s hawq_segment_directory

接下来对 masterdd 和 segmentdd 目录进行备份

请将 ${main_host_file}/${segment_hosts_file} 替换为保存集群 main/segment 节点 hostname 的文件名称。

并将 ${hawq-master-directory}/${hawq-segment-directory} 替换为上文中获取到的 masterdd/segmentdd 的目录位置

oushudb ssh -f ${main_hosts_file} -e "cp -rf ${hawq-master-directory} ${hawq-master-directoy}.bak"
oushudb ssh -f ${segment_hosts_file} -e "cp -rf ${hawq-segment-directory} ${hawq-segment-directoy}.bak"
  1. 修改 pg_hba.conf 禁掉所有的外部应用链接

详细描述参见pg_hba.conf文件

  1. 停止 OushuDB 集群(连同 magma 一起)

source /usr/local/oushu/oushudb/oushudb_path.sh
oushudb stop cluster -a --with_magma
  1. 检查集群中的 postgres 和 magma 进程,确认输出文件无内容

oushudb ssh -f ${all_host_file} -e "source /usr/local/oushu/oushudb/oushudb_path.sh; oushudb ps" > oushudb_process
  1. OushuDB 新版本 binary 替换

请将 ${newest_oushudb_rpm} 替换为获取的 rpm 包名称

oushudb ssh -f ${all_host_file}
rpm -e oushudb
rpm -ivh ${newest_oushudb_rpm}
  1. 记录新的 OushuDB 版本号,并确认输出为 OushuDB version 5.3.0.0

oushudb ssh -f ${all_host_file} -e "source /usr/local/oushu/oushudb/oushudb_path.sh; oushudb --version" > new_version
  1. 记录新的 OushuDB rpm build 号并确认输出最新的 oushudb rpm build 号

oushudb ssh -f ${all_host_file} -e "source /usr/local/oushu/oushudb/oushudb_path.sh; rpm -q oushudb" > rpm_new
  1. 执行升级脚本

请将 ${old_version} 替换为 步骤 1 中记录的旧的 Oushudb 版本号 并将 ${oushudb_master_host} 替换为任一 main 节点的 hostname

ssh ${oushudb_master_host}
cd /usr/local/oushu/oushudb/bin/
./oushudbupgrade_new --help
./oushudbupgrade_new -s ${old_version}
  1. 从备份文件中恢复 pg_hba.conf

请将 ${main_host_file}/${segment_hosts_file} 替换为保存集群 main/segment 节点 hostname 的文件名称。

并将 ${hawq-master-directory}/${hawq-segment-directory} 替换为 步骤3 中获取到的 masterdd/segmentdd 的目录位置

oushudb ssh -f ${main_hosts_file} -e "cp ${hawq-master-directory}.bak/pg_hba.conf ${hawq-master-directoy}/pg_hba.conf"
oushudb ssh -f ${segment_hosts_file} -e "cp ${hawq-segment-directory}.bak/pg_hba.conf ${hawq-segment-directoy}/pg_hba.conf"
  1. 重启集群

oushudb restart cluster -a --with_magma