南大通用数据技术有限公司 - 1 -
GBase 8a MPP Cluster (集群)
配置手册 V8.6.2.X
r GBase 8a MPP Cluster 配置手册,南大通用数据技术股份有限公司
e GBase 版权所有©2004-2018,保留所有权利。
版权声明
本文档所涉及的软件著作权、版权和知识产权已依法进行了相关注册、登记,由南大通用数
据技术股份有限公司合法拥有,受《中华人民共和国著作权法》、《计算机软件保护条例》、
《知识产权保护条例》和相关国际版权条约、法律、法规以及其它知识产权法律和条约的保
护。未经授权许可,不得非法使用。
免责声明
本文档包含的南大通用公司的版权信息由南大通用公司合法拥有,受法律的保护,南大通用
公司对本文档可能涉及到的非南大通用公司的信息不承担任何责任。在法律允许的范围内,
您可以查阅,并仅能够在《中华人民共和国著作权法》规定的合法范围内复制和打印本文档。
任何单位和个人未经南大通用公司书面授权许可,不得使用、修改、再发布本文档的任何部
分和内容,否则将视为侵权,南大通用公司具有依法追究其责任的权利。
本文档中包含的信息如有更新,恕不另行通知。您对本文档的任何问题,可直接向南大通用
数据技术股份有限公司告知或查询。
未经本公司明确授予的任何权利均予保留。
通讯方式
南大通用数据技术股份有限公司
天津华苑产业区海泰发展六道 6 号海泰绿色产业基地 J 座(300384)
电话:400-013-9696 邮箱:info@gbase.cn
商标声明
是南大通用数据技术股份有限公司向中华人民共和国国家商标局申请注册的注
册商标,注册商标专用权由南大通用公司合法拥有,受法律保护。未经南大通用公司书面许
可,任何单位及个人不得以任何方式或理由对该商标的任何部分进行使用、复制、修改、传
播、抄录或与其它产品捆绑使用销售。凡侵犯南大通用公司商标权的,南大通用公司将依法
追究其法律责任。
GBase 8a MPP Cluster 配置手册
南大通用数据技术股份有限公司 I
目 录
前言 ............................................................. 1
手册简介 ..................................................... 1
公约 ......................................................... 1
1 集群的配置文件 ............................................... 1
1.1 COROSYNC 基本配置 ..................................... 1
1.1.1 配置文件 ......................................... 1
1.1.2 组播配置文件示例 .................................. 7
1.1.3 UDP 通讯配置文件示例 .............................. 9
1.1.4 COROSYNC 日志文件 ................................ 10
1.2 GCWare 基本配置 ...................................... 10
1.2.1 GCWare 软件包 .................................... 10
1.2.2 基本配置 ........................................ 11
1.2.3 GCWare 日志文件 .................................. 13
2 GCLuster 配置参数 ............................................ 14
2.1 gcluster_adjust_nodes_before_redist .................. 14
2.2 gcluster_count_optimize .............................. 14
2.3 gcluster_crossjoin_use_hash_distribution ............. 15
2.4 gcluster_data_ consistent_level ...................... 15
2.5 gcluster_dblink_direct_data_exchange ................. 15
2.6 gcluster_ddl_parallel_execute ........................ 16
2.7 gcluster_log_level ................................... 16
2.8 gcluster_empty_result_set_optimize ................... 18
2.9 gcluster_ha_event_monitor ............................ 18
2.10 gcluster_ha_node_left_event_delay .................... 18
2.11 gcluster_hash_join_complex_optimize .................. 19
2.12 gcluster_hash_redistribute_groupby_optimize .......... 19
2.13 gcluster_hash_redistribute_join_optimize ............. 20
2.14 gcluster_insert_singlegrouppart_optimize ............. 20
2.15 gcluster_insertselect_use_values_optimize ............ 20
2.16 gcluster_lock_level .................................. 21
2.17 gcluster_max_conn_in_pool ............................ 21
2.18 gcluster_max_thread_in_pool .......................... 21
2.19 gcluster_order_by_limit_offset_optimize .............. 22
2.20 gcluster_query_retry ................................. 22
GBase 8a MPP Cluster 配置手册
II 南大通用数据技术股份有限公司
2.21 gcluster_serial_exec_query .......................... 23
2.22 gcluster_single_hash_node_optimize ................... 23
2.23 gcluster_special_correlated_optimize ................. 24
2.24 gcluster_starschema_join_estimate_optimize ........... 24
2.25 gcluster_starschema_optimize......................... 25
2.26 gcluster_support_hash_redist_combiner ................ 25
2.27 gcluster_union_optimize ............................. 26
2.28 gcluster_use_conn_pool .............................. 26
2.29 gcluster_use_new_decimal ............................ 27
2.30 gcluster_use_special_materialized_table .............. 27
2.31 gcluster_wait_query_cancel_timeout ................... 27
2.32 gcluster_hash_redist_threshold_row ................... 28
2.33 gcluster_loader_max_data_processors .................. 28
2.34 gcluster_rebalancing_update_status_on_drop_table ..... 28
2.35 gcluster_async_connect_timeout ....................... 28
2.36 gcluster_rebalancing_immediate_recover_internal_table 29
2.37 gcluster_rebalancing_parallel_degree ................. 29
2.38 gcluster_parallel_distribution_number ................ 29
2.39 gcluster_enable_serial_load ......................... 29
2.40 gcluster_loader_min_chunk_size ....................... 30
2.41 gcluster_extend_ident ............................... 30
2.42 gcluster_kafka_brokers .............................. 30
2.43 gcluster_kafka_topics ............................... 31
2.44 gcluster_assign_kafka_topic_period ................... 31
2.45 gcluster_kafka_max_messag_size ....................... 31
2.46 gcluster_kafka_batch_commit_dml_count ................ 32
2.47 gcluster_kafka_local_que_size........................ 32
2.48 gcluster_kafka_consume_batch......................... 32
2.49 gcluster_kafka_parallel_commit ....................... 32
2.50 gcluster_random_insert .............................. 33
2.51 gcluster_kafka_ignore_if_table_not_exist ............. 33
2.52 gcluster_connect_net_read_timeout .................... 34
2.53 gcluster_connect_net_write_timeout ................... 34
2.54 gcluster_support_binary ............................. 34
2.55 gcluster_kafka_delete_execute_directly ............... 34
2.56 gcluster_send_client_data_timeout .................... 35
2.57 gcluster_kafka_user_allowed_max_latency .............. 35
GBase 8a MPP Cluster 配置手册
南大通用数据技术股份有限公司 III
2.58 gcluster_kafka_message_format_type ................... 36
2.59 gcluster_kafka_loader_max_start_count ................ 36
2.60 gcluster_kafka_primarykey_can_be_null ................ 36
2.61 gcluster_kafka_data_buf_size ......................... 36
2.62 gcluster_kafka_result_check .......................... 37
2.63 gcluster_kafka_consumer_enable ....................... 37
2.64 gcluster_kafka_consumer_output_charset_name .......... 37
3 GNode 的配置参数 ............................................. 37
3.1 default-storage-engine ............................... 40
3.2 default-time-zone .................................... 40
3.3 event_scheduler...................................... 40
3.4 max_allowed_packet ................................... 41
3.5 max_connections...................................... 41
3.6 max_heap_table_size .................................. 41
3.7 gbase_memory_pct_target .............................. 42
3.8 gbase_dblink_gateway_ip .............................. 42
3.9 gbase_dblink_gateway_port ............................ 42
3.10 gbase_dblink_server_ip ............................... 42
3.11 basedir ............................................. 42
3.12 core-file ........................................... 43
3.13 datadir ............................................. 43
3.14 gbase_buffer_distgrby ................................ 43
3.15 gbase_buffer_hgrby ................................... 44
3.16 gbase_buffer_hj...................................... 44
3.17 gbase_buffer_insert .................................. 45
3.18 gbase_buffer_result .................................. 45
3.19 gbase_buffer_rowset .................................. 45
3.20 gbase_buffer_sj...................................... 46
3.21 gbase_buffer_sort .................................... 46
3.22 gbase_cache_data_dir ................................. 46
3.23 gbase_cache_type ..................................... 47
3.24 gbase_compression_num_method ......................... 47
3.25 gbase_compression_sampling ........................... 48
3.26 gbase_compression_str_method ......................... 48
3.27 gbase_express_log .................................... 49
3.28 gbase_fast_update .................................... 49
3.29 gbase_heap_data...................................... 49
GBase 8a MPP Cluster 配置手册
IV 南大通用数据技术股份有限公司
3.30 gbase_heap_large .................................... 50
3.31 gbase_heap_temp ..................................... 50
3.32 gbase_hybrid_store .................................. 50
3.33 gbase_hybrid_store_page_size......................... 51
3.34 gbase_mmap_hugefile_dir ............................. 51
3.35 gbase_optimizer_between_join......................... 51
3.36 gbase_parallel_degree ............................... 52
3.37 gbase_parallel_execution ............................ 52
3.38 gbase_parallel_max_thread_in_pool .................... 52
3.39 gbase_send_result_mode .............................. 52
3.40 gbase_skip_trim ..................................... 53
3.41 gbase_sql_trace ..................................... 53
3.42 gbase_sql_trace_level ............................... 54
3.43 log-error ........................................... 54
3.44 pid-file ............................................ 55
3.45 port ................................................ 55
3.46 query_cache_size .................................... 55
3.47 socket .............................................. 55
3.48 thread_cache_size ................................... 55
3.49 gbase_capture_sql_flag .............................. 56
3.50 gbase_loader_parallel_degree......................... 56
3.51 gbase_loader_check_charset .......................... 56
3.52 gbase_loader_read_timeout ........................... 56
3.53 gbase_loader_logs_collect ........................... 57
3.54 gbase_loader_logs_dir ............................... 57
3.55 gbase_loader_buffer_count ........................... 57
3.56 gbase_loader_max_line_length......................... 58
3.57 gbase_export_directory .............................. 58
3.58 gbase_loader_wildcard_switch......................... 59
3.59 gbase_export_truncate_mode .......................... 59
3.60 gbase_hdfs_auth_mode ................................ 59
3.61 gbase_hdfs_protocol ................................. 60
3.62 gbase_hdfs_keytab ................................... 61
3.63 gbase_hdfs_principal ................................ 61
3.64 gbase_hdfs_namenodes ................................ 62
3.65 gbase_dblink_standby_gateway_ip ...................... 63
3.66 gbase_dblink_standby_gateway_port .................... 63
GBase 8a MPP Cluster 配置手册
南大通用数据技术股份有限公司 V
3.67 gbase_hdfs_port...................................... 63
3.68 gbase_enable_hdfs_sso ................................ 63
3.69 gbase_hdfs_token_renew_interval ...................... 63
3.70 gbase_export_write_timeout ........................... 64
GBase 8a MPP Cluster 配置手册
南大通用数据技术股份有限公司 - 1 -
前言
手册简介
GBase 8a MPP Cluster 配置手册主要介绍了集群中相关配置文件及配置参
数的介绍,通过阅读本手册用户可以学习到 GBase 8a MPP Cluster 中集群配置
的内容,同时了解集群产品中相关配置参数的内容。
第一章介绍了 GBase 8a MPP Cluster 中 COROSYNC 和 GCWare 的基本配置及
对应的日志文件路径。
第二章介绍了 GBase 8a MPP Cluster 中 GCluster 的配置参数的相关内容。
第三章介绍了 GBase 8a MPP Cluster 中 GNode 的配置参数的相关内容。
公约
下面的文本约定用于本文档:
约 定 说 明
加粗字体 表示文档标题
大写英文(SELECT) 表示 GBase 8a MPP Cluster 关键字
等宽字体 表示代码示例
… 表示被省略的内容。
GBase 8a MPP Cluster 配置手册
南大通用数据技术股份有限公司 - 1 -
1 1 集群的配置文件
1.1 C COROSYNC 基本配置
1.1.1 配置文件
corosync 配置文件位于/etc/corosync/目录下。如果用户对配置文件进行
了修改,修改保存后需要重新启动 gcware 服务。
corosync.conf 的配置文件内容包括:
compatibility: whitetank
totem {
version: 2
secauth: off
threads: 0
token: 60000
token_retransmits_before_loss_const: 80
send_join: 500
join: 1500
consensus:120000
interface {
member {
memberaddr: 192.168.10.180
}
GBase 8a MPP Cluster 配置手册
- 2 - 南大通用数据技术股份有限公司
ringnumber: 0
bindnetaddr: 192.168.10.180
mcastport: 5493
ttl: 1
}
transport: udpu(默认安装使用 udpu 方式)
}
logging {
fileline: off
to_stderr: no
to_logfile: yes
to_syslog: no
logfile: /var/log/corosync.log
debug: off
timestamp: on
logger_subsys {
subsys: AMF
debug: off
}
}
amf {
GBase 8a MPP Cluster 配置手册
南大通用数据技术股份有限公司 - 3 -
mode: disabled
}
gcware {
persistent_interval: 5
check_interval: 30
whole_check_interval_num: 20
coordinator {
member {
memberaddr: 192.168.10.180
}
}
}
在上面的配置文件中:
totem { } 包含了 corosync 核心的群组通讯和成员管理的 totem 协议相
关的配置参数;
在 interface {} 子项目中,共有五个配置参数;
在 logging {}中包含了 corosync 日志相关的配置参数;
在 amf {} 中,包含一个配置参数;
在 gcware {} 中,包含四个配置参数;
下面分别介绍每个配置选项汇总的参数。
m totem 配置项参数
secauth: <bool_value>
GBase 8a MPP Cluster 配置手册 - 4 - 南大通用数据技术股份有限公司
用于集群节点间 COROSYNC 服务数据的加密传输。
参数值:ON | OFF,默认值为 OFF
token: <int_value>、token_retransmits_before_loss_const: <int_value>、:
send_join <int_value>、join <int_value>、consensus<int_value>
此五个参数用于调整 C COROSYNC 对于通讯故障的容忍度,这些参数根据北京农
行、上海电信等用户实际使用经验进行了调整。
n token 指 指 e gcware 多长时间内没有收到 token(中间包含 token 重传)后,将触
发 token 丢失事件重建集群。 。
参数值:整数值,单位:毫秒,默认值: 60000 。
token_retransmits_bef ore_loss_const :用于指定 n token 丢失重传的次数。
参数值:整数值。默认值为: 80 。
send_join:在大规模集群环境下某个节点的加入/离开,可能造成各节点瞬间
同时发出 JoinMsg,造成网络拥塞。通过设置此值,程序发送 JoinMsg 前,将随
机等待[0,send_join]区间内的某个时长。
参数值:整数值,单位:毫秒,默认值: 500 。
Join:发送 JoinMsg 后,在多长时间内没有收到其他成员的 JoinMsg,将引发
JoinMsg 重传
参数值:整数值,单位:毫秒,默认值: 1500 。
consensus:在多长时间内必须使集合的成员达到一致,重发 JoinMsg。
参数值:整数值,单位:毫秒,默认值: 120000 。
通常,在进行大负载运算或并发操作时,通过 调整这五个参数减少 corosync
对因系统负载而造成的通讯延时造成的误判。
e interface 子配置项参数
ringnumber:<int_value>
设置当前 interface 中的 ringnumber 值。此参数默认为 0,无需手动修改。
bindnetaddr: <ipaddr>
GBase 8a MPP Cluster 配置手册
南大通用数据技术股份有限公司 - 5 -
用于 COROSYNC 服务绑定其服务通讯层所使用的网络适配器,其参数值为 ip 地
址或对应网段地址。
注: 这个参数是引起误解最多的配置参数,很多使用者都认为 bindnetaddr 绑
定的是 IP 地址,实际上在 COROSYNC 内部,即使给定的是主机 IP 地址,也只是
使用到主机 IP 地址的网段地址部分。这样的绑定方式,在有多块网卡同时激活
的情况下,如果同时激活的网卡配置为同一网段的 IP 地址(这样配置本身缺乏
合理性),会造成 COROSYNC 绑定网卡的不确定性,即 COROSYNC 会发现同一网段
的两块网卡,并只选取其发现的第一块作为 其通讯用网卡,网卡的发现次序由
操作系统内部决定,具有不确定性,因此经常会发生由于 COROSYNC 使用一个与
集群其他节点通讯的 IP 地址,绑定了一个并未与集群其他节点通讯的同网卡,
造成该节点无法发现其他集群节点,同时也无法被其他集群节点看到。
参数值:IP 地址或对应网段地址。
mcastport:<port_number>
指定一个 UDP 端口号。相同的组播地址可以用于同一网络上的使用不同 UDP 端
口号的COROSYNC服务。需要注意的是 COROSYNC使用两个 UDP端口mcastport(用
于组播接收)和mcastport-1(用于组播发送)。如果在同一网络上使用同一组播
地址的多个集群,需要在配置 mcastport 时保持足够的间隔。
参数值:整数值。默认值:安装包中 demo.options 文件中的 mcast_port 选项
值。
memberaddr: <ipaddr>
在 在 c corosync 在 在 P UDP 通讯模式下 , 用于 C COROSYNC 中定义集群中所有节点的
P IP 地址 , 以进行 P UDP 通讯 , 集群中节点与 r memberaddr 一一对应。C COROSYNC 的
P UDP 通讯模式主要用于交换机设备无法支持组播通讯的情况,实际表现为在组
播通讯方式配置下,各节点之间均不可见 。
参数值:P IP 地址。默认值为: 10.16.35.109
默认使用 UDPU 模式
GBase 8a MPP Cluster 配置手册 - 6 - 南大通用数据技术股份有限公司
g logging 配置项参数
to_stderr:<bool_value>
用于设定是否将日志信息输出的到标准输出中,通常设为 no。此参数仅用于
COROSYNC 前台运行模式(corosync -f)时,输出实时调试信息。
参数值:ON | OFF,默认值为:OFF
to_logfile:<bool_value>
用于设定将日志输出到 logfile 参数指定的文件中。
参数值:YES | NO,默认值为:NO
to_syslog:<bool_value>
用于设定将日志输出到 syslog 中。
参数值:YES | NO,默认值为:NO
logfile:<str_value>
用于设置日志文件。
参数值:字符串,默认值为:/var/log/corosync.log
debug:<bool_value>
用于数据 DEBUG Level 的日志信息,以帮助调试系统,
参数值:YES | NO,默认值为:OFF
timestamp: <bool_value>
用于是否设定日志输出中的时间戳。
参数值: YES | NO ,默认值为: YES
GBase 8a MPP Cluster 配置手册
南大通用数据技术股份有限公司 - 7 -
e gcware 配置项参数
persistent_interval:<seconds_value> 默认值为 5 妙
用于设定将日志输出到 g corosync.log 中。
参数值:整数型,单位:秒,默认值为:5 5
check_interval:<seconds_value> 默认值为 30 妙
gcware 对于问题节点状态检查的时间
whole_check_interval_num: 默认值为 20 次
gcware 在进行多少次问题节点状态检查后会进行一次所有节点的状态检查
Coordinator:
coordinator 节点成员信息
上表中 gcware 配置项的更多参数,请参见 1.2.2 基本配置章节
corosync 运行模式
COROSYNC 默认运行模式为后台 daemon 进行。在进行集群测试时,会需要
以前台方式运行 COROSYNC,以方便诊断 COROSYNC 故障。通过在启动 COROSYNC
时增加-f 参数,设定 COROSYNC 以前台方式启动。COROSYNC 以前台方式启动后,
可通过 CTRL-C 结束。
最后说明:
配置文件中 totem 中的两个参数,建议如果不是首次安装集群,例如卸载
后重新安装,请手动修改这端口号这个参数值,
mcastport:5405
1.1.2 组播配置文件示例
totem {
version: 2
secauth: on
GBase 8a MPP Cluster 配置手册 - 8 - 南大通用数据技术股份有限公司
threads: 0
interface {
ringnumber: 0
bindnetaddr: 192.168.9.74
mcastaddr: 226.94.1.19
mcastport: 5499
ttl: 1
}
}
gcware {
anchor_autoswitch: off
persistent_interval: 1000
check_interval: 30
whole_check_interval_num: 20
coordinator {
member {
memberaddr: 192.168.10.180
}
}
}
GBase 8a MPP Cluster 配置手册
南大通用数据技术股份有限公司 - 9 -
1.1.3 P UDP 通讯配置文件示例
totem {
version: 2
secauth: on
threads: 0
interface {
member {
memberaddr: 10.16.35.109
}
member {
memberaddr: 10.16.35.110
}
}
}
gcware {
anchor_autoswitch: off
persistent_interval: 1000
check_interval: 30
whole_check_interval_num: 20
coordinator {
member {
GBase 8a MPP Cluster 配置手册 - 10 - 南大通用数据技术股份有限公司
memberaddr: 10.16.35.109
}
member {
memberaddr: 10.16.35.110
}
}
}
1.1.4 C COROSYNC 日志文件
COROSYNC 日志记录在/var/log/corosync.log 文件之中。
1.2 e GCWare 基本配置
1.2.1 e GCWare 软件包
GCWare 服务插件存在于以下目录:
/etc/rc.d/init.d/gcware
/usr/libexec/lcrso/gcware_clm.lcrso
/usr/libexec/lcrso/gcware_crm.lcrso
/usr/libexec/lcrso/gcware_lck.lcrso
/usr/libexec/lcrso/gcwserviceenable.lcrso
GCWare python 接口存在于以下目录:
/usr/lib64/python2.6/site-packages/_gcware.so
/usr/lib64/python2.6/site-packages/gcware.py
GBase 8a MPP Cluster 配置手册
南大通用数据技术股份有限公司 - 11 -
1.2.2 基本配置
GCWare 使用 corosync 服务的配置文件(/etc/corosync/corosync.conf)。
COROSYNC 和 GCWare 安装后,系统中同时存在 COROSYNC 和 GCWare 两个可用的
服务,其区别是 COROSYNC 服务中没有启用 GCWare 插件,GCWare 服务在启动
COROSYNC 服务时,自动加载了 GCWare 服务插件。
gcware {
gcluster_sid: gcluster
gcluster_base: /opt/gcluster
gcluster_home: /opt/gcluster/server
gcluster_port: 5258
gcluster_autostart: on
gnode_sid: gbase
gnode_base: /opt/gnode
gnode_home: /opt/gnode/server
gnode_port: 5050
gnode_autostart: on
syncwatch_home: /usr/bin (此参数需要手工添加,配置文件里默
认没有此参数)
sync_autostart: off
}
gcware {
persistent_interval: 5
check_interval: 30
GBase 8a MPP Cluster 配置手册 - 12 - 南大通用数据技术股份有限公司
whole_check_interval_num: 20
check_tcp_only: 1
check_times_judge_failure: 3
coordinator {
member {
memberaddr: 10.10.100.1
}
member {
memberaddr: 10.10.100.2
}
member {
memberaddr: 10.10.100.3
}
}
syncwatch_home:和 sync_autostart 共同组成了 sync_watchdog 进程的启
动参数(sync_autostart:off 时,不启动该进程,sync_autostart:on 启动该
进程),主要用于开发过程中,指定非系统默认安装位置
/usr/bin/sync_watchdog 的部署。
sync_autostart:
设定 LOCKED 节点是否在 LOCKED 发生后自动启动同步程序完成数据同步,
将 LOCKED 状态转换为 VALID 状态。自动同步程序启动的时机包括设置 LOCKED
后,LOCKED 节点由 Offline 状态变为 Online 状态。由于 LOCKED 操作属于系统
异常,在集群测试过程中需要进行分析,设置自动同步会导致测试人员忽略已
GBase 8a MPP Cluster 配置手册
南大通用数据技术股份有限公司 - 13 -
发生过的 LOCKED;如果测试版本的同步程序有问题,还会造成集群数据库的数
据损坏。因此建议将此参数设为 off。
gcluster_sid: gcluster
gcluster_base: /opt/gcluster
gcluster_home: /opt/gcluster/server
gcluster_port: 5258
gcluster_autostart: on
gnode_sid: gbase
gnode_base: /opt/gnode
gnode_home: /opt/gnode/server
gnode_port: 5050
gnode_autostart: on
xxx_sid,xxx_base,xxx_home,xxx_port 参数对应 gcluster/gnode 启动
所需的环境参数。
这组参数主要用于开发过程中,指定非系统默认安装位置 gcluster/gnode
的部署。
xxx_autostart 关闭 gcware 自动启动 gcluster/gnode,以方便开发人员独
立运行 gcluster/gnode。
1.2.3 e GCWare 日志文件
GCWare 相关的日志记录在/var/log/gcware/gcware_*.log 文件中,主要
包括初始化以及消息回调等相关日志信息。
GBase 8a MPP Cluster 配置手册 - 14 - 南大通用数据技术股份有限公司
- 2 r GCLuster 配置参数
在成功安装 GBase 8a MPP Cluster 后,在各个节点机器上的
/opt/gcluster/config 目录下,gbase_8a_gcluster.cnf 文件是 GBase 8a MPP
Cluster 的默认参数文件。
在 GBase 8a MPP Cluster服务器各个 gbase_8a_gcluster.cnf 参数文件中,
共有下面的参数。
2.1 gcluster_adjust_nodes_before_redist
该参数用于控制对 nodedatamap 系统表中不存在的集群节点是否允许执行
SQL。在重分布期间需要设置该值为 0。
该参数的默认值缺省为 0。
参数 = 0 允许;
参数 = 1 不允许;
2.2 gcluster_count_optimize
这个参数用于设置对单表进行 count(*)时,不产生中间结果表,gcluster
直接计算结果值。
参数 = 0: 按照产生中间表的方式执行;
参数 = 1:gcluster 直接计算 count 值。
该参数的默认值是 1。
默认值 最小值 最大值 - 0 1
GBase 8a MPP Cluster 配置手册
南大通用数据技术股份有限公司 - 15 -
2.3 gcluster_crossjoin_use_hash_distributio
n n
这个参数用于设置当 JOIN 两边都不是 hash 列时,是否仍强制走 hash 重分
布 JOIN。
参数 = 0:表示关闭,即当 JOIN 两边都不是 hash 列时,不使用 hash 重分
布 JOIN 功能
参数 = 1:表示开启,即当 JOIN 两边都不是 hash 列时,使用 hash 重分布
JOIN 功能。
该参数的默认值是 1。
2.4 gcluster_data_ consistent_level
集群在软硬件故障的场景下,需要对数据一致性和集群可用性做出取舍:
设置该参数,用于确定保证一致性,还是保证可用性。
参数 = 1 (默认为 1) 执行前需要检查以下条件,并且必须满足这些条
件,即使执行中出现失败也需要检查这些条件。
集群状态必须同时满足以下条件,才允许执行 dml 或加载:
1)每个 SafeGroup 至少有一个可用节点
2)只剩一个可用节点的 SafeGroup 数量 <= 1
一旦任何一个条件不满足,则直接全部回滚,给用户返回失败。
参数 = 0 则不做任何检查直接执行,执行结果无法保证数据的强一致性,
但必须保证集群可用性。
该参数的默认值是 1。
2.5 gcluster_dblink_direct_data_exchange
GBase 8a MPP Cluster 配置手册 - 16 - 南大通用数据技术股份有限公司
这个参数用于只针对同构数据源(gcluster)时使用,用来控制拉数据的
方式,有两种方式可以选择。
该参数的默认值是 1。
参数 = 0: (方式2)网关通过 JDBC 查询远程的集群,将结果集转换为 insert
into …… values……的语句,再插入到本地的集群,从而实现数据迁移。
参数 = 1:(方式 1)直接给远程的 gcluster 发送 SELECT …… INTO
SERVER ……的命令来拉数据,从而实现数据迁移。
备注:方式 1 只针对本地集群节点和远程集群节点之间可以互联的情况,
如果他们之间不能进行互联,则只能使用方式 2。
2.6 gcluster_ddl_parallel_execute
这个参数用于控制 DDL 并行或者串行执行。
参数 = 0:串行执行;
参数 = 1:并行执行
该参数的默认值是 0。
2.7 gcluster_log_level
这个参数的作用用于控制 GCluster 上 DML 及相关功能的 log 级别功能。
目前提供 5 个 log 级别,分别是:error,warning,information,debug,
data。
参数 = 1 error。
参数 = 2 warning。
参数 = 4 information。
参数 = 8 debug。
GBase 8a MPP Cluster 配置手册
南大通用数据技术股份有限公司 - 17 -
参数 = 16 data。
上述五种参数值,可以进行累加后,复合使用。
例如:设置 gcluster_log_level = 3 表示打开 error 和 warning 级别。
另外此参数是配合 DML 场景使用的,用户记录相关日志,目前系统提供 3
个 DML 场景:insert(插入),connect pool(连接池)和 query executor(查
询),以上三个
参数 = 32 屏蔽 insert 日志。
参数 = 64 屏蔽 connect pool 日志。
参数 = 128 屏蔽 query executor 日志。
注意:
1、设置 insert 和 query executor 不走执行器的状态下,进行大数据量的
测试时,不建议打开 data 级别。这样可能造成 log 记录的量太多。
2、记录 insert 日志时,data 级别的 log 都在数据路径上,所以 data 级
别的 log 只在 debug 版提供;release 版 data 级别的 log 是关闭的。
综合举例:
1、gcluster_log_level = 31;打开所有 log 级别。(31 = 16 + 8 + 4 + - 1)
2、gcluster_log_level = 15;打开除 data 之外的所有级别。(15 = 8 +
- 2 + 1)
3、如果希望关掉 query executor 的 log,并且查看其他 DML 的 error,
warning,information及debug四个级别,可以设置gcluster_log_level = 143。
(143 = 128 + 8 + 4 + 2 + 1)
该参数的默认值是 3。
GBase 8a MPP Cluster 配置手册
- 18 - 南大通用数据技术股份有限公司
2.8 gcluster_empty_result_set_optimize
这个参数用于设置是否启用空结果集优化功能。
参数 = 0 禁用。
参数 = 1 启用。如果优化阶段可判断结果集为空,则直接返回,而不需要
让执行器进行执行。
该参数的默认值是 1。
2.9 gcluster_ha_event_monitor
这个参数用于是否控制监听各个 gnode 的状态,以便控制当前执行 SQL 来
获得该状态。
参数 = 0 禁用监听
参数 = 1 启用监听
该参数的默认值是 1。
适用高可用节点状态响应场景:
集群查询过程中,由于一些原因某些节点会出现由 Online 变为 Offline
状态,那么对应该节点的查询则必须停止下来,执行器在执行过程中会提供高
可用节点状态响应功能,一旦节点状态变为不可用,则通知与之相关的查询,
将其停止下来。
2.10 gcluster_ha_node_left_event_delay
这个参数用于检测节点离开的间隔时间,例如 t1 时间检测到 node 离开了,
等待了 gcluster_ha_node_left_event_delay 时间后,检测到 node 仍然是离开
状态,则认为该 node 是真正离开了。单位是毫秒。
该参数的默认值是 30000。
GBase 8a MPP Cluster 配置手册
南大通用数据技术股份有限公司 - 19 -
默认值 最小值 最大值 - 0 86400000000
2.11 gcluster_hash_join_complex_optimiz
e e
这个参数用于控制是否在子查询和父查询满足 hash 关系的优化时,当作一
个整体部分来执行。
参数 = 0 禁用,满足 hash 关系的优化时,不当作一个整体部分执行。
参数 = 1 启用,满足 hash 关系的优化时,当作一个整体部分执行。
该参数的默认值是 1。
2.12 gcluster_hash_redistrib ute_groupby_opti
mize
这个参数用于控制是否启用 Hash 重分布的 GROUP BY 模式。
参数 = 0 禁用。
参数 = 1 启用。进行分组(group by)运算之前,将会把临时结果利用哈
希算法重分布到各个运算节点,再由各个节点进行分组运算。由于数据在分到
各个节点之前已经做了哈希,因此产生的结果直接汇总即可得到最终结果,不
再需要由汇总节点再做一次分组。
该参数的默认值是 1。
需要说明的是:当查询包含 OLAP 函数、ORDER BY、LIMIT 时,无法使用本
参数进行优化。
GBase 8a MPP Cluster 配置手册 - 20 - 南大通用数据技术股份有限公司
2.13 gcluster_h ash_redistribute_join_op
timize
这个参数用于控制是否启用 Hash 重分布的 JOIN 模式。
参数 = 0 禁用。
参数 = 1 一直使用。如果开启此选项,在两个分布表进行等值 JOIN 运算
时,将把其中一个表的数据根据连接条件列的值进行哈希重分布。然后,利用
各个运算节点上重分布后的临时表和另一个进行 JOIN 运算。这样,各节点的
运算结果直接汇总即可得到最终结果。这种策略可以免于将其中一个分布表在
所有运算节点上拉成复制表,而是每个运算节点只需接收这个表的一部分数据。
参数 = 2 由规则决定。应用规则为:两表的尺寸相差不超过 20% 时,使
用哈希重分布 JOIN;否则不使用。
该参数的默认值是 1。
2.14 gcluster_insert_singlegrouppart_op
timize
这个参数用于设置是否把 insert into select... 的数据插入到
safegroup 单一分片中。
参数 = 0:不插入到 safegroup 单一分片中;
参数 = 1:插入到 safegroup 单一分片中
该参数的默认值是 0。
2.15 gcluster_insertselect_use_values_optim
ize
GBase 8a MPP Cluster 配置手册
南大通用数据技术股份有限公司 - 21 -
这个参数用于设置是否把 insert into select…转化成 insert into
values 的方式。
参数 = 0:不转换;
参数 = 1:转换
该参数的默认值是 0。
2.16 gcluster_lock_level
这个参数用于控制 GCluster 上锁的开关。
参数 = 0 全部都打开;
参数 = 1 全部关闭;
参数 = 2 只关掉 select 的锁。
该参数的默认值是 2。
2.17 gcluster_max_conn_in_pool
这个参数用于控制 sql 查询的连接池,设置连接池中对相同 node 的最大的
连接数。如果当前连接数超出上限,当前请求会阻塞等待空闲线程的出现。注
意此参数值,必须小于 gnode 配置文件中 max_connections 的值。即
gcluster_max_conn_in_pool < max_connections。
该参数的默认值是 300。
2.18 gcluster_max_thread_in_pool
这个参数用于控制集群线程数的上限,如果已到线程数上限,本请求则会
阻塞等待空闲线程的出现。
该参数的默认值是 600。
GBase 8a MPP Cluster 配置手册 - 22 - 南大通用数据技术股份有限公司
配合参数 gcluster_use_new_threadpool 一起使用,当参数
gcluster_use_new_threadpool=1 时,需要使用此参数
gcluster_max_thread_in_pool 来指定最大线程数。
2.19 gcluster_order_by_limit_offset_opt
imize
这个参数用于优化,在 SQL 语句中带有 ORDER BY LIMIT,OFFSET 的场景下
可以进行优化,启用参数后,首先从 GNode 中取得需要物化的列及行号,最后
再根据行号进行物化,将最终的列返回。
参数 = 0 关闭;
参数 = 1 启用;
该参数的默认值是 0。
使用场景:
关闭此参数的场景:
select 部分的列较少,并且 offset 的值也较小,关闭此参数。
开启此参数的场景:
select 部分的列较多,并且 offset 的值较大,开启此参数,减少物化成
本来提升查询性能。
2.20 gcluster_query_retry
这个参数用于控制是否启用查询重试机制。重试机制是指当主节点不工作
时,集群将发送查询给备份节点。默认是不启用。
参数 = 0 关闭;
参数 = 1 启动;
GBase 8a MPP Cluster 配置手册
南大通用数据技术股份有限公司 - 23 -
该参数的默认值是 1。
适用于高可用备份查询场景:
集群查询中某一步骤,由于连接的节点 offline 或者其它一些原因查询失
败,那么执行器会将该查询由主节点转到备份节点重新查询,但高可用备份查
询的前提为该查询没有进入结果处理阶段,一旦进入该阶段(例如已经有结果
发送到客户端),则不会启动高可用备份查询,而直接查询报错。
2.21 gcluster_serial_exec_query
这个参数用于设置 SQL 批量执行的数量,主要控制并发时,下发到 gnode 的
SQL 数量。
参数 = 0 :不进行控制,SQL 全部下发到 gnode
参数 = 其他值 进行控制;
该参数的默认值是 0。
默认值 最小值 最大值 - 0 65536
2.22 gcluster_si ngle_hash_node_optimize
这个参数用于控制是否使用单节点执行查询。用于单表等值 hash 查询条件
的优化,当单表包含 hash列的等值条件时,进行 hash优化,sql语句仅仅发送给
单个节点。
参数 = 0 关闭;
参数 = 1 启用;
该参数的默认值是 0。
GBase 8a MPP Cluster 配置手册 - 24 - 南大通用数据技术股份有限公司
2.23 gcluster_special_correlated_optimi
ze
该参数用于控制是否开启相关子查询 hash 重分布优化。父子查询是相关子
查询关系,并且存在等值 JOIN 关系,则将父子查询按 JOIN列进行 hash 重分布
后执行。
参数 = 0 关闭;
参数 = 1 启用;
该参数的默认值是 1。
使用等值 hash 重分布相关子查询功能需要配合参数
gcluster_crossjoin_use_hash_distribution 来一起使用,使用原则如下:
当 gcluster_special_correlated_optimize = 0 时,无轮如何设置参数
gcluster_crossjoin_use_hash_distribution 的值,都不会开启本优化。
当 gcluster_special_correlated_optimize = 1,而
gcluster_crossjoin_use_hash_distribution = 0 时,也不会开启本优化。
当 gcluster_special_correlated_optimize = 1,并且
gcluster_crossjoin_use_hash_distribution = 1 时,才会开启本优化。
示例如下:
SELECT COUNT(*) FROM x1 WHERE EXISTS (SELECT 1 FROM x2 WHERE x1.id2
= x2.id2);
等值 hash 相关子查询优化,分别对 x1,x2 进行动态重分布。
2.24 gcluster_starschema_join_estimate_optim
ize
GBase 8a MPP Cluster 配置手册
南大通用数据技术股份有限公司 - 25 -
这个参数用于设置评估两表 join 结果的方式。
参数 = 0:按照两表行数相乘进行评估;
参数 = 1:按照两表中的大表的行数进行评估
该参数的默认值是 1。
2.25 gcluster_starschema_optimize
这个参数用于控制是否启用集群查询的 starschema 优化。
集群 outer join 的 starschema 优化,例如:
SELECT * FROM t1 LEFT JOIN t2 ON t1.id= t2.id WHERE t1.a = x
被优化成
SELECT * FROM t1 LEFT JOIN t2 ON t1.id = t2.id AND t2.id IN (SELECT
t1.id FROM t1 WHERE t1.a = x) WHERE t1.a = x
使用该优化后就避免了把整个 t2 表拉成一个复制表。
参数 = 0 关闭;
参数 = 1 启用;
该参数的默认值是 0。
2.26 gcluster_support_hash_redist_combi
ner
这个参数用于控制,当存在 ORDER BY 或 LIMIT 的情况下,是否对 GROUP BY
做动态重分布操作。
参数 = 0:关闭;
参数 = 1:开启;
GBase 8a MPP Cluster 配置手册 - 26 - 南大通用数据技术股份有限公司
使用场景:
关闭此参数的场景:
汇总 GROUP BY 的代价较小,关闭此参数,以避免为 ORDER BY 和 LIMIT 产
生额外的汇总步骤。
开启此参数的场景:
当分布式执行 GROUP BY 性能明显优于汇总执行 GROUP BY 时,开启此参数,
以提升查询性能。
该参数的默认值是 0。
2.27 gcluster_union_optimize
这个参数用于设置是否使用 union 优化。使用 union 优化时,union 优化
尽量把 union 语句发送到节点执行,避免把所有需要 union的表都拉成复制表。
即利用 union 的结果集去重的特性,直接将 union 发送到下层去执行。这样在
某些情况下,可以大大减小汇总结点的中间结果集的大小。
参数 = 0: 不使用 union 优化
参数 = 1: 使用 union 优化
默认值 最小值 最大值 - 0 1
该参数的默认值是 0。
2.28 gcluster_use_conn_pool
这个参数用于设置是否使用连接池进行数据库连接访问。
参数 = 0: 不使用连接池;
参数 = 1: 使用连接池
默认值 最小值 最大值
GBase 8a MPP Cluster 配置手册
南大通用数据技术股份有限公司 - 27 -
默认值 最小值 最大值 - 0 1
该参数的默认值是 1。
2.29 gcluster_use_new_decimal
这个参数用于设置使用 decimal 的方式。
参数 = 0:精度为 18;
参数 = 1:精度为 65;
该参数的默认值是 1。
2.30 gcluster_use_special_materialized_
table
这个参数用于设置使用 into server 数据传输的目标表的类型。
参数 = 0 物理表;
参数 = 1 物化表;
默认值 最小值 最大值 - 0 1
该参数的默认值是 1。
2.31 gc luster_wait_query_cancel_timeout
这个参数用于设置当检测到某一个节点 left 后,等待其他节点完成查询的
超时时间,单位是毫秒。
该参数的默认值是 200。
GBase 8a MPP Cluster 配置手册 - 28 - 南大通用数据技术股份有限公司
默认值 最小值 最大值 - 0 120000
2.32 gcluster_hash_redist_threshold_row
当该值不为 0时,若小表拉表的数据行数大于该值,进行 HASH重分布 JOIN。
该参数的默认值是 0。
2.33 gcluster_loader_max_data_processors
一次加载任务使用的最大加载机个数(参与数据解析处理的最大节点数)。
默认值 最小值 最大值 - 1 4294967295
2.34 gcluster_rebalancing_update_status_on
_drop_table
控制在做 rebalance 时,如果有 drop table 是否更新
gclusterdb.rebalancing_status 表
参数值为 0:不更新, 参数值为 1:更新
默认值 最小值 最大值 - 0 1
2.35 gcluster_async_connect_timeout
异步执行器建立连接时的连接超时参数。
默认值 最小值 最大值 - 无 无
GBase 8a MPP Cluster 配置手册
南大通用数据技术股份有限公司 - 29 -
2.36 gcluster_rebalancing_immediate_recove
r_internal_table
0(OFF): rebalance 操作处于“Move data to inter table”状态时与
gcrecover 恢复 rebalance 中间表操作互斥; 1(ON): rebalance 操作处于
“Move data to inter table”状态时与 gcrecover 恢复 rebalance 中间表操
作可以并发;
默认值 最小值 最大值
OFF 0 或者 OFF 1 或者 ON
2.37 gcluster_rebalancing_parallel_degree
控制 rebalance 表时在 gnode 上执行 SIS 时使用
的 gbase_parallel_degree 值。
默认值 最小值 最大值 - 0 1024
2.38 gcluster_parallel_distribution_number
默认为 0,为不控制,所有主分片的数据并行分发; >0,表示每个节点上
同时只能有 n 个主分片的数据被并行分发,即 SIS 的数量。
默认值 最小值 最大值 - 0 100
2.39 gcluster_enable _serial_load
设定超过边界值按当前设定参数的形式统一处理,默认值为 0,代表不受控
制。
GBase 8a MPP Cluster 配置手册 - 30 - 南大通用数据技术股份有限公司
默认值 最小值 最大值 - 0 1
2.40 gcluster_loader_min_chunk_size
数据文件最小分块粒度,单位是字节,UINT_MAX 取值为 4294967295。
默认值 最小值 最大值
64M 1 UINT_MAX
2.41 gcluster_extend_ident
用来控制是否可以创建中文表名字段、特殊字符的字段。
默认为 0,0 表示丌开启,为 1 表示开启。
注:打开 gcluster_extend_ident 参数之后,系统从原来的只能创建字母
数字下划线命名方式,扩展到支持中文和特殊字符,但特殊字符丌包括
"'",""","\"," . "四个字符。
例如创建一个带有特殊字符的库,将会报错
create database t't;
2.42 gcluster_kafka_brokers
该参数用来配置 kafka server 的 IP 和端口,例如:
10.10.10.22:9092,10.10.10.23:9092。
配置了该参数后,才可以通过 start kafka consumer 命令来启动消费。
默认值 最小值 最大值
无 无 无
GBase 8a MPP Cluster 配置手册
南大通用数据技术股份有限公司 - 31 -
2.43 gcluster_kafka_topics
该参数用来配置 kafka topic,例如 topic1,topic2,topic3。配置了该参数
后,才可以通过 start kafka consumer 命令来启动消费。
默认值 最小值 最大值
无 无 无
2.44 gcluster_assign_kafka_topic_period
该参数用来配置 kafka consumer 的高可用,每间隔多长时间检查所有
topic 的消费情况,如果发现有 gclusterd 宕机,就会把宕机节点负责的 topic
安排给其他 coordinator 节点。
高可用机制是通过 gcware 来实现,每次检查需要不 gcware 多次交互对
gcware 压力较大,因此丌建议把这个间隔时间配置的太低。
默认值 最小值 最大值 - 20 120
单位为秒。
2.45 gcluster_kafka_max_messag_size
该参数用来配置 consumer 从 kafka 获取消息,最大支持的消息大小。
单位是字节。配置这个参数的时候需要注意,golden gate 生成最大消息
的大小是可配置的,kafka server 能够接收的最大消息的大小也是可配置的,
consumer 的配置最好不 golden gate 和 kafka 一致。
默认值 最小值 最大值 - 1 1000000000
GBase 8a MPP Cluster 配置手册 - 32 - 南大通用数据技术股份有限公司
2.46 gcluster_kafka_batch_commit_dml_count
该参数用来配置批量提交,单位是 DML 的条数。 在内存够用的情况下,
批量提交能大幅提高效率。
默认值 最小值 最大值 - 1 1000000
2.47 gcluster_kafka_local_que_size
该参数用来配置consumer本地缓存队列的长度,单位是DML的条数。 设
计采用本地缓存队列是为了平衡从 kafka 获取消息和提交到集群这两个环节在
性能上的丌匹配,保证有足够的数据执行提交。
默认值 最小值 最大值 - 100 10000000
2.48 gcluster_kafka_consume_batch
该参数用来配置一次从 kafka server 取得多少消息。 如果 kakfa 消息以
小事务为主,那么可以把这个参数配置大一些,相反则配小一些。
默认值 最小值 最大值 - 1 10000000
2.49 gcluster_kafka_parallel_commit
该参数用来配置并行提交,提交阶段分两步,第一步 flush data 到单机,
第二步真正提交,其中第一步可以并行执行,并行度需要根据 CPU 核数来配
置。
GBase 8a MPP Cluster 配置手册
南大通用数据技术股份有限公司 - 33 -
默认值 最小值 最大值 - 1 50
2.50 gcluster_random_insert
用亍控制随机分布表在执行 insert value 时,发起的集群节点上存在单机
节点,数据分布到单机的原则。
0:insert value 数据都落在和发起集群节点相同的单机节点上;
1:insert value 进入的每条数据,采用 random()%分片数 原则,随机
落在任意单机节点。
默认值 最小值 最大值 - 1 1
注: 发起 coordinator 节点上丌存在 gnode 节点时,目前数据分布逻辑
为 insert value 进入的每条数据,采用 random()%分片数 原则,随机落在任
意单机节点。
2.51 gcluster_kafka_ignore_if_table_not_ex
ist
如果同步 8a丌存在的表的数据时,可以通过参数控制进行丢弃,并记录
日志。
默认值为 0,等亍 1 时代表同步丌存在的表时可以忽略信息写到
express.log 中。
GBase 8a MPP Cluster 配置手册 - 34 - 南大通用数据技术股份有限公司
默认值 最小值 最大值 - 0 1
2.52 gcluster_connect_net_read_timeout
网络读操作超时时间。
默认值为 100000, 最小值为 0,最大值为 1000000, 单位为秒。
2.53 gcluster_connect_net_write_timeout
网络写操作超时时间。
默认值为 100000, 最小值为 0,最大值为 1000000, 单位为秒。
2.54 gcluster_support_binary
该参数用亍控制是否生成 varbinary 的方式。
取值 1:集群可以建出 binary/varbinary 类型的列;
取值 0 :集群丌可以建出 binary/varbinary 类型的列,建出的类型为 char
or varchar 分别对应 binary 和 varbinary;
默认值 最小值 最大值 - 0 1
2.55 gcluster_kafka_delete_execute_directly
集群执行 kafka 数据同步时,对于 delete 操作,缺省是先把要 delete 的
GBase 8a MPP Cluster 配置手册
南大通用数据技术股份有限公司 - 35 -
数据 insert 到一张临时表,再用表关联方式对目标表进行 delete 操作,如果
目标表的基础数据量很大(例如 1 亿行),而 delete 操作占比又非常低(例如
小于 1%),那么这种场景下建议采用直接 delete 方式效率会更高,这个参数
设置的是,在本次正在处理的这批 DML 操作中,关于某个表的 delete 操作数量
少于参数设定值,则对这个表采用直接 delete 方式,否则采用关联 delete 方
式。
例如设置 gcluster_kafka_delete_execute_directly=10,表示当前要提
交的一个或多个事务合并后,如果 delete 操作数量少于10,则使用 delete
where x in ((1),(2))这种方式,而不是默认的使用表关联删除方式。
默认值 最小值 最大值 - 0 无限制
2.56 gcluster_send_client_data_timeout
集群执行查询语句后,在向客户端发送查询结果集数据时,为了防止陷入
无限阻塞,影响 kill 命令的执行,设置 socket 写超时,单位为秒。当设置为 - 时,不设置超时,发送无限等待,只有发送成功或失败才返回。
默认值 最小值 最大值 - 0 100000
2.57 gcluster_kafka_user_allowed_max_latency
增加一个提交时机控制机制,上次提交完成后,从 consumer 拿到第一个消
息开始计时,当解析完第 n 个消息后发现超时了,则立即提交,而不是等
gcluster_kafka_batch_commit_dml_count 满足。 之前的做法是 20ms 内没有
收到新数据就提交。 在增量数据不是很密集的时候,合理设定此参数可以降低
硬盘使用率。
可以与 gcluster_kafka_batch_commit_dml_count 一起使用,无论哪个条
件先满足都可以触发提交。
默认值 最小值 最大值
GBase 8a MPP Cluster 配置手册 - 36 - 南大通用数据技术股份有限公司
默认值 最小值 最大值
10000(代表 10 秒) 0 不限制
2.58 gcluster_kafka_message_format_type
用于设定 kafka 消息格式, 值为 JSON 表示 json 格式,值为 PUREDATA 表示
protocolbuf 格式。
默认值 最小值 最大值
JSON N/U N/U
2.59 gcluster_kafka_loader_max_start_count
控制 loader 型 consumer 最多可以启动多少个,超过这个数,start kafka
consumer 命令将报错。
默认值 最小值 最大值 - 1 100
2.60 gcluster_kafka_primarykey_can_be_null
设为 1 表示允许 kafka 消息里的主键 value=null。
默认值 最小值 最大值 - 0 1
2.61 gcluster_kafka_data_buf_size
设定集群为每个 consumer 最多分配多大 buffer,该 buffer 用于缓存一次
提交包含的 insert 数据(从 update 拆分的 insert 也包含在内)。
注:此参数一般不需要配置,当用户有超大事务的时候,如果 consumer
报错,可以根据错误信息来配置此参数。
默认值 最小值 最大值
1.25GB 0 不限制
GBase 8a MPP Cluster 配置手册
南大通用数据技术股份有限公司 - 37 -
2.62 gcluster_kafka_result_check
consumer 会根据当前要提交的数据计算预期影响行数,并与单机返回的实
际影响行数做比较,如果一致则提交,否则报错不提交。
默认值 最小值 最大值 - 0 1
2.63 gcluster_kafka_consumer_enable
基于 consumer 方式的 kafka 加载也受此参数控制。 关闭之后可以创建
consumer,但是 start consumer 会报错。
设为 1 表示启用 kafka consumer 功能,设为 0 表示关闭 kafka consumer
功能。
默认值 最小值 最大值 - 0 1
2.64 gcluster_kafka_con sumer_output_char set_n
ame
设置 kafka consumer 发给单机的数据的字符集。缺省为空,适用于 JSON
UTF8,8a UTF8的配置;设为 UTF8 可以兼容 8a GBK 或 8a UTF8 两种情况。
注:输入的 JSON 必须是 UTF8
默认值 最小值 最大值
空 无 无 - 3 e GNode 的配置参数
在成功安装 GBase 8a MPP Cluster 后,在各个节点机器上的
/opt/gnode/config 目录下,有一个扩展名为.cnf 的文件,这就是 GBase 8a MPP
Cluster 节点的默认参数文件,因为对于集群来说,每个节点上都是 GBase 8a
GBase 8a MPP Cluster 配置手册 - 38 - 南大通用数据技术股份有限公司
的实例,因此本章节中很多名词均使用了 GBase 8a,而不是 GBase 8a MPP
Cluster,请读者阅读时注意。
在 GBase 8a MPP Cluster 服务器各个节点的参数文件中,共有下面的参数。
编号 参数名称 说明 - default-storage-engine 不可修改
- default-time-zone
- event_scheduler
- max_allowed_packet
- max_connections
- max_heap_table_size
- gbase_memory_pct_target
- gbase_dblink_gateway_ip 使用 DBLink 功能时,需
要手动配置的参数。 9 gbase_dblink_gateway_port - gbase_dblink_server_ip
- basedir 可以修改
- core-file
- datadir
- gbase_buffer_distgrby
- gbase_buffer_hgrby
- gbase_buffer_hj
- gbase_buffer_insert
- gbase_buffer_result
- gbase_buffer_rowset
- gbase_buffer_sj
- gbase_buffer_sort
- gbase_cache_data_dir
- gbase_cache_type
- gbase_compression_num_method
- gbase_compression_sampling
- gbase_compression_str_method
- gbase_express_log
- gbase_fast_update
- gbase_heap_data
- gbase_heap_large
GBase 8a MPP Cluster 配置手册
南大通用数据技术股份有限公司 - 39 -
编号 参数名称 说明 - gbase_heap_temp
- gbase_hybrid_store
- gbase_hybrid_store_page_size
- gbase_ mmap_hugefile_dir
- gbase_optimizer_between_join
- gbase_parallel_degree
- gbase_parallel_execution
- gbase_parallel_max_thread_in_pool
- gbase_send_result_mode
- gbase_skip_trim
- gbase_sql_trace
- gbase_sql_trace_level
- log_error
- pid-file
- port
- query_cache_size
- socket
- thread_cache_size
- gbase_capture_sql_flag
- gbase_loader_parallel_degree
- gbase_loader_check_charset
- gbase_loader_read_timeout
- gbase_loader_logs_collect
- gbase_loader_logs_dir
- gbase_loader_buffer_count
- gbase_loader_max_line_length
- gbase_export_directory
- gbase_loader_wildcard_switch
- gbase_export_truncate_mode
- gbase_hdfs_auth_mode
- gbase_hdfs_protocol
- gbase_hdfs_keytab
- gbase_hdfs_principal
- gbase_hdfs_namenodes
- gbase_dblink_standby_gateway_ip
GBase 8a MPP Cluster 配置手册 - 40 - 南大通用数据技术股份有限公司
编号 参数名称 说明 - gbase_dblink_standby_gateway_port
- gbase_hdfs_port
- gbase_enable_hdfs_sso
- gbase_hdfs_token_renew_interval
- gbase_export_write_timeout
3.1 default- - storage- - engine
这个参数用于设置表的默认存储引擎。
GBase 8a MPP Cluster 使用存储引擎是 EXPRESS 引擎。
用户不可以修改这个参数的值。错误的存储引擎设置,将导致数据库不能
正常工作。
3.2 default- - time- - zone
这个参数设置默认的服务器时区。
该参数用于设置全局 time_zone 系统变量。如果未给出该选项,默认时区
为格林威治时间。
通常该参数的值,要求与操作系统的时区设置值一致。错误的时区设置可
能导致数据库的时间函数返回结果不正常。
对于中国地区的客户,通常使用北京时间,因此该参数值设置为'+8:00'。
3.3 event_scheduler
这个参数用于打开/关闭事件调度程序。
当参数为 0 时,关闭事件调度程序;当参数为 1 时,打开事件调度程度。
在 GBase 8a 中,需要对系统表中的数据进行定期整理,且整理功能由事件
GBase 8a MPP Cluster 配置手册
南大通用数据技术股份有限公司 - 41 -
调度程序启动,因此该参数的值必须设置为 1,以打开事件调度程序。
如果用户关闭事件调度程序,可能导致数据库系统由于未能及时对系统表
进行整理,造成数据库出现性能问题。
3.4 max_allowe d_packet
这个参数用于控制服务器和客户端通讯时,发送和接收的数据包或字符串
的最大长度。
一般情况下,数据包的通讯缓冲区初始化为 8K 字节。当需要传输的数据大
于 8K 时,通讯缓冲区可以自动增长到 max_allowed_packet 字节。这个参数值
一般不需要设置的太大。较小的通讯缓冲区设置值可以捕获大的数据包,而那
些大的数据包通常是由于异常引起的。
如果我们需要使用 BLOB 列或长字符串,则需要增加该值。这个值应同我
们最大的 BLOB 长度或字符串长度一样大。
max_allowed_packet 的协议限制为 1GB。在 GBase 8a 中,这个参数的值默
认值为 64M。不建议用户对该参数进行修改。
3.5 max_connections
允许客户端的最大连接数。该参数默认值是 10000,不建议修改此参数。
3.6 max_heap_table_size
这个参数用于设置 MEMORY (HEAP)表可以增长到的最大空间大小。该参数
用来计算 MEMORY 表的 MAX_ROWS 值。
在已有的 MEMORY 表上设置该参数没有效果,除非用 CREATE TABLE 或
TRUNCATE TABLE 等语句重新创建表。
该参数的默认值是 1600000000。
GBase 8a MPP Cluster 配置手册 - 42 - 南大通用数据技术股份有限公司
3.7 gbase_memory_pct_target
这个参数用于设置内存的可用比例(gbased 服务可用内存占机器物理内存
大小的比例)。系统内存 gbase_memory_pct_target 的结果通常作为 Server
启动时和运行时,对于内存上限和下限的检查。
在 GBase 8a 中,这个参数的默认值是 0.8,不建议用户对该参数进行修改。
3.8 gbase_dblink_gateway_ip
使用 dblink 功能时,需要连接的 GBase 透明网关的 IP。在 GBase 8a 的配
置文件中,手动加入此参数,并且输入 IP 地址。配置完毕后,保存退出配置文
件,重新启动节点的 gcware 服务。
3.9 gbase_dblink_gateway_port
使用 dblink 功能时,需要连接的 GBase 透明网关的 Port。在 GBase 8a 的
配置文件中,手动加入此参数,并且输入端口号。配置完毕后,保存退出配置
文件,重新启动节点的 gcware 服务。
3.10 gbase_dblink_server_ip
使用 dblink 功能时,GBase Server 本身的 IP。在 GBase 8a 的配置文件中,
手动加入此参数,并且输入 IP 地址。配置完毕后,保存退出配置文件,重新启
动节点的 gcware 服务。
3.11 basedir
这个参数用于设置GBase 8a服务的根目录。GBase 8a服务(即节点的gcware
服务)的正确运行,依赖于该参数的正确设置。这个参数的默认值为
GBase 8a MPP Cluster 配置手册
南大通用数据技术股份有限公司 - 43 -
$GBASE_BASE/server。
该参数的值在安装时已经被正确设置,用户不需要对其进行修改,即可正
常启动节点的 gcware 服务。
3.12 core- - file
这个参数用于控制在 GBase 8a 宕机时,是否生成 core-dump 文件。
core-file是一个无值参数。
当在参数文件中出现这个参数时,GBase 8a 服务在宕机后,会生成
core-dump 文件。
GBase 8a 默认不启用该参数。
3.13 datadir
这个参数用于设置 GBase 8a 的数据目录位置。
这个参数的默认值为$GBASE_BASE/userdata/$GBASE_SID。
该参数的值在安装时已经被正确设置,用户不需要对其进行修改,即可正
常启动节点的 gcware 服务。
3.14 gbase_buffer_distgrby
这个参数用于设置数据库做 DISTINCT GROUP 时使用的 BUFFER 大小。
如果用户的SQL操作经常出现DISTINCT操作,则可适当将该参数调大一些。
通常该内存从 LARGE BUFFER 中申请,因此该值应小于 gbase_heap_large
的大小。
系统会根据 gbase_heap_data 的大小,自动计算 gbase_buffer_distgrby
的最小值。如果用户的设置值小于程序计算的最小值,则会忽略该参数的设置
GBase 8a MPP Cluster 配置手册 - 44 - 南大通用数据技术股份有限公司
值。
该参数的默认值是由系统自动评估计算出来的,不是固定的值。
3.15 gbase_buffer_hgrby
这个参数用于设置数据库做 GROUP 时使用的 BUFFER 大小。
如果用户的 SQL 操作经常出现 GROUP BY 操作,则可以适当将该参数调大一
些。
通常该内存从 LARGE BUFFER 中申请,因此该值应小于 gbase_heap_large
的大小。
系统会根据 gbase_heap_data 的大小,自动计算 gbase_buffer_hgrby 的最
小值。如果用户的设置值小于程序计算的最小值,则会忽略该参数的设置值。
该参数的默认值是由系统自动评估计算出来的,不是固定的值。
3.16 gbase_buffer_hj
这个参数用于设置数据库做 HASH JOIN 时使用的 BUFFER 大小。
如果用户的 SQL 操作经常出现 HASH JOIN 操作,则可以适当将该参数调大
一些。
通常该内存从 LARGE BUFFER 中申请,因此该值应小于 gbase_heap_large
的大小。
系统会根据 gbase_heap_data 的大小,自动计算 gbase_buffer_hj 的最小
值。如果用户的设置值小于程序计算的最小值,则会忽略该参数的设置值。
该参数的默认值是由系统自动评估计算出来的,不是固定的值。
GBase 8a MPP Cluster 配置手册
南大通用数据技术股份有限公司 - 45 -
3.17 gbase_buffer_insert
这个参数用于设置批量 INSERT 数据时,中间 BUFFER 的大小。
适当减少 COMMIT 的次数,可以加快 INSERT 的速度,但减少 COMMIT 操作,
则需要更大的 gbase_buffer_insert。该参数的设置值与在 INSERT 操作时,一
次 COMMIT 的记录数量及 INSERT 的数据内容相关。
该参数的默认值是 256M。
3.18 gbase_buffer_result
这个参数用于配置物化结果集 BUFFER 大小。当查询结果集超过
gbase_buffer_result 的大小时,会在 cache 目录中产生格式为
GB_CB_XX...XX.express_tmp 的临时文件来缓存结果集数据。
该参数与 gbase_buffer_rowset 的不同之处在于,gbase_buffer_rowset
控制的是查询过程中,中间运算结果物化时使用的 BUFFER 大小,而
gbase_buffer_result 是为最终查询结果物化时使用的 BUFFER 大小。
该参数的默认值是由系统自动评估计算出来的,不是固定的值。
3.19 gbase_buffer_rowset
这个参数用于配置缓存 join 中间结果所使用的 BUFFRER 大小。
系统会根据 gbase_heap_data 的大小,自动计算 gbase_buffer_rowset 的
最小值。如果用户的设置值小于程序计算的最小值,则会忽略该参数的设置值。
通常该内存从 LARGE BUFFER 中申请,因此该值应小于 gbase_heap_large
的大小。
该参数的默认值是由系统自动评估计算出来的,不是固定的值。
GBase 8a MPP Cluster 配置手册 - 46 - 南大通用数据技术股份有限公司
3.20 gbase_buffer_sj
这个参数用于设置数据库做 SORT MERGE JOIN 时使用的 BUFFER 大小。
如果用户的 SQL 操作经常出现 SORT MERGE JOIN 操作,则可以适当将该参
数调大一些。
通常该内存从 LARGE BUFFER 中申请,因此该值应小于 gbase_heap_large
的大小。
系统会根据 gbase_heap_data 的大小,自动计算 gbase_buffer_sj 的最小
值。如果用户的设置值小于程序计算的最小值,则会忽略该参数的设置值。
该参数的默认值是由系统自动评估计算出来的,不是固定的值。
3.21 gbase_buffer_sort
这个参数用于设置数据库做 SORT 时使用的 BUFFER 大小。
如果用户的 SQL 操作经常出现 SORT 操作,则可以适当将该参数调大一些。
通常该内存从 LARGE BUFFER 中申请,因此该值应小于 gbase_heap_large
的大小。
系统会根据 gbase_heap_data 的大小,自动计算 gbase_buffer_sort 的最
小值。如用户的设置值小于程序计算的最小值,则会忽略该参数的设置值。
该参数的默认值是由系统自动评估计算出来的,不是固定的值。
3.22 gbase_cache_data_dir
这个参数用于设置 GBase 8a 运行中,数据库临时目录路径。该目录至少需
要 20G 的空闲空间(依赖于数据库的大小)。
该目录对 GBase 8a 的运行性能影响较大,通常要求该目录被设置在 IO 性
能非常高的磁盘分区中。
GBase 8a MPP Cluster 配置手册
南大通用数据技术股份有限公司 - 47 -
在 GBase 8a 中,该参数的默认值为
$GBASE_BASE/tmpdata/cache_$GBASE_SID,用户可以根据实际的硬件情况,修
改该参数。
3.23 gbase_cache_type
这个参数用于 LRU/LIRS Cache 控制。此参数存在于 gnode 层。
参数 = 0:LIRS Cache 控制。
参数 = 1:LRU Cache 控制。
该参数的默认值是 0。
LRU/LIRS 简介:
LRU Cache:Least Recent Used,按生命周期淘汰未 Lock 的 DC。
LIRS Cache:Low Inter-reference Recency Set,LRU 改进算法,用 cold
缓冲区来保护 hot 缓冲区,既提高进入 hot 缓冲区的门槛,又阻止了 hot 缓冲
区的频繁进出。
应用场景:
LRU 适用于低并发,大结果集查询,LRU 的内存释放更自由。
LIRS 适用于高并发,小结果集查询,LIRS 的内存释放被严格限定在 cold
缓冲区,通常 cold 缓冲区与 hot 缓冲区的比率为 1:9,当经常有大结果集查询
出现,而且访问 DC 大量进行 hot 缓冲区时,内存往往占用严重。
3.24 gbase_compression_num_method
这个参数用于控制数字型(例如:TINYINT,INT,BIGINT,DOUBLE,DECIMAL...)
数据的压缩方式。
可选的压缩方式有:
GBase 8a MPP Cluster 配置手册 - 48 - 南大通用数据技术股份有限公司
- RAPIDZ 压缩(相对于 31 算法而言,可以提供更好的数据吞吐能力(IO+
解压),适用于对性能要求较高的用户场合。)
该参数的默认值是 0。
3.25 gbase_compression_sampling
该参数用于控制每隔多少个数据包,对压缩时采用的压缩算法重新评估。
这个参数只有在 gbase_compression_str_method=4 或
gbase_compression_num_method = 2 时才生效。
该参数的取值范围为 1 到 2000。当设置的值小于 1 时按 1 处理,大于 2000
时按 2000 处理。该参数的默认值为 1。
该参数值越大,则压缩速度越快,但压缩比可能会损失;该参数值越小,
则数据的压缩率越高,不过由于对压缩算法的大量评估,可能导致压缩速度变
慢。
gbase_compression_sampling 的默认值为 1,即对每个数据包都重新选择
最优的压缩算法。
GBase 8a 的数据库压缩性能,和用户数据的分布情况有密切关系。对于正
常分布的数据,通常将该参数设置为 10 到 50 之间,即可达到较好的效果。
默认值 最小值 最大值
- 1 2000
3.26 gbase_compression_str_method
这个参数用于控制字符串类型(如:VARCHAR,CHAR...)的压缩方式。可
选的压缩方式有:
GBase 8a MPP Cluster 配置手册
南大通用数据技术股份有限公司 - 49 - - RAPIDZ压缩(相对于 31 算法而言,可以提供更好的数据吞吐能力(IO+
解压),适用于对性能要求较高的用户场合。)
该参数的默认值是 0。
3.27 gbase_express_log
这个参数用于设置是否记录 express.log。
如果这个参数设为 1,则记录日志,日志路径为
$GBASE_BASE/log/$GBASE_SID;如果这个参数设为 0,则不记录日志。
该参数默认值是 1。
3.28 gbase_fast_update
这个参数用于设置是否使用快速 UPDATE 模式。
如果这个参数设为 1,是内部类似于做了 DELETE+INSERT 操作(适用于更新
该列中较少的数据);如果这个参数设为 0,是重建更新列所有数据(即批量
模式)。
该参数的默认值是 0。
3.29 gbase_heap_data
这个参数用于管理数据包缓存堆的大小。
这是一个非常重要的参数,合理的参数设置可以从很大程度上,提高数据
库的查询性能。
将 gbase_heap_data 设置的很大,可以大大改善数据库的查询性能,但过
GBase 8a MPP Cluster 配置手册
- 50 - 南大通用数据技术股份有限公司
大的 gbase_heap_data 会导致操作系统的不稳定,因此,gbase_heap_data +
gbase_heap_temp + gbase_heap_large + gbase_buffer_insert 不能超过系统
总内存的 80%,否则启动时会报错。
该参数的默认值是由系统自动评估计算出来的,不是固定的值。
3.30 gbase_heap_large
这个参数用于管理 SORT、JOIN、GROUP 操作时的 large heap 的大小。
这是一个非常重要的参数,合理的参数设置可以提高数据库的查询性能。
将 gbase_heap_large 设置的更大可以大大改善数据库的查询性能,但过大
的 gbase_heap_large 会导致操作系统的不稳定。要求 gbase_heap_data +
gbase_heap_temp + gbase_heap_large + gbase_buffer_insert 的值不能超过
系统总内存的 80%,否则启动时会报错。
该参数的默认值是由系统自动评估计算出来的,不是固定的值。
3.31 gbase_heap_temp
这个参数用于管理临时内存堆的大小。
这是一个非常重要的参数,合理的参数设置可以从很大程度上,提高数据
库的查询性能。
将 gbase_heap_temp 设置的很大,可以大大改善数据库的查询性能,但过
大的 gbase_heap_temp 会导致操作系统的不稳定,因此,gbase_heap_data +
gbase_heap_temp + gbase_heap_large + gbase_buffer_insert 不能超过系统
总内存的 80%,否则启动时会报错。
该参数的默认值是由系统自动评估计算出来的,不是固定的值。
3.32 gbase_hybrid_store
GBase 8a MPP Cluster 配置手册
南大通用数据技术股份有限公司 - 51 -
这个参数用于设置是否使用行存数据。
如果这个参数设置为 0,不使用行存数据。如果这个参数设置为 1,使用行
存数据(server 自动判断是否使用)。如果这个参数设置为 2,强制使用行存
数据(有行存数据时则一定使用)
该参数的默认值是 1。
3.33 gbase_hybrid_store_page_size
这个参数用于设置行存数据中一个 page 的大小(单位为字节)。
Page 页的划分大小会影响行存储列的查询时间。
默认值 最小值 最大值
32KB 1KB 1GB
该参数的默认值是 32KB。
3.34 gbase_mmap_hugefile_dir
这个参数用于设置是否使用 mmap 机制来管理 data cache。如果这个参数
设置为 1,则使用则该参数为 mmap 对应的存储文件。如果这个参数设置为 0,
则不使用 mmap 机制来管理 data cache。
该参数的默认值是空。
3.35 gbase_optimizer_between_join
这个参数用于控制是否使用 BETWEEN JOIN 优化,默认值是 1。
参数 = 0 关闭;
参数 = 1 启用;
参数 = 2 启用;用于当 SQL 语句含有等值条件的连接时,优先使用 BETWEEN
JOIN,如‚where t1.d = t2.d AND t1.a BETWEEN t2.b AND t2.c‛;
GBase 8a MPP Cluster 配置手册 - 52 - 南大通用数据技术股份有限公司
该参数的默认值是 1。
3.36 gbase_parallel_degree
这个参数用于设置控制 SQL 执行的并行度(并行线程数),如果不设定该
参数值,则该参数的默认值是 0(0 表示用默认并行度,默认并行度取值是线程
池最大可用资源数的一半)。如果设定该参数值,则最小值取值为 1。
默认值 最小值 最大值 - 1 线程池最大可用线程数
3.37 gbase_parallel_execution
这个参数用于设置是否启用并行开关。如果这个参数设为 OFF,则关闭并
行开关;如果这个参数设为 ON,则开启并行开关。
该参数的默认值是 ON。
3.38 gbase_parallel_max_thread_in_pool
这个参数用于配置 gnode并行伺服线程池中的最大可用资源数,默认为CPU
核数的 2 倍。
默认值 最小值 最大值
CPU 核数的 2 倍 0 4096
该参数的默认值是 CPU 核数的 2 倍。
3.39 gbase_send_result_mode
这个参数用于设置是否启用流水线方式发送结果集,如果这个参数设为
ON,则使用流水线方式,服务在处理一块结果后会马上发给客户端;如果这个
参数设为 OFF,则不使用流水线方式,服务在处理全部结果后才发送给客户端。
GBase 8a MPP Cluster 配置手册
南大通用数据技术股份有限公司 - 53 -
该参数的默认值是 ON。
3.40 gbase_skip_trim
这个参数用于设置在查询语句中是否屏蔽掉函数 TRIM,RTRIM,LTRIM 的功
能。如果这个参数设置为 1,则屏蔽掉函数 TRIM,RTRIM,LTRIM 的功能;如果
这个参数设置为 0,则正常启用函数 TRIM,RTRIM,LTRIM 的功能。
使用该参数的前提是需要保证数据的前后没有空格。
例如:
SELECT * FROM t1 WHERE TRIM(a) = 'aa';
优化成
SELECT * FROM t1 WHERE a = 'aa';
该参数的默认值是 0。
3.41 gbase_sql_trace
这个参数用于控制记录日志信息。默认情况下,这个参数是关闭状态的,
不再对 sql 操作记录日志。在配制文件中找到‚#gbase_sql_trace = 1‛,将
‚#‛去掉,保存退出配置文件后,需要重新启动节点的 gcware 服务,才能使
配置生效。此方法是全局生效的策略,也可以通过 SET 命令来进行设置。
这样在进入 GBase 数据库系统后,执行一条 sql 语句,执行完毕后,退出
系统,在 linux 下,执行 e ll /opt/gnode/log/gbase 命令,这时会看到类似
‚-rw-rw---- 1 gbase gbase 223 Jul 10 10:33
gbase_gbase_1_20130710103301.trc‛的文件,这便是新的日志文件。每当与
8a 建立一个新的会话,且开启了这个参数,进行了 sql 操作,都会对应生成一
个类似的文件,同一个会话,不会新增新的 log 文件。
备注:这个参数需要和 gbase_sql_trace_level 参数配合使用,如果本参
数设置为开启状态,即 gbase_sql_trace =1,则此时可以将
GBase 8a MPP Cluster 配置手册 54 - 南大通用数据技术股份有限公司
gbase_sql_trace_level 设置为 1、2 或者 3。
该参数的默认值是 0。
示例:
ll
total 24
-rw-rw---- 1 gbase gbase 245 Jul 10 10:32 express.log
-rw-rw---- 1 gbase gbase 5 Jul 10 10:32 gbased.pid
-rw-rw---- 1 gbase gbase 223 Jul 10 10:33
gbase_gbase_1_20130710103301.trc
-rw-rw---- 1 gbase gbase 223 Jul 10 10:33
gbase_gbase_2_20130710103331.trc
-rw-r--r-- 1 gbase gbase 4 Jul 10 10:32 syncserver.pid
-rw-rw---- 1 gbase gbase 1098 Jul 10 10:32 system.log
3.42 gbase_sql_trace_level
这个参数用于控制 express trace log 输出内容的详细程度,分 1、2、3
级,其中 3 级为最详细。
当该参数设置为 0 时,不记录日志;设置为 1 时,记录日志,设置为 2 时,
记录并行 sql 的相关日志。设置为 3 时,记录更为详细的并行 sql 相关日志。
在配制文件中找到# gbase_sql_trace_level = 0,将#去掉,然后修改值
为 1、2 或 3,保存退出配置文件后,需要重新启动节点的gcware 服务,才能
使配置生效。也可以通过 SET 命令来进行设置。
该参数的默认值是 0。
3.43 log- - error
这个参数用于设置 GBase 8a 的错误日志文件。
该参数的默认路径为$GBASE_BASE/log/$GBASE_SID/system.log。
GBase 8a MPP Cluster 配置手册
南大通用数据技术股份有限公司 - 55 -
3.44 pid- - file
这个参数用于配置 GBase 8a 保存进程 ID 文件的操作系统路径。
错误的 pid 文件会导致节点的 gcware 不能正常启动或停止服务。当节点的
gcware 启动或停止异常时,可以通过这个参数,查看相应的 pid 文件是否存在,
内容是否正确。
该参数的默认值为$GBASE_BASE/log/$GBASE_SID/gbased.pid。
3.45 port
这个参数用于设置 GBase 8a 节点机器通讯时所使用的端口号。
该参数的值为安装 GBase 8a MPP Cluster 时,指定的节点机器的端口号。
3.46 query_cache_size
设置查询结果缓存大小,默认值是 0M。
3.47 socket
这个参数用于配置服务器通讯时所使用的 socket 文件。
该参数的默认值通常为/tmp/gbase_8a_xxxx.sock。其中xxxx为安装 GBase
8a MPP Cluster 时所配置的节点机器的端口号。
3.48 thread_cache_size
这个参数的值表示可以重新利用保存在缓存中线程的数量,当断开连接时
如果缓存中还有空间,那么客户端的线程将被放到缓存中,如果线程重新被请
求,那么请求将从缓存中读取,如果缓存中是空的或者是新的请求,那么这个线
GBase 8a MPP Cluster 配置手册
- 56 - 南大通用数据技术股份有限公司
程将被重新创建,如果有很多新的线程,增加这个值可以改善系统性能。这个参
数默认值是 0。
3.49 gbase_capture_sql_flag
记录所有执行过的 select 语句的功能。 - 是关闭,1 是开启。默认为 0。
3.50 gbase_loader_parallel_degree
这个参数用于设置控制加载 SQL 执行的并行度(并行线程数),如果不设
定该参数值,则该参数的默认值是 0(0 表示用默认并行度,默认并行度取值是
线程池最大可用资源数)。设置 gbase_parallel_degree 参数对加载不再有效。
默认值 最小值 最大值 - 0 1024
3.51 gbase_loader_check_charset
用于设置是否打开字符集检查功能,该参数仅对加载有效,对其他 SQL 无
影响。
默认值 最小值 最大值 - 0 1
3.52 gbase_loader_read_timeout
用于指定读取 FTP/HTTP/SFTP 文件的超时时间,如果填充一个数据块(8M)
的时间超过此参数值,加载任务将报错停止。0 表示永不超时。
默认值 最小值 最大值 - 0 UINT_MAX
GBase 8a MPP Cluster 配置手册
南大通用数据技术股份有限公司 - 57 -
3.53 gbase_loader_logs_collect
用于控制日志汇总功能的开启。ON:表示开启加载错误数据日志汇总功能,
加载过程中实时的将错误数据与溯源信息汇总至加载发启节点。OFF:表示关闭
加载错误数据日志汇总功能,加载遵循现有规则,错误数据日志与溯源信息日
志存在在加载节点。
有效值 默认值 最小值 最大值 - (ON)、 0 (OFF) 1 (ON) 0 1
3.54 gbase_loader_logs_dir
用户指定错误数据与溯源日志文件汇总目录。
默认值 最小值 最大值
gcluster:
$GCLUSTER_HOME/log/gcluster/loader_logs/
gbase:
$GBASE_HOME/log/gbase/loader_logs/
无 无
3.55 gbase_loader_buffer_count
用于控制加载占用内存数量,新增参数 gbase_loader_buffer_count,用
于指定加载过程中分配的读缓冲内存块数量(单块内存固定大小为 8M)。
默认值 最小值 最大值 - 2 128
参数说明:用于指定加载过程中分配的读缓冲内存块数量,其中单块内存
固定大小为 8M,每个加载任务单个节点占用的读缓冲内存为
GBase 8a MPP Cluster 配置手册 - 58 - 南大通用数据技术股份有限公司
8M*gbase_loader_buffer_count。
3.56 gbase_loader_max_line_length
用于设置源文件中一行数据的最大长度,超过此长度,加载任务将报错停
止。单位:字节。
默认值 最小值 最大值 - 4194304 9223372036854775807
(LONG_MAX)
3.57 gbase_ export_directory
用于指定是否自动创建与导出文件同名的目录,作为导出文件的目标目录。
该参数支持 hadoop 文件和本地文件的导出,暂不支持 rmt远程导出方式。
默认值 最小值 最大值 - 0 1
当该参数值为 1 时,以导出本地文件或 Hadoop 文件前,自动创建与文件同
名(不含扩展名)的目录作为导出的目标目录,参数值为 0 时则不创建目录。
GBase 8a MPP Cluster 配置手册
南大通用数据技术股份有限公司 - 59 -
3.58 gbase_loader_wildcard_switch
控制是否打开多级目录通配加载功能。
ON:表示开启多级目录通配功能,加载过程中对 SQL 中含有通配符的文件
路径通配展开,获得精确文件路径;
OFF:表示关闭多级目录通配功能,加载遵循现有规则,按 SQL 指定的路径
进行加载。
默认值 最小值 最大值
1(ON) 0(OFF) 1(ON)
3.59 gbase_export_truncate_mode
集群定长导出功能,,当用户指定数据每列字节长度小于表中数据长度,
且列类型为字符(char、varchar、text)时,导出模块的处理方式。
取值:
0: 截断,不报错也没有警告
1: 截断,并增加 warning
2: 报错
默认值 最小值 最大值 - 0 2
3.60 gbase_hdfs_auth_mode
枚举型变量,用于指定 HDFS 认证方式。
simple:使用基本认证
kerberos:使用 Kerberos 认证
与其它枚举型变量相同,参数值支持大写、小写及大小混合形式,支持由
GBase 8a MPP Cluster 配置手册 - 60 - 南大通用数据技术股份有限公司
首字母开始的一个或多个连续字母的缩写形式,比如以下方式为合法的参数值:
simple, Simple, SIMPLE, kerberos, Kerberos, KERBEROS,
s, sim, simp, k, ker, Kerb
默认值 最小值 最大值
simple 无 无
3.61 gbase_hdfs_ protocol
枚举型变量,用于指定 HDFS 传输协议。
http:HTTP 传输协议
https:HTTPS 传输协议
rpc:RPC 传输协议
与其它枚举型变量相同,参数值支持大写、小写及大小混合形式,比如以
下方式为合法的参数值:
http, Http, HTTP, https, Https, HTTPS,rpc,Rpc,RPC
当指定不同的 HDFS 传输协议时,应根据实际配置指定 HDFS 文件 URL 中的
端口号,与传输协议匹配。Hadoop 默认配置各协议端口如下:
HTTP 协议端口:50070
HTTPS 协议端口:50470
RPC 协议端口:9000
默认值 最小值 最大值
HTTP
无 无
需要额外配置以下参数: - 配置 HDFS 访问协议为 RPC 和正确的端口号,需要同时在 gcluster 和
gnode 的配置文件的[gbased]段中添加以下参数。
1) gbase_hdfs_protocol=RPC;
2) gbase_hdfs_port=8020,其中 8020 为实际的 HDFS的 RPC 端口号;
GBase 8a MPP Cluster 配置手册
南大通用数据技术股份有限公司 - 61 - - 如果 HDFS 环境支持 NameNode 高可用,还需要同时在 gcluster 和 gnode 的
配置文件的[gbased]段中添加以下参数。
1) gbase_hdfs_namenodes='hdfs_nn1:8020,hdfs_nn2:8020',其中 hdfs_nn1
和 hdfs_nn2 为实际的 HDFS 的两个 NameNode 节点的主机名; - 如果 HDFS 环境要求使用 Kerberos 认证,还需要同时在 gcluster 和 gnode
的配置文件的[gbased]段中添加以下参数。
1) gbase_hdfs_auth_mode=KERBEROS;
2) gbase_hdfs_principal='principal',其中‘principal’为有效的 Kerberos
主体名;
3) gbase_hdfs_keytab='keytab',其中‘keytab’为与 Kerberos 主体名相对
应的密钥文件名;
3.62 gbase_ hdfs_ _ keytab
字符串变量,用于指定 Kerberos 认证中安全主体 keytab 文件名。当不指
定这个参数值或指定参数值为空字符串时,将使用 gbase_hdfs_principal 推定
keytab 文件名,推定规则参见 gbase_hdfs_principal 说明。
参数值应为以双引号"或单引号'包围的字符串。例如以下方式为合法参数
值:
gbase_hdfs_keytab=’/opt/gnode/config/gbase.keytab’
gbase_hdfs_keytab=”/opt/gnode/config/gbase.keytab”
默认值 最小值 最大值
NULL 无 无
3.63 gbase_ hdfs_ _ principal
字符串变量,用于指定 Kerberos 认证中安全主体名称。这个参数也用于指
定与该 principal 对应的 keytab 文件名。
GBase 8a MPP Cluster 配置手册 - 62 - 南大通用数据技术股份有限公司
在 HDFS 集 群 环 境 中 合 格 的 principal 格 式 为
username/hostname@REALM.COM,principal 名称与 keytab 文件名对应的规则
为:取 principal 中的 username 和 hostname 两部分,中间使用"_"字符连接,
并追加".kt"后缀作为扩展名。
当 gbase_hdfs_principal="gbase/namenode@HADOOP.COM" 时 , 对 应 的
keytab 文件名为 gbase_namenode.kt。
参数值应为以双引号"或单引号’包围的字符串。例如以下方式为合法参数
值:
gbase_hdfs_principal=’gbase/namenode@HADOOP.COM’
gbase_hdfs_principal=”gbase/namenode@HADOOP.COM”
默认值 最小值 最大值
NULL 无 无
3.64 gbase_hdfs_namenodes
字符串变量,用于指定高可用 NameNode 列表。
通过此参数可指定一或多个 NameNode 的 host(即主机名或 IP 地址),两
个 host 之间用英文逗号分隔,每个 host 后可跟‚:port‛形式的端口号。如果
有多套 HDFS 环境,两套 HDFS 的高可用 NameNode 组之间使用'|'分隔。示例如
下:
gbase_hdfs_namenodes='192.168.1.1,192.168.1.2'
gbase_hdfs_namenodes="192.168.1.1:50170,192.168.1.2"
gbase_hdfs_namenodes='192.168.1.1:50170,192.168.1.2:50180'
gbase_hdfs_namenodes='192.168.1.1,192.168.1.2|192.168.2.1,192.16
8.2.2'
默认值 最小值 最大值
NULL 无 无
GBase 8a MPP Cluster 配置手册
南大通用数据技术股份有限公司 - 63 -
3.65 gbase_dblink_standb y_gateway_ip
备用 dblink 网关服务所在主机的 ip 地址。
3.66 gbase_dblink_standby_gateway_port
备用 dblink 网关服务监听的端口。
可部署两套相同配置的 dblink 网关服务,一主一备,同时都启动在线,当
gcluster 连接主网关失败时将尝试连接备用网关。
3.67 gbase_hdfs_port
该参数为整型变量,用于指定 HDFS 服务的连接端口。默认值为 0,表示使
用相应协议下的 Hadoop 默认端口,即:http 协议默认 50070 端口,https 协议
默认 50470 端口,rpc 协议默认 9000 端口。
默认值 最小值 最大值 - 0 65535
3.68 gbase_enable_hdfs_sso
该参数为布尔型变量,用于指定是否启用 HDFS 单点登录功能。默认值为 1
或 ON,表示启用 HDFS 单点登录。
默认值 最小值 最大值 - 0 0
3.69 gbase_hdfs_token_renew_interval
参数说明:该参数为整型变量,用于在 HDFS 单点登录功能中,指定后台自
GBase 8a MPP Cluster 配置手册 - 64 - 南大通用数据技术股份有限公司
动更新 HDFS 访问 token 的刷新时间间隔。参数单位:秒。
默认值 最小值 最大值 - 60 UINT_MAX
3.70 gbase_export_write_timeout
参数说明:用于指定导出 HDFS 文件的写入超时时间,如果写入一个数据块
(8M)的时间超过此参数值,加载任务将报错停止。0 表示永不超时。
参数单位:秒
默认值 最小值 最大值
300
0
INT_MAX - 2 - 南大通用数据技术股份有限公司
添加新评论0 条评论