返回首页

gbase数据、南大通用产品文档:GBase8aGCWare 基本配置

更新日期:2024年09月11日

配置文件
在$GCWARE_BASE/config/gcware.conf 配置文件中,
可以查看和修改GCWare 的基
本配置。
配置文件格式说明
totem {
version: 2
secauth: off
interface {
member {
memberaddr: 192.168.146.20
}
member {
memberaddr: 192.168.146.21
}
ringnumber: 0
bindnetaddr: 192.168.146.20
ttl: 1
}
transport: udpu
leader_heartbeat:200
election_timeout:2000
server_port:5918
client_port:5919
max_message_size:1048576
max_redolog_size:512
data_dir:/opt/192.168.146.20/gcware/data/gcware
log_dir:/opt/192.168.146.20/gcware/data/gcware
}
logging {
fileline: off
to_stderr: no
to_file: yes
to_syslog: no
logfile: /opt/192.168.146.20/gcware/log/gcware.log
gcware_system_log: /opt/192.168.146.20/gcware/log/gcware_system.log
debug: off

GBase 8a MPP Cluster 产品手册
4 管理员指南
文档版本953(2022-09-15)
南大通用数据技术股份有限公司
142
timestamp: on
logger {
ident: AMF
debug: off
tags: enter|leave|trace1|trace2|trace3|trace4|trace6
}
}
gcware {
persistent_interval: 5
check_interval: 30
whole_check_interval_num: 20
cfg_connect_timeout: 5000
gcluster_port: 5258
gnode_port: 5050
syncserver_port: 5288
node_ssh_port: 10022
check_coordinator_thread_num: 1
check_dataserver_thread_num: 10
enable_node_regist: 1
enable_check_param: 0
coordinator {
member {
memberaddr: 192.168.146.20
}
member {
memberaddr: 192.168.146.21
}
}
}
表4- 4 参数说明
参数名称


【totem】
分布式基础通信协议totem 协议的相关配置信息,是gcware 集群内部
的相关配置
interface
配置需要监测心跳的一组IP,memberaddr 是要监测的IP,此处为
gcware 集群各节点IP。
interface 可以配置多个,不同interface 之间由ringnumber 标识,区分
不同的心跳。
leader_heartbeat
election_timeout
leader_heartbeat
是gcware 集群的选举心跳,默认200ms ;
election_timeout 是选举心跳的超时时间,默认2000ms。
gcware 集群主节点每隔200ms 告知集群中其他节点主节点正常,
gcware 集群中节点经过election_timeout(2000ms)时间未收到主节点
的心跳,就会发起新的选举,选举出新的gcware 主节点。

GBase 8a MPP Cluster 产品手册
4 管理员指南
文档版本953(2022-09-15)
南大通用数据技术股份有限公司
143
参数名称


server_port
client_port
gcware 服务端端口,默认5918
gcware 客户端端口,默认5919
端口可以更改,如果更改需要将所有gcware 节点都更改。
【logging】
gcware 日志相关信息
【gcware】
gcware 检测8a 集群(包括gcluster 集群和gnode 集群)各节点状态和
数据一致性的相关配置信息
persistent_interval
gcware 集群内部一致性检查,默认5s
whole_check_interval_nu
m
check_interval
每隔check_interval *Whole_check_interval_num (30s*20 次即600s)
检测一次所有节点的各服务端口是否通来判断各节点各服务的状态
每隔check_interval
(30s)
检测一次异常节点和异常服务是否恢复正常
cfg_connect_timeout
集群各节点检测超时时间,超时后置节点状态为offline
gcluster_port
gnode_port
syncserver_port
node_ssh_port
gcware 检测的各节点各项服务是否正常使用的相应端口,如果集群服
务的端口有变化,这里需要修改成集群服务的实际使用端口
check_coordinator_thread
_num
check_dataserver_thread_
num
check_coordinator_thread_num 是gcware 检测集群的gcluster 节点时的
并发线程数,默认为1
check_dataserver_thread_num 是gcware 检测集群的gnode 节点时并发
的线程数,默认为10
enable_node_regist
gcware 通过注册方式跟踪gnode 机制控制参数,默认为0,不开启。
如果开启该参数,
需要同时开启各gnode 节点和gcluster 节点配置文件
中的对应enable_node_regist 参数。详细信息可参考4.2.3.8 Gcware 通
过注册方式监控gnode 状态相关配置
enable_check_param
gcware 通过注册方式跟踪gnode 机制开启后,gnode 服务启动时检查
各gnode 节点上enable_check_param 指定的参数是否一致,如果不一
致gnode 服务无法正常启动。
enable_check_param 当前支持的值为:
‘gbase_segment_size%gbse_compression_str_method%gbase_compressio
n_num_method’
gcware 的enable_node_regist 参数开启后enable_check_param 参数才有

示例
GCWare 的配置文件$GCWARE_BASE/config/gcware.conf 内容参考如下:
$ cat $GCWARE_BASE/config/gcware.conf
totem {
version: 2
secauth: off
interface {
member {
memberaddr: 192.168.146.20
}

GBase 8a MPP Cluster 产品手册
4 管理员指南
文档版本953(2022-09-15)
南大通用数据技术股份有限公司
144
member {
memberaddr: 192.168.146.21
}
ringnumber: 0
bindnetaddr: 192.168.146.20
ttl: 1
}
transport: udpu
leader_heartbeat:200
election_timeout:2000
server_port:5918
client_port:5919
max_message_size:1048576
max_redolog_size:512
data_dir:/opt/192.168.146.20/gcware/data/gcware
log_dir:/opt/192.168.146.20/gcware/data/gcware
}
logging {
fileline: off
to_stderr: no
to_file: yes
to_syslog: no
logfile: /opt/192.168.146.20/gcware/log/gcware.log
gcware_system_log: /opt/192.168.146.20/gcware/log/gcware_system.log
debug: off
timestamp: on
logger {
ident: AMF
debug: off
tags: enter|leave|trace1|trace2|trace3|trace4|trace6
}
}
gcware {
persistent_interval: 5
check_interval: 30
whole_check_interval_num: 20
cfg_connect_timeout: 5000
gcluster_port: 5258
gnode_port: 5050
syncserver_port: 5288
node_ssh_port: 10022
check_coordinator_thread_num: 1
check_dataserver_thread_num: 10

GBase 8a MPP Cluster 产品手册
4 管理员指南
文档版本953(2022-09-15)
南大通用数据技术股份有限公司
145
enable_node_regist: 1
enable_check_param: 0
coordinator {
member {
memberaddr: 192.168.146.20
}
member {
memberaddr: 192.168.146.21
}
}
}

参数说明:主机和备机、备机和级联备之间配置文件的同步策略。
该参数属于POSTMASTER 类型参数,请参考表15-1 中对应设置方法进行设置。
取值范围:枚举类型

all_node: 主机配置为all_node 时,表示允许主机向所有备机主动同步配置文件;
备机配置为all_node 时,
表示允许当前备机向其主机发送同步请求,
允许当前备机
向其所有级联备主动同步配置文件;
级联备配置为all_node 时,
表示允许当前级联

GBase 8c V5 开发者手册
南大通用数据技术股份有限公司
1228
备向上一级备机发送同步请求。

only_sync_node: 主机配置为only_sync_node 时,表示仅允许主机向所有同步备机
主动同步配置文件;
备机配置为only_sync_node 时,
表示允许当前备机向其主机发
送同步请求,
不允许当前备机向其所有级联备机主动同步配置文件;
级联备配置为
only_sync_node 时,表示允许当前级联备向其备机发送同步请求。

none_node: 主机配置为none_node 时,
表示不允许主机向任何备机主动同步配置文
件;备机配置为none_node 时,表示不允许当前备机向其主机发送同步请求,不允
许当前备机向其所有级联备主动同步配置文件;
级联备配置为none_node 时,
表示
不允许当前级联备向其备机发送同步请求。
默认值:all_node
须知:

在一个包含了主机、
备机和级联备的GBase 8c 集群中,主机相对于备机是发送端,
备机相对于主机是接收端,
备机相对于级联备是发送端,
级联备相对于备机是接收
端。

发送端主动向接收端同步配置文件、
接收端请求发送端同步配置文件是两个独立的
事件,均会使得配置文件同步。
若不希望配置文件同步,则需要将集群中所有节点
的sync_config_strategy 参数配置为none_node;若仅希望主机与同步备机同步配置
文件,
则需要将主机的sync_config_strategy 参数配置为only_sync_node,
其余节点
配置为none_node;若希望所有节点同步配置文件,则需要将所有节点的
sync_config_strategy 参数配置为all_node。目前暂不支持自定义指定任意节点间的
同步策略。

配置参数同步的具体表现为,
发送端发送配置文件,
对接收端配置文件中的对应参
数直接覆盖。若设置了配置文件需要同步的策略,
则修改接收端配置参数后,
发送
端会立刻覆盖接收端的配置参数,使得接收端修改不生效。

即使设置了配置文件需要同步的策略,仍有部分配置参数不会被同步。它们是:

GBase 8c V5 开发者手册
南大通用数据技术股份有限公司
1229
“application_name” 、
“archive_command” 、
“audit_directory” 、
“available_zone” 、
“comm_control_port”、“comm_sctp_port”、“listen_addresses”、“log_directory”、“port”、
“replconninfo1”、“replconninfo2”、“replconninfo3”、“replconninfo4”、“replconninfo5”、
“replconninfo6”、“replconninfo7”、“replconninfo8”、“ssl”、“ssl_ca_file”、“ssl_cert_file”、
“ssl_ciphers” 、
“ssl_crl_file” 、
“ssl_key_file” 、
“ssl_renegotiation_limit” 、
“ssl_cert_notify_time” 、
“synchronous_standby_names” 、
“local_bind_address” 、
“perf_directory”、“query_log_directory”、“asp_log_directory”、“streaming_router_port”、
“enable_upsert_to_merge” 、
“archive_dest” 、
“recovery_min_apply_delay” 、
“sync_config_strategy”。

使用 DROP TABLE 语句可删除表,以及与之关联的索引和数据。该语句是 SQL
ANSI/ISO 标准的扩展。
语法

元素
描述
限制
语法
owner
表所有者的名称
必须拥有表
所有者名

synonym 要删除的表的本地
同义词
该同义词和表必须存在,
USETABLENAME 必须设置为 1
标识符
table
要删除的表的名称 必须在本地数据库的 systables
系统目录表中注册
标识符
用法
您必须是表的所有者或拥有 DBA 特权才能使用 DROP TABLE 语句。
如果您包含可选的 IF EXISTS 关键字,则如果未在当前数据库中注册指定名称的
表,则数据库服务器不执行任何操作(而不是向应用程序发送异常)。
您无法删除系统目录表。
如果发出 DROP TABLE 语句,则 DB-Access 不会提示您验证是否想要删除整个
表。
DROP TABLE 语句的效果
使用 DROP TABLE 语句要谨慎。当您删除一个表时,也会删除存储在其中的数
据、索引或对列的约束(包括对该表的列的所有参考约束)、分配给该表的任何

GBase 8s SQL 指南:语法
南大通用数据技术股份有限公司 588
本地同义词、在该表上创建的任何触发器以及给予该表的任何授权。同时您也删
除了基于该表的所有视图以及与该表相关联的任何违例和诊断表。
DROP TABLE 不会删除在外部数据库中创建的表的任何同义词。要删除以删除的
表的外部的同义词,必须使用 DROP SYNONYM 语句显式地执行此操作。
您可以通过设置 USETABLENAME 环境变量来防止用户在 DROP TABLE 语句
中指定同义词。如果设置了 USETABLENAME ,当前任何用户试图指定 DROP
TABLE synonym 时将导致错误。
指定 CASCADE 方式
DROP TABLE 中的 CASCADE 关键字会删除相关的数据库对象,包括构建在表
上的参考约束、定义在表上的视图以及与表相关联的任何违例和诊断表。
如果表在继承层次结构中是超级表,则 CASCADE 删除所有的子表和超级表。
CASCADE 方式是 DROP TABLE 语句的缺省方式。您也可以使用 CASCADE
关键字显式地指定此方式。
指定 RESTRICT 方式
RESTRICT 关键字可以控制对以下对象的删除操作:超级表、在该表上定义的视
图、含有与表相关联的违例和诊断表。如果任何以下条件为真,则使用
RESTRICT 选项会引起删除操作失败并返回一条出错消息:

现有的参考约束引用 table 。

现有的视图定义在 table 上。

任何违例表或诊断表与 table 相关联。

table 在继承层次结构中是超级表。
删除包含不透明数据类型的表
当删除一些不透明数据类型时,它们需要特别的处理过程。例如,如果某个不透
明类型包含空间或多重表示数据,那么它可能提供如何存储数据的选项:存储于
内部结构中或者(对于大对象)智能大对象中。
数据库服务器通过调用称为 destroy( ) 的用户定义的支持函数删除不透明类型。
对行包含不透明类型的表执行 DROP TABLE 语句时,数据库服务器自动调用该

GBase 8s SQL 指南:语法
南大通用数据技术股份有限公司 589
类型的 destroy( ) 函数。在删除表之前,destroy( ) 函数可以对不透明数据类型的
列执行某些确定的函数。有关 destroy( ) 支持函数的更多信息,请参阅 GBase 8s
用户定义的例程和数据类型开发者指南 。
无法删除的表
可以删除的表的类型是有限制的。

不能删除任何系统目录表。

无法删除不在当前数据库中的表。

不能删除违例表或诊断表。
在删除表之前,您必须先对违例表和诊断表所关联的基本表发出 STOP
VIOLATIONS TABLE 语句。
以下示例删除了当前数据库中的两个表。它们都被当前用户 joed 拥有。且与违
例表和诊断表都没有关联,表上也没有定义引用约束或视图。
DROP TABLE customer;
DROP TABLE stores_demo@accntg:joed.state;