## 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 ++++++++++++++++++++++++++ 0. 元数据备份 在升级之前,需要进行数据库的元数据备份。详细描述参见[元数据备份](../managementguide/magma-backup-and-restore.md) ```bash magma backup --catalog-only --backup-dir=hdfs://localhost:8020/magma-backup--$(date+%Y%m%d-%H%M%S) ``` 1. 记录旧的 OushuDB 版本号 请将 ${all_host_file} 替换为保存集群节点 hostname 的文件名称。 ```bash oushudb ssh -f ${all_host_file} -e "source /usr/local/oushu/oushudb/oushudb_path.sh; oushudb --version" > old_version ``` 2. 记录旧的 OushuDB rpm build 号 ```bash oushudb ssh -f ${all_host_file} -e "source /usr/local/oushu/oushudb/oushudb_path.sh; rpm -q oushudb" > rpm_old ``` 3. 备份 main 节点的 masterdd 和 segment 节点的 segmentdd 首先获取 masterdd 和 segmentdd 的目录位置 ```bash 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 的目录位置 ```bash 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" ``` 4. 修改 `pg_hba.conf` 禁掉所有的外部应用链接 详细描述参见[pg_hba.conf文件](../userguide/pg_hba.conf-file.rst) 5. 停止 OushuDB 集群(连同 magma 一起) ```bash source /usr/local/oushu/oushudb/oushudb_path.sh oushudb stop cluster -a --with_magma ``` 6. 检查集群中的 postgres 和 magma 进程,确认输出文件无内容 ```bash oushudb ssh -f ${all_host_file} -e "source /usr/local/oushu/oushudb/oushudb_path.sh; oushudb ps" > oushudb_process ``` 7. OushuDB 新版本 binary 替换 请将 ${newest_oushudb_rpm} 替换为获取的 rpm 包名称 ```bash oushudb ssh -f ${all_host_file} rpm -e oushudb rpm -ivh ${newest_oushudb_rpm} ``` 8. 记录新的 OushuDB 版本号,并确认输出为 `OushuDB version 5.3.0.0` ```bash oushudb ssh -f ${all_host_file} -e "source /usr/local/oushu/oushudb/oushudb_path.sh; oushudb --version" > new_version ``` 9. 记录新的 OushuDB rpm build 号并确认输出最新的 oushudb rpm build 号 ```bash oushudb ssh -f ${all_host_file} -e "source /usr/local/oushu/oushudb/oushudb_path.sh; rpm -q oushudb" > rpm_new ``` 10. 执行升级脚本 请将 ${old_version} 替换为 `步骤 1` 中记录的旧的 Oushudb 版本号 并将 ${oushudb_master_host} 替换为任一 main 节点的 hostname ```bash ssh ${oushudb_master_host} cd /usr/local/oushu/oushudb/bin/ ./oushudbupgrade_new --help ./oushudbupgrade_new -s ${old_version} ``` 11. 从备份文件中恢复 pg_hba.conf 请将 ${main_host_file}/${segment_hosts_file} 替换为保存集群 main/segment 节点 hostname 的文件名称。 并将 ${hawq-master-directory}/${hawq-segment-directory} 替换为 `步骤3` 中获取到的 masterdd/segmentdd 的目录位置 ```bash 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" ``` 12. 重启集群 ```bash oushudb restart cluster -a --with_magma ```