Release Notes

Oushu Database 3.3.0.1新特性 (发布日期:2019年3月6日)

Oushu Database 3.3.0.1版本比Oushu Database 3.3.0.0版本有如下新特性增强:

  • 修复使用安全模式访问非kerberos集群时存在的文件用户错误的bug
  • 修复version string导致的第三方工具无法访问集群的bug

从3.3.0.0升级到3.3.0.1

不需要做元数据升级

Oushu Database 3.3.0.0新特性 (发布日期:2019年2月21日)

Oushu Database 3.3.0.0版本比Oushu Database 3.1.2版本有如下新特性增强:

  • 新执行器完整支持TPCH 22个query
  • 新执行器新增对sql function的支持
  • 新执行器新增对pl/pgsql的支持
  • 新执行器支持hash分布的可插拔存储
  • 新执行器支持insert语句
  • 新执行器支持Coalesce, Distinct表达式
  • 新执行器新增函数的支持,包括decode, round, sign, substr, upper和lower
  • Orc的BloomFilter支持基于列的打开关闭选项
  • Orc格式新增支持decimal, timestamp with time zone数据类型
  • 优化了Orc格式老执行器查询性能
  • hdfs协议可插拔存储支持kerberos认证
  • 新增hive协议使用的用户权限设置
操作系统 版本
Redhat/Centos 7.0
Redhat/Centos 7.1
Redhat/Centos 7.2
Redhat/Centos 7.3
Redhat/Centos 7.4

从3.1.2.1升级到3.3.0.0

需要做元数据升级,具体步骤如下

  1. 在master节点关闭hawq 3.1.2.1集群
sudo su gpadmin
hawq stop cluster -a
  1. 在所有hawq节点上备份hawq3.1.2.1的设置,在master节点备份元数据
hawq ssh -f hostfile -e 'cp -rf $GPHOME/etc ~/'
在master节点执行
cp -r <hawq-data-directory> /home/gpadmin
# <hawq-data-directory> 是在hawq-site.xml文件中设置的存储master节点数据的路径
  1. 在每个hawq节点上安装hawq 3.3.0.0的yum源
  1. 在每个hawq节点上安装hawq 3.3.0.0的rpm包
hawq ssh -f hostfile -e 'sudo yum remove -y hawq'
sudo yum install -y hawq
hawq ssh -f hostfile -e 'sudo yum install -y hawq'
  1. 配置每个hawq节点
hawq ssh -f hostfile -e 'cp -rf ~/etc/* $GPHOME/etc/'
  1. 进行元数据升级

    1) 在master节点上配置集群到升级模式

    hawq start cluster
    hawq config -c upgrade_mode -v on --skipvalidation
    hawq config -c gp_maintenance_conn -v true --skipvalidation
    hawq stop cluster -a
    hawq start master -U upgrade
    

    2) 在master节点上的template1库中变更元数据,在$GPHOME/etc/hawq-site.xml文件中找到$hawq_master_address_port的值,用其实际值替换命令中的$hawq_master_address_port

    psql -a -p $hawq_segment_address_port -d template1 -U gpadmin -c "alter table pg_authid add column rolcreaterexthive bool;alter table pg_authid add column rolcreatewexthive bool;"
    

    3) 在master节点获取数据库用户名称

    psql -a -d template1 -c "select datname from pg_database where datname not in ('hcatalog', 'template0', 'template1') order by datname;"
    

    4) 在master节点的每个数据库变更元数据

    psql -a -d $user_database_name -U gpadmin -c "alter table pg_authid add column rolcreaterexthive bool;alter table pg_authid add column rolcreatewexthive bool"
    

    5) 在master节点上将集群配置为普通模式

    hawq config -c upgrade_mode -v off --skipvalidation
    hawq config -c gp_maintenance_conn -v true --skipvalidation
    hawq restart cluster -a
    #退出升级模式,重新启动集群
    
    #元数据表的升级结束,可以在正常模式下来使用偶数数据库集群
    

Oushu Database 3.1.2.1新特性 (发布日期:2018年10月8日)

Oushu Database 3.1.2.1版本比Oushu Database 3.1.2版本有如下新特性增强:

  • 新增云登录认证方式。
操作系统 版本
Redhat/Centos 7.0
Redhat/Centos 7.1
Redhat/Centos 7.2
Redhat/Centos 7.3
Redhat/Centos 7.4

从3.1.2升级到3.1.2.1

3.1.2 升级到3.1.2.1只需二进制替换升级,不涉及元数据和存储格式变化,注意在替换Binary前需要备份Oushu Database配置文件,在替换后把备份的配置 文件拷贝回去。

Oushu Database 3.1.2新特性 (发布日期:2018年6月6日)

Oushu Database 3.1.2版本比Oushu Database 3.1.1版本有如下新特性增强:

  • 新执行器新增bigint[]类型的&&、@>和<@操作。
  • 增加hive协议,可以通过hawq直接在hive表中读取和插入数据,支持csv,text,orc格式。
操作系统 版本
Redhat/Centos 7.0
Redhat/Centos 7.1
Redhat/Centos 7.2
Redhat/Centos 7.3
Redhat/Centos 7.4

从3.1.1升级到3.1.2

  1. 在master节点关闭hawq 3.1.1集群
sudo su gpadmin
hawq stop cluster -a
  1. 在所有hawq节点上备份 hawq3.1.1的设置
hawq ssh -f hostfile -e 'cp -rf $GPHOME/etc ~/'
  1. 在每个hawq节点上安装hawq 3.1.2的yum源
参照 http://oushu.io/docs/ch/installation-preparation.html#yum
  1. 在每个hawq节点上安装hawq 3.1.2的rpm包
hawq ssh -f hostfile -e 'sudo yum remove -y hawq'
sudo yum install -y hawq
hawq ssh -f hostfile -e 'sudo yum install -y hawq'
  1. 配置每个hawq节点
hawq ssh -f hostfile -e 'cp -rf ~/etc/* $GPHOME/etc/'
  1. 安装hive函数

    1) 在master节点上配置集群到升级模式

    hawq start cluster
    hawq config -c upgrade_mode -v on --skipvalidation
    hawq restart cluster -a
    

    2) 在master节点上的template1库的pg_catalog.pg_proc表上安装hive函数,在$GPHOME/etc/hawq-site.xml文件中找到$hawq_master_address_port的值,用其实际值替换命令中的$hawq_master_address_port

    PGOPTIONS='-c gp_session_role=utility' psql -a -p $hawq_master_address_port -d template1 -f $GPHOME/share/postgresql/hive_install.sql > hive_install.out 2>&1
    

    3) 在每个segment节点的template1库的pg_catalog.pg_proc表上安装呢hive函数,在$GPHOME/etc/hawq-site.xml文件中找到$hawq_segment_address_port的值,用其实际值替换命令中的$hawq_segment_address_port

    source /usr/local/hawq/greenplum_path.sh
    PGOPTIONS='-c gp_session_role=utility' psql -a -p $hawq_segment_address_port -d template1 -f $GPHOME/share/postgresql/hive_install.sql > hive_install.out 2>&1
    

    4) 在master节点上将集群配置为普通模式

    hawq config -c upgrade_mode -v off --skipvalidation
    hawq restart cluster -a
    

    5) 在master节点获取数据库用户名称

    psql -a -d template1 -c "select datname from pg_database where datname not in ('hcatalog', 'template0', 'template1') order by datname;"
    

    6) 在master节点的每个数据库的pg_catalog.pg_proc表中安装hive函数

    psql -a -d $user_database_name -f $GPHOME/share/postgresql/array_distance_install.sql > hive_install.out 2>&1
    

    7) 在master节点重启集群

    hawq restart cluster -a
    

Oushu Database 3.1.1新特性 (发布日期:2018年3月28日)

Oushu Database 3.1.1版本比Oushu Database 3.1.0版本有如下新特性增强:

  • 主节点(master)故障时,备用主节点(standby)可自动切换为主节点,维持集群正常运行,该功能默认关闭。如需开启此功能,请参考 自动激活备用主节点
操作系统 版本
Redhat/Centos 7.0
Redhat/Centos 7.1
Redhat/Centos 7.2
Redhat/Centos 7.3

从3.1.0升级到3.1.1

3.1.0 升级到3.1.1只需二进制替换升级,不涉及元数据和存储格式变化,注意在替换Binary前需要备份Oushu Database配置文件,在替换后把备份的配置 文件拷贝回去。

Oushu Database 3.1.0新特性 (发布日期:2018年3月6日)

Oushu Database 3.1.0版本比Oushu Database 3.0.1版本有如下新特性增强:

  • 新执行器新增对limit操作符的支持。
  • 新执行器新增对sort操作符的支持。
  • 新执行器新增对max/min聚集函数的支持。
  • 新执行器新增内置的欧氏距离函数。
  • 新执行器针对scan操作符加入了性能优化。
  • 新执行器针对聚集函数加入了性能优化。
  • ORC格式的外部表text列支持dictionary encoding。
  • 修复了一些ORC文件社区兼容性的问题。
  • ORC表支持更多的数据类型,包括bool, char, varchar, bytea, date, time, timestamp和array。
  • ORC表支持分区表。
  • ORC格式的外部表支持并发读写。
  • 关键Bug fixes.
    • oushu-17 : Coredump issue when querying ORC large table with text column
    • oushu-22 : Group by performance issue
    • oushu-350 : Hdfs external table nameservice is case sensitive.
    • oushu-374 : Cancel in new executor has adverse effect on next query
    • oushu-421 : Memory leak in new executor

下表给出了Oushu Database 3.1.0版本支持的操作系统。

操作系统 版本
Redhat/Centos 7.0
Redhat/Centos 7.1
Redhat/Centos 7.2
Redhat/Centos 7.3

从3.0.1升级到3.1.0

  1. 在master节点关闭hawq 3.0.1集群
sudo su gpadmin
hawq stop cluster -a
  1. 在所有hawq节点上备份 hawq3.0.1的设置
hawq ssh -f hostfile -e 'cp -rf $GPHOME/etc ~/'
  1. 在每个hawq节点上安装hawq 3.1.0的yum源

3.1 系统包含avx指令请配置以下YUM源:

hawq ssh -f hostfile -e 'sudo wget -O /etc/yum.repos.d/oushu-database.repo http://yum.oushu-tech.com/oushurepo/yumrepo/release/oushu-database/centos7/3.1.0.0/release/oushu-database.repo'
hawq ssh -f hostfile -e 'sudo wget -O /etc/yum.repos.d/oushu-database-utils.repo http://yum.oushu-tech.com/oushurepo/yumrepo/oushu-database-utils/centos7/1.1.0.0/oushu-database-utils.repo'
hawq ssh -f hostfile -e 'sudo yum makecache'

3.2 系统不包含avx指令请配置以下YUM源:

hawq ssh -f hostfile -e 'sudo wget -O /etc/yum.repos.d/oushu-database.repo http://yum.oushu-tech.com/oushurepo/yumrepo/release/oushu-database/centos7/3.1.0.0/noavx/oushu-database.repo'
hawq ssh -f hostfile -e 'sudo wget -O /etc/yum.repos.d/oushu-database-utils.repo http://yum.oushu-tech.com/oushurepo/yumrepo/oushu-database-utils/centos7/1.1.0.0/oushu-database-utils.repo'
hawq ssh -f hostfile -e 'sudo yum makecache'
  1. 在每个hawq节点上安装hawq 3.1.0的rpm包
hawq ssh -f hostfile -e 'sudo yum remove -y hawq'
sudo yum install -y hawq
hawq ssh -f hostfile -e 'sudo yum install -y hawq'
  1. 配置每个hawq节点
hawq ssh -f hostfile -e 'cp -rf ~/etc/* $GPHOME/etc/'
  1. 安装欧式距离函数(通过升级方式安装的欧式距离只支持老执行器,新执行器需要重新初始化集群)

    1) 在master节点上配置集群到升级模式

    hawq start cluster
    hawq config -c upgrade_mode -v on --skipvalidation
    hawq restart cluster -a
    

    2) 在master节点上的template1库的pg_catalog.pg_proc表上安装欧式距离函数,在$GPHOME/etc/hawq-site.xml文件中找到$hawq_master_address_port的值,用其实际值替换命令中的$hawq_master_address_port

    PGOPTIONS='-c gp_session_role=utility' psql -a -p $hawq_master_address_port -d template1 -f $GPHOME/share/postgresql/array_distance_install.sql > array_distance_install.out 2>&1
    

    3) 在每个segment节点的template1库的pg_catalog.pg_proc表上安装欧式距离函数,在$GPHOME/etc/hawq-site.xml文件中找到$hawq_segment_address_port的值,用其实际值替换命令中的$hawq_segment_address_port

    source /usr/local/hawq/greenplum_path.sh
    PGOPTIONS='-c gp_session_role=utility' psql -a -p $hawq_segment_address_port -d template1 -f $GPHOME/share/postgresql/array_distance_install.sql > array_distance_install.out 2>&1
    

    4) 在master节点上将集群配置为普通模式

    hawq config -c upgrade_mode -v off --skipvalidation
    hawq restart cluster -a
    

    5) 在master节点获取数据库用户名称

    psql -a -d template1 -c "select datname from pg_database where datname not in ('hcatalog', 'template0', 'template1') order by datname;"
    

    6) 在master节点的每个数据库的pg_catalog.pg_proc表中安装欧式距离函数

    psql -a -d $user_database_name -f $GPHOME/share/postgresql/array_distance_install.sql > array_distance_install.out 2>&1
    

    7) 在master节点重启集群

    hawq restart cluster -a
    

Oushu Database 3.0.1新特性 (发布日期:2017年10月30日)

Oushu Database 3.0.1版本比Oushu Database 3.0版本有如下新特性增强:

  • 内部表支持ORC, TEXT和CSV格式。新执行器现在只支持ORC格式,所以我们添加了ORC内部表格式,使得用户可以在更多场景使用新执行器。
  • 外部表创建时默认由可读变为读写。创建的外部表在3.0.1版本之前默认为只读,因为可读写的外部表现在用户用的比较多,所以3.0.1版本更改了默认行为,创建的外部表默认为可读可写。
  • new_executor GUC值的默认值由”auto”改成了”on”,这样用户在ORC表上使用新执行器暂时还未支持的功能时会提示错误信息,用户如果需要把不支持的功能自动切换到老执行器,用户需要修改该值为”auto”.
  • 关键Bug fixes
    • oushu-8 : Fix potential coredump issue when reading ORC file with stripe in dictionary encoding
    • oushu-9 : Fix wrong result issue when using count() function with a scalar parameter
    • oushu-10: Fix potential coredump issue when using avg() function
    • oushu-11: Copy udt reports type not found in segment
    • oushu-12: Fix potential coredump issue when reading ORC file with null values in string column
    • oushu-13: QD hung when error occurs in query dispatch

下表给出了Oushu Database 3.0.1版本支持的操作系统。

操作系统 版本
Redhat/Centos 7.0
Redhat/Centos 7.1
Redhat/Centos 7.2
Redhat/Centos 7.3

内部表支持ORC,TEXT,CSV格式

本章节展示新增内部表格式。

建立ORC,TEXT,CSV内部表

1
2
3
 CREATE TABLE test_orc  (i int, j float) format 'orc';
 CREATE TABLE test_text (i int, j float) format 'text';
 CREATE TABLE test_csv  (i int, j float) format 'csv';

表的其他操作方式不变, 内部表存储位置为

1
 hdfs://hawq_dfs_url/tablespacename/dbname/schemaname/tablename

hawq_dfs_url的值为hawq_site.xml中的value值。

删除内部表

1
 drop table test_orc;

删除内部表后,hdfs上面的存储文件随之删除

外部表创建时默认由可读变为读写

本章节展示外部表的创建。

1
2
3
 // 创建了可写外部表
 CREATE EXTERNAL TABLE test (i int, j float) location ('hdfs://localhost:9000/hawq_default/test');
 INSERT INTO test VALUES (1,0.1);

从3.0升级到3.0.1

3.0升级到3.0.1只需二进制替换升级,不涉及元数据和存储格式变化,注意在替换Binary前需要备份Oushu Database配置文件,在替换后把备份的配置文件拷贝回去。

下载安装请参考文档: 快速入手

Oushu Database 3.0新特性 (发布日期:2017年9月20日)

Oushu Database 3.0是一个Major Release,最大的一个亮点功能是完全重新设计的新执行器,性能比2.2版本的执行器要快10倍左右,是当之无愧的世界上最快的执行器。新执行器充分利用了新的CPU硬件指令,比如SIMD等,可以做到不浪费CPU的每一个时钟周期。

众所周知,Oushu Database 2.2版本的执行器基于Apache HAWQ的执行器,而Apache HAWQ的执行器起源于Greenplum Database和PostgreSQL,是一个很成熟的执行器,经过多年的优化和沉淀。Oushu Database 3.0的全新执行器能够比老的执行器快10倍左右,其中难度可想而知,性能的指数级提升是偶数卓越技术团队经过无数个日夜探索的巨大突破。

具体来说,Oushu Database 3.0版本比Oushu Database 2.2.0版本有如下新特性增强:

  • 全新执行器,目前已支持scan,projection,filter,aggregation等基本操作,性能提升约10倍。不支持的操作会fallback到老的执行器
  • 支持ORC外部存储格式,结合新的执行器,外部存储的性能提升10-50倍
  • 支持新一代可插拔存储框架,只需编写几个函数就可以添加一个外部数据源
  • 支持PostGIS,提供了存储、查询和修改空间关系的能力
  • 关键Bug fixes

下表给出了Oushu Database 3.0版本支持的操作系统。

操作系统 版本
Redhat/Centos 7.0
Redhat/Centos 7.1
Redhat/Centos 7.2
Redhat/Centos 7.3

体验新执行器

本章节通过TPCH lineitem 表来展示新执行器的使用。

建立lineitem 外部表用来生成TPCH lineitem 数据,

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
CREATE EXTERNAL WEB TABLE E_LINEITEM ( L_ORDERKEY    INT8 ,
                                       L_PARTKEY     INTEGER ,
                                       L_SUPPKEY     INTEGER ,
                                       L_LINENUMBER  INTEGER ,
                                       L_QUANTITY    FLOAT ,
                                       L_EXTENDEDPRICE  FLOAT ,
                                       L_DISCOUNT    FLOAT ,
                                       L_TAX         FLOAT ,
                                       L_RETURNFLAG  VARCHAR(1) ,
                                       L_LINESTATUS  VARCHAR(1) ,
                                       L_SHIPDATE    TEXT ,
                                       L_COMMITDATE  TEXT ,
                                       L_RECEIPTDATE TEXT ,
                                       L_SHIPINSTRUCT CHAR(25) ,
                                       L_SHIPMODE     VARCHAR(10) ,
                                       L_COMMENT      VARCHAR(44) )
                                       EXECUTE 'bash -c "$GPHOME/bin/dbgen -b $GPHOME/bin/dists.dss -T L -s 1 -N 6 -n $((GP_SEGMENT_ID + 1))"'
                                       on 6 format 'text' (delimiter '|');

创建orc表, 其中localhost:9000 指向 “hawq_dfs_url”。

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
CREATE WRITABLE EXTERNAL TABLE lineitem
                            ( L_ORDERKEY    INT8,
                              L_PARTKEY     INTEGER,
                              L_SUPPKEY     INTEGER,
                              L_LINENUMBER  INTEGER,
                              L_QUANTITY    FLOAT,
                              L_EXTENDEDPRICE  FLOAT,
                              L_DISCOUNT    FLOAT,
                              L_TAX         FLOAT,
                              L_RETURNFLAG  TEXT,
                              L_LINESTATUS  TEXT,
                              L_SHIPDATE    TEXT,
                              L_COMMITDATE  TEXT,
                              L_RECEIPTDATE TEXT,
                              L_SHIPINSTRUCT TEXT,
                              L_SHIPMODE     TEXT,
                              L_COMMENT      TEXT)
LOCATION ('hdfs://localhost:9000/hawq_default/lineitem')
FORMAT 'orc';

插入数据

1
INSERT INTO lineitem SELECT * FROM e_lineitem;

使用新执行器(注:现在新执行器只支持ORC格式,不支持的功能会自动fallback到老执行器)

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
-----获取表行数------
postgres=# set new_executor = on;
SET
postgres=# SELECT COUNT(*) FROM lineitem;
count
---------
6001215
(1 row)
Time: 17.006 ms

postgres=# set new_executor = off;
SET
postgres=# SELECT COUNT(*) FROM lineitem;
count
---------
6001215
(1 row)
Time: 213.248 ms

-----TPCH 查询 1 ------
postgres=# set new_executor = on;
SET
postgres=#  SELECT
        l_returnflag,
        l_linestatus,
        sum(l_quantity)::bigint as sum_qty,
        sum(l_extendedprice)::bigint as sum_base_price,
        sum(l_extendedprice * (1 - l_discount))::bigint as sum_disc_price,
        sum(l_extendedprice * (1 - l_discount) * (1 + l_tax))::bigint as sum_charge,
        avg(l_quantity)::bigint as avg_qty,
        avg(l_extendedprice)::bigint as avg_price,
        avg(l_discount)::bigint as avg_disc,
        count(*) as count_order
FROM
        lineitem
WHERE
        l_shipdate <= '1998-08-20'
GROUP BY
        l_returnflag,
        l_linestatus;

l_returnflag | l_linestatus | sum_qty  | sum_base_price | sum_disc_price |  sum_charge  | avg_qty | avg_price | avg_disc | count_order
--------------+--------------+----------+----------------+----------------+--------------+---------+-----------+----------+-------------
R            | F            | 37719753 |    56568041381 |    53741292685 |  55889619120 |      26 |     38251 |        0 |     1478870
N            | F            |   991417 |     1487504710 |     1413082168 |   1469649223 |      26 |     38284 |        0 |       38854
A            | F            | 37734107 |    56586554401 |    53758257135 |  55909065223 |      26 |     38273 |        0 |     1478493
N            | O            | 73808911 |   110700990251 |   105167436999 | 109377979031 |      26 |     38248 |        0 |     2894278
(4 rows)

Time: 234.376 ms

postgres=# set new_executor = off;
SET
postgres=#  SELECT
        l_returnflag,
        l_linestatus,
        sum(l_quantity)::bigint as sum_qty,
        sum(l_extendedprice)::bigint as sum_base_price,
        sum(l_extendedprice * (1 - l_discount))::bigint as sum_disc_price,
        sum(l_extendedprice * (1 - l_discount) * (1 + l_tax))::bigint as sum_charge,
        avg(l_quantity)::bigint as avg_qty,
        avg(l_extendedprice)::bigint as avg_price,
        avg(l_discount)::bigint as avg_disc,
        count(*) as count_order
FROM
        lineitem
WHERE
        l_shipdate <= '1998-08-20'
GROUP BY
        l_returnflag,
        l_linestatus;

l_returnflag | l_linestatus | sum_qty  | sum_base_price | sum_disc_price |  sum_charge  | avg_qty | avg_price | avg_disc | count_order
--------------+--------------+----------+----------------+----------------+--------------+---------+-----------+----------+-------------
R            | F            | 37719753 |    56568041381 |    53741292685 |  55889619120 |      26 |     38251 |        0 |     1478870
N            | F            |   991417 |     1487504710 |     1413082168 |   1469649223 |      26 |     38284 |        0 |       38854
A            | F            | 37734107 |    56586554401 |    53758257135 |  55909065223 |      26 |     38273 |        0 |     1478493
N            | O            | 73808911 |   110700990251 |   105167436999 | 109377979031 |      26 |     38248 |        0 |     2894278
(4 rows)

Time: 2341.147 ms

从 2.2.0 升级到 3.0.0

  1. 在master节点关闭hawq 2.2.0集群
sudo su gpadmin
hawq stop cluster -a
  1. 在所有hawq节点上备份 hawq2.2.0的设置
hawq ssh -f hostfile -e 'cp -rf $GPHOME/etc ~/'
  1. 在每个hawq节点上安装hawq 3.0.0的yum源
hawq ssh -f hostfile -e 'sudo wget -O /etc/yum.repos.d/oushu-database.repo http://yum.oushu-tech.com/oushurepo/yumrepo/release/oushu-database/centos7/3.0.0.0/oushu-database.repo'
hawq ssh -f hostfile -e 'sudo wget -O /etc/yum.repos.d/oushu-database-utils.repo http://yum.oushu-tech.com/oushurepo/yumrepo/oushu-database-utils/centos7/1.1.0.0/oushu-database-utils.repo'
hawq ssh -f hostfile -e 'sudo yum makecache'
  1. 在每个hawq节点上安装hawq 3.0.0的rpm包
hawq ssh -f hostfile -e 'sudo yum remove -y hawq'
sudo yum install -y hawq
hawq ssh -f hostfile -e 'sudo yum install -y hawq'
  1. 配置每个hawq节点
hawq ssh -f hostfile -e 'cp -rf ~/etc/* $GPHOME/etc/'
  1. 安装ORC

    1) 在master节点上配置集群到升级模式

    hawq start cluster
    hawq config -c upgrade_mode -v on --skipvalidation
    hawq restart cluster -a
    

    2) 在master节点上的template1库的pg_catalog.pg_proc表上安装ORC,在$GPHOME/etc/hawq-site.xml文件中找到$hawq_master_address_port的值,用其实际值替换命令中的$hawq_master_address_port

    PGOPTIONS='-c gp_session_role=utility' psql -a -p $hawq_master_address_port -d template1 -f $GPHOME/share/postgresql/orc_install.sql > orc_install.out 2>&1
    

    3) 在每个segment节点的template1库的pg_catalog.pg_proc表上安装ORC,在$GPHOME/etc/hawq-site.xml文件中找到$hawq_segment_address_port的值,用其实际值替换命令中的$hawq_segment_address_port

    source /usr/local/hawq/greenplum_path.sh
    PGOPTIONS='-c gp_session_role=utility' psql -a -p $hawq_segment_address_port -d template1 -f $GPHOME/share/postgresql/orc_install.sql > orc_install.out 2>&1
    

    4) 在master节点上将集群配置为普通模式

    hawq config -c upgrade_mode -v off --skipvalidation
    hawq restart cluster -a
    

    5) 在master节点获取数据库用户名称

    psql -a -d template1 -c "select datname from pg_database where datname not in ('hcatalog', 'template0', 'template1') order by datname;"
    

    6) 在master节点的每个数据库的pg_catalog.pg_proc表中安装ORC

    psql -a -d $user_database_name -f $GPHOME/share/postgresql/orc_install.sql > orc_install.out 2>&1
    

    7) 在master节点重启集群

    hawq restart cluster -a
    

Oushu Database 2.2.0新特性 (发布日期:2017年6月19日)

Oushu Database 2.2.0版本比Oushu Database 2.1.1版本有如下新特性增强:

  • 在csv和text文件格式中增加了对非ASCII字符串或长度大于1的字符串作为分隔符的支持(2.1.1中只能支持单个ASCII字符作为分隔符)。涉及copy语句和create external语句。
  • 关键Bug fixes

下表给出了Oushu Database 2.2.0版本支持的操作系统。

操作系统 版本
Redhat/Centos 7.0
Redhat/Centos 7.1
Redhat/Centos 7.2
Redhat/Centos 7.3

从2.1.0/2.1.1升级到2.2.0

2.1.0/2.1.1到2.2.0升级只需二进制替换升级,不涉及元数据和存储格式变化,注意在替换Binary前需要备份Oushu Database配置文件,在替换后把备份的配置文件拷贝回去。

具体方法请参见版本升级章节。

Oushu Database 2.1.1新特性 (发布日期:2017年5月10日)

Oushu Database 2.1.1版本是一个bug fix发布,主要修复了2.1.0版本中Pluggable External Storage的几个Bug:

  • 修复了非admin用户访问Pluggable External Storage的问题
  • 修复了Pluggable External Storage中HDFS空文件读取报错问题

下表给出了Database 2.1.0版本支持的操作系统。

操作系统 版本
Redhat/Centos 7.0
Redhat/Centos 7.1
Redhat/Centos 7.2
Redhat/Centos 7.3

从2.1.0升级到2.1.1只需Binary替换,注意在替换Binary前需要备份Oushu Database配置文件,在替换后把备份的配置文件拷贝回去。

Oushu Database 2.1.0新特性 (发布日期:2017年3月24日)

Oushu Database 2.1.0版本比Oushu Database 2.0.1版本有如下新特性增强:

  • 可插拔外部存储
    • 取代JAVA PXF,性能高数倍,无需安装部署PXF额外组件,极大简化了用户安装部署和运维
    • 原生支持CSV/TEXT外部存储
    • 可以用于不同集群之间共享数据,比如数据仓库和集市之间共享及传输数据
    • 可以用于高速数据加载和数据导出
    • 可以实现高速备份和恢复
    • 可以实现可插拔文件系统:比如S3, Ceph等
    • 可以实现可插拔文件格式:比如ORC,Parquet等
  • 支持Redhat/Centos 7.3操作系统
  • 关键Bug fixes
  • HAWQ 2.1.0兼容Ambari 2.4.2和HDP 2.5.3

下表给出了Database 2.1.0版本支持的操作系统。

操作系统 版本
Redhat/Centos 7.0
Redhat/Centos 7.1
Redhat/Centos 7.2
Redhat/Centos 7.3

Oushu Database 2.0.1新特性 (发布日期:2017年1月20日)

  • 支持Oushu Lava云平台
  • 支持Kubernetes 1.4平台
  • 在Lava或者Kubernetes平台中支持一键云平台部署
  • 支持节点自恢复
操作系统 版本
Redhat/Centos 7.0
Redhat/Centos 7.1
Redhat/Centos 7.2