集群服务守护进程

集群中有3个守护进程

1、gcmonit
主程序位置:/opt/gcluster/server/bin/gcmonit
守护进程:gcluster、gbase、gcrecover、gcmmonit、syncserver
配置文件:/opt/gcluster/config/gcmonit.conf
日志log_file:/opt/gcluster/log/gcluster/gcmonit.log

2、gcmmonit
主程序位置:/opt/gcluster/server/bin/gcmmonit
守护进程:gcmonit
配置文件:/opt/gcluster/config/gcmmonit.conf
日志log_file:/opt/gcluster/log/gcluster/gcmmonit.log
3、monit
主程序位置:/usr/bin/monit
守护进程:corosync
配置文件:/etc/monitrc/etc/monit.conf/etc/monit.d/gcware.conf
日志log_file: /var/log/monit.log

修改集群数据库gbase用户密码对集群功能是否有影响

在8.5.1.2_build11.4_r64_2版本上做了测试,将数据库gbase用户密码更改为gbase2011(默认gbase20110531)。

测试结论:
1、安装加组阶段需要指定dbpassword参数。加组会影响,加第一个组之前不能修改,加第二个组时需要指定dbpassword参数。
2、DDL、DML、查询、select into outfile没有影响。
3、加载dispcli需要指定-u、-p参数。

[gbase@redhat1 dispatch_server]$ ./dispcli  -ugbase -pgbase2011 lineorder.ctl -l/home/gbase/dispcli.log

修改集群服务器操作系统gbase用户密码对集群功能是否有影响

在8.5.1.2_build11.4_r64_2版本上做了测试,将操作系统gbase用户密码更改为gbase123(默认gbase)。

测试结论:

1、安装加组阶段需要重建gbase用户的互信。
加组会受影响,加第一个组时可以指定ospassword,加第二个组时即使指定ospassword也不行。需要修改gbase用户密码,改回gbase,再加组,或者重新建立gbase用户的互信之后,加组可以成功。
2、DDL、DML、查询、加载、select into outfile没有影响。
3、备份恢复需要指定密码。

shrink space磁盘回收功能说明

1、数据文件所占的磁盘空间回收以文件为单元,只有当这个数据文件涉及的数据都被删除后才能回收该文件占用的磁盘空间。
2、Global Hash需要改成分段存储后才能释放其被Delete掉后的磁盘空间;如果两个列上都建有hash列,但key_dc_size大小不一样,则需要删除这两个key_dc_size的最小公倍数的DC个数后,才能真正的释放掉索引数据空间。
全文索引与hash索引类似,全文索引也有一个库大小的概念。
如果两个列上分别有全文索引和hash索引,则也需要满足最小公倍数原则。
3、由于INSERT/LOADER需要使用尾块数据,因此尾块所在的文件不能删除,即最后两个文件不能删除(一个存了有效尾块,一个存了无效尾块)。

event_scheduler及集群定期清理表(DROP TEMPTABLE)的定时任务说明

在集群中,每个gcluster都存在一个user为event_scheduler的连接,如下:

Id        User        Host        db        Command        Time        State        Info 1        event_scheduler        localhost        NULL        Daemon        60428        Waiting for next activation        NULL

event_scheduler用户用于进行数据库执行计划的执行。
gbase集群的执行计划存储在gbase.event系统表中,查询该表可以看当前数据库定义的计划任务,默认如下:

gbase> select * from gbase.event \G
*************************** 1. row ***************************
                  db: gbase                                                           
                name: drop_temp_table                                                 
                body: DROP TEMPTABLE
             definer: root@localhost                                                               
          execute_at: NULL
      interval_value: 1
      interval_field: DAY
             created: 2015-01-30 10:07:34
            modified: 2015-01-30 10:07:34
       last_executed: 2015-03-23 02:07:34
              starts: 2015-01-30 02:07:34
                ends: NULL
              status: ENABLED
       on_completion: DROP
            sql_mode: ANSI_QUOTES,IGNORE_SPACE
             comment:                                                                 
          originator: 0
           time_zone: +08:00
character_set_client: utf8                            
collation_connection: utf8_general_ci                 
        db_collation: utf8_general_ci                 
           body_utf8: DROP TEMPTABLE
1 row in set (Elapsed: 00:00:00.00)