《GPDB学习笔记》GPCC安装笔记

部署GP集群

postgres=# select * from gp_segment_configuration order by 1;
 dbid | content | role | preferred_role | mode | status | port  | hostname | address |                  datadir
------+---------+------+----------------+------+--------+-------+----------+---------+-------------------------------------------
    1 |      -1 | p    | p              | n    | u      |  7890 | dhss206  | dhss206 | /home/gpcc/gpdata/master/default/gpseg-1
    2 |       0 | p    | p              | s    | u      | 30000 | dhss206  | dhss206 | /home/gpcc/gpdata1/primary/default/gpseg0
    3 |       1 | p    | p              | s    | u      | 30001 | dhss206  | dhss206 | /home/gpcc/gpdata1/primary/default/gpseg1
    4 |       2 | p    | p              | s    | u      | 30002 | dhss206  | dhss206 | /home/gpcc/gpdata2/primary/default/gpseg2
    5 |       3 | p    | p              | s    | u      | 30003 | dhss206  | dhss206 | /home/gpcc/gpdata2/primary/default/gpseg3
    6 |       4 | p    | p              | s    | u      | 30000 | dhss230  | dhss230 | /home/gpcc/gpdata1/primary/default/gpseg4
    7 |       5 | p    | p              | s    | u      | 30001 | dhss230  | dhss230 | /home/gpcc/gpdata1/primary/default/gpseg5
    8 |       6 | p    | p              | s    | u      | 30002 | dhss230  | dhss230 | /home/gpcc/gpdata2/primary/default/gpseg6
    9 |       7 | p    | p              | s    | u      | 30003 | dhss230  | dhss230 | /home/gpcc/gpdata2/primary/default/gpseg7
   10 |       0 | m    | m              | s    | u      | 31000 | dhss230  | dhss230 | /home/gpcc/gpdata1/mirror/default/gpseg0
   11 |       1 | m    | m              | s    | u      | 31001 | dhss230  | dhss230 | /home/gpcc/gpdata1/mirror/default/gpseg1
   12 |       2 | m    | m              | s    | u      | 31002 | dhss230  | dhss230 | /home/gpcc/gpdata2/mirror/default/gpseg2
   13 |       3 | m    | m              | s    | u      | 31003 | dhss230  | dhss230 | /home/gpcc/gpdata2/mirror/default/gpseg3
   14 |       4 | m    | m              | s    | u      | 31000 | dhss206  | dhss206 | /home/gpcc/gpdata1/mirror/default/gpseg4
   15 |       5 | m    | m              | s    | u      | 31001 | dhss206  | dhss206 | /home/gpcc/gpdata1/mirror/default/gpseg5
   16 |       6 | m    | m              | s    | u      | 31002 | dhss206  | dhss206 | /home/gpcc/gpdata2/mirror/default/gpseg6
   17 |       7 | m    | m              | s    | u      | 31003 | dhss206  | dhss206 | /home/gpcc/gpdata2/mirror/default/gpseg7
   18 |      -1 | m    | m              | s    | u      |  7890 | dhss230  | dhss230 | /home/gpcc/gpdata/master/default/gpseg-1
(18 rows)

安装gpperfmon

gpperfmon_install工具的功能大致是:

  • 创建greenplum监控用数据库(gpperfmon)
  • 创建greenplum监控用数据库角色(gpmon)
  • 配置greenplum数据库接受来自perfmon监控的链接文件(pg_hba.conf和.pgpass)
  • 设置postgresql.conf文件,增加启用监控的参数(这些参数默认会添加在文件的末尾)

1、执行如下命令进行安装gpperfmon:

[gpcc@dhss206 ~]$ gpperfmon_install --enable --password os10+ZTE --port 7890
20200320:19:04:54:032041 gpperfmon_install:dhss206:gpcc-[INFO]:-createdb gpperfmon >& /dev/null
20200320:19:05:08:032041 gpperfmon_install:dhss206:gpcc-[INFO]:-PGPORT=7890 psql -f /home/gpcc/greenplum-db/./lib/gpperfmon/gpperfmon.sql gpperfmon >& /dev/null
20200320:19:05:19:032041 gpperfmon_install:dhss206:gpcc-[INFO]:-PGPORT=7890 psql template1 -c "DROP ROLE IF EXISTS gpmon"  >& /dev/null
20200320:19:05:19:032041 gpperfmon_install:dhss206:gpcc-[INFO]:-PGPORT=7890 psql template1 -c "CREATE ROLE gpmon WITH SUPERUSER CREATEDB LOGIN ENCRYPTED PASSWORD '********'"  >& /dev/null
20200320:19:05:19:032041 gpperfmon_install:dhss206:gpcc-[INFO]:-echo "local    gpperfmon         gpmon         md5" >> /home/gpcc/gpdata/master/default/gpseg-1/pg_hba.conf
20200320:19:05:19:032041 gpperfmon_install:dhss206:gpcc-[INFO]:-echo "host     all         gpmon         127.0.0.1/28    md5" >> /home/gpcc/gpdata/master/default/gpseg-1/pg_hba.conf
20200320:19:05:19:032041 gpperfmon_install:dhss206:gpcc-[INFO]:-echo "host     all         gpmon         ::1/128    md5" >> /home/gpcc/gpdata/master/default/gpseg-1/pg_hba.conf
20200320:19:05:19:032041 gpperfmon_install:dhss206:gpcc-[INFO]:-touch /home/gpcc/.pgpass >& /dev/null
20200320:19:05:19:032041 gpperfmon_install:dhss206:gpcc-[INFO]:-mv -f /home/gpcc/.pgpass /home/gpcc/.pgpass.1584702294 >& /dev/null
20200320:19:05:19:032041 gpperfmon_install:dhss206:gpcc-[INFO]:-echo "*:7890:gpperfmon:gpmon:******** >> /home/gpcc/.pgpass
20200320:19:05:19:032041 gpperfmon_install:dhss206:gpcc-[INFO]:-cat /home/gpcc/.pgpass.1584702294 >> /home/gpcc/.pgpass
20200320:19:05:19:032041 gpperfmon_install:dhss206:gpcc-[INFO]:-chmod 0600 /home/gpcc/.pgpass >& /dev/null
20200320:19:05:19:032041 gpperfmon_install:dhss206:gpcc-[INFO]:-PGPORT=7890 gpconfig -c gp_enable_gpperfmon -v on >& /dev/null
20200320:19:05:20:032041 gpperfmon_install:dhss206:gpcc-[INFO]:-PGPORT=7890 gpconfig -c gpperfmon_port -v 8888 >& /dev/null
20200320:19:05:21:032041 gpperfmon_install:dhss206:gpcc-[INFO]:-PGPORT=7890 gpconfig -c gp_external_enable_exec -v on --masteronly >& /dev/null
20200320:19:05:22:032041 gpperfmon_install:dhss206:gpcc-[INFO]:-PGPORT=7890 gpconfig -c gpperfmon_log_alert_level -v warning >& /dev/null
20200320:19:05:23:032041 gpperfmon_install:dhss206:gpcc-[INFO]:-gpperfmon will be enabled after a full restart of GPDB

注:可以看到命令执行后,会创建gpmon角色,以及设置了密码,这个用户可以登录到数据库里面,也可用于登录页面。如果在执行命令失败,可以查看$MASTER_DATA_DIRECTORY/pg_log对应目录下相关的执行日志来查看具体失败原因。

2、重启集群

[gpcc@dhss206 ~]$ gpstop -aM fast

[gpcc@dhss206 ~]$ gpstart -a

3、查看gpmon进程是否启用

[gpcc@dhss206 ~]$ ps -ef | grep gpmmon| grep -v grep
gpcc      3307  3282  0 19:08 ?        00:00:00 /home/gpcc/greenplum-db-6.1.0/bin/gpmmon -D /home/gpcc/gpdata/master/default/gpseg-1/gpperfmon/conf/gpperfmon.conf -p 7890
[gpcc@dhss206 ~]$ ps -ef | grep gpsmon| grep -v grep
gpcc      3433     1  0 19:08 ?        00:00:00 /home/gpcc/greenplum-db/./bin/gpsmon -m 0 -t 150 -l /home/gpcc/gpdata2/primary/default/gpseg3/gpperfmon -v 0 8888

注:gpmon进程在gp集群的master节点运行,从master节点收集相关的查询信息。同时,默认每间隔15s会收集gpsmon进程相关信息,并保存相关的监控数据和日志成csv文件,gp通过外部表的形式引用该配置文件,方便查询。gpsmon进程则会在每个segment的服务器节点上运行,它通过收集系统相关相关数据,gpsmon进程会间隔15s通过udp端口从该进程获取监控数据,汇总到master节点,生成csv格式的日志文件。

4、配置standby master

当主备切换的时候为了保证gpmmon生效,需要同步白名单和密码文件到standby节点服务器。

[gpcc@dhss206 ~]$ cat $MASTER_DATA_DIRECTORY/pg_hba.conf | grep gpmon
local    gpperfmon         gpmon         md5
host     all         gpmon         127.0.0.1/28    md5
host     all         gpmon         ::1/128    md5
[gpcc@dhss206 ~]$ cat .pgpass
*:7890:gpperfmon:gpmon:os10+ZTE

同步pg_hba.conf和.pgpass两个配置文件到standby master节点

[gpcc@dhss206 ~]$ gpscp -h dhss230 $MASTER_DATA_DIRECTORY/pg_hba.conf =:$MASTER_DATA_DIRECTORY/pg_hba.conf

[gpcc@dhss206 ~]$ gpscp -h dhss230 ~/.pgpass =:~/.pgpass

安装成功后,gpperfmon日志默认存储的目录为

$MASTER_DATA_DIRECTORY/gpperfmon/logs

master节点日志为gpmmon.2020.03.20_110821.log,segment节点日志为gpsmon.2020.03.20_110832.log。可以通过修改配置文件$MASTER_DATA_DIRECTORY/gpperfmon/conf/gpperfmon.conf的log_location配置项log_location

[gpcc@dhss206 ~]$ cat $MASTER_DATA_DIRECTORY/gpperfmon/conf/gpperfmon.conf
log_location = /home/gpcc/gpdata/master/default/gpseg-1/gpperfmon/logs

安装GPCC

GPCC包上传到master节点上,进行解压安装,执行gpccinstall-6.0.0安装命令,会将greenplum-cc-web安装到集群的所有服务器中。安装成功GPCC会产生一个webserver进程,可以通过浏览器进行管理和访问gpcc集群,同时每台服务器还会有一个ccagent进程,该进程用于收集每台服务器实时监控指标,落地到gp数据库中:

[gpcc@dhss206 ~]$ ll
total 46604
drwxrwxr-x  2 gpcc gpcc     4096 Mar 20 19:07 gpAdminLogs
drwxrwxr-x  2 gpcc gpcc      100 Mar 20 19:00 gpconfigs
drwxr-xr-x  3 gpcc gpcc       20 Mar 20 18:58 gpdata
drwxr-xr-x  4 gpcc gpcc       35 Mar 20 18:58 gpdata1
drwxr-xr-x  4 gpcc gpcc       35 Mar 20 18:58 gpdata2
-rw-r--r--  1 gpcc gpcc 47715631 Mar 20 19:42 greenplum-cc-web-6.0.0-rhel7_x86_64.zip
lrwxrwxrwx  1 gpcc gpcc       18 Mar 20 18:58 greenplum-db -> greenplum-db-6.1.0
drwxr-xr-x 11 gpcc gpcc      187 Mar 20 18:58 greenplum-db-6.1.0
drwxrwxr-x  2 gpcc gpcc        6 Mar 20 18:58 perl5

[gpcc@dhss206 ~]$ unzip greenplum-cc-web-6.0.0-rhel7_x86_64.zip

[gpcc@dhss206 ~]$ cd greenplum-cc-web-6.0.0-rhel7_x86_64/

[gpcc@dhss206 greenplum-cc-web-6.0.0-rhel7_x86_64]$ ./gpccinstall-6.0.0

Do you agree to the Pivotal Greenplum Command Center End User License Agreement? Yy/Nn (Default=Y)
y

Where would you like to install Greenplum Command Center? (Default=/usr/local)
/home/gpcc

What would you like to name this installation of Greenplum Command Center? (Default=gpcc)

What port would you like gpcc webserver to use? (Default=28080)

Would you like enable SSL? Yy/Nn (Default=N)

Please choose a display language (Default=English)
1.  English
2.  Chinese
3.  Korean
4.  Russian
5.  Japanese

在所有的节点中创建软链接,执行如下命令:

[gpcc@dhss206 ~]$ gpssh -f gpconfigs/all_hosts -e "ln -s greenplum-cc-web-6.0.0 greenplum-cc-web"
[dhss230] ln -s greenplum-cc-web-6.0.0 greenplum-cc-web
[dhss206] ln -s greenplum-cc-web-6.0.0 greenplum-cc-web

添加环境变量

[gpcc@dhss206 ~]$ gpssh -f gpconfigs/all_hosts -e "echo 'source /home/gpcc/greenplum-cc-web/gpcc_path.sh' >> .bashrc"
[dhss206] echo 'source /home/gpcc/greenplum-cc-web/gpcc_path.sh' >> .bashrc
[dhss230] echo 'source /home/gpcc/greenplum-cc-web/gpcc_path.sh' >> .bashrc

设置访问白名单,编辑pg_hba.conf配置文件,配置内容如下,前三项在安装gpcc的时候会默认生成,最后两项需要手动添加:

#gpperfmon
local    gpperfmon         gpmon         md5
host     all         gpmon         127.0.0.1/28    md5
host     all         gpmon         ::1/128    md5
#master
host     all         gpmon         10.47.160.206/32 md5
#standby master
host     all         gpmon         10.47.160.230/32 md5

如果不添加最后两行,在执行gpcc start命令的时候会出现如下异常: 2020/03/20 14:56:53 pq: no
pg_hba.conf entry for host “10.47.160.206”, user “gpmon”, database
“gpperfmon”, SSL off

将白名单文件同步到到standby master节点

[gpcc@dhss206 ~]$ gpscp -h dhss230 $MASTER_DATA_DIRECTORY/pg_hba.conf =:$MASTER_DATA_DIRECTORY/pg_hba.conf

重启集群:

[gpcc@dhss206 ~]$ gpstop -aM fast

[gpcc@dhss206 ~]$ gpstart -a

启动gpcc

[gpcc@dhss206 ~]$ gpcc start
2020-03-20 20:04:27 Starting the gpcc agents and webserver...
2020-03-20 20:04:31 Agent successfully started on 2/2 hosts
2020-03-20 20:04:31 View Greenplum Command Center at http://dhss206:28080

通过访问http://10.47.160.206:28080即可登入GPCC,查看相关的监控数据了,默认的登入用户名:gpmon,密码:os10+ZTE

查看gpcc配置

[gpcc@dhss206 ~]$ gpcc --settings
Install path:   /home/gpcc
Display Name:   gpcc
GPCC port:      28080
Kerberos:       disabled
SSL:            disabled

gpcc相关配置文件在/home/gpcc/greenplum-cc-web/conf/app.conf,修改配置文件app.conf同步到所有节点

[gpcc@dhss206 ~]$ cat /home/gpcc/greenplum-cc-web/conf/app.conf
appname         = gpccws
listentcp4      = true
runmode         = prod
session         = true
enablexsrf      = true
xsrfexpire      = 2592000
xsrfkey         = 61oETzKXQAGaYdkL5gEmGeJJFuYh7EQnp2XdTP1o
rendertype      = json
printallsqls    = false
master_port     = 7890
path            = /home/gpcc
display_name    = gpcc
enable_kerberos = false
EnableHTTPS     = false
EnableHTTP      = true
httpport        = 28080
rpc_port        = 8899
language        = English
log_level       = INFO
master_host     = dhss206

GPCC指令说明

Usage:
  gpcc [OPTIONS] <command>

Application Options:
  -v, --version   Show Greenplum Command Center version
      --settings  Print the current configuration settings

Help Options:
  -h, --help      Show this help message

Available commands:
  help        Print list of commands
  krbdisable  Disables kerberos authentication
  krbenable   Enables kerberos authentication
  start       Starts Greenplum Command Center webserver and metrics collection agents
              with [-W] option to force password prompt for GPDB user gpmon [optional]
  status      Print agent status
              with [-W] option to force password prompt for GPDB user gpmon [optional]
  stop        Stops Greenplum Command Center webserver and metrics collection agents
              with [-W] option to force password prompt for GPDB user gpmon [optional]
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值