本文档解析Greenplum每一个postgresql实例的目录下面的postmaster.opts和postmaster.pid文件内容,其内容和PostgreSQL略有差别。
比如我们看一下Master节点是实例内容:
[root@cdha ~]# cd /data/master/gpseg-1/
[root@cdha gpseg-1]# ll
total 136
drwx------ 8 gpadmin gpadmin 4096 Jun 26 16:44 base
drwx------ 2 gpadmin gpadmin 4096 Jun 28 21:29 global
-rw-r--r-- 1 gpadmin gpadmin 6 Jun 25 22:48 gpcrondump.pid
-r-------- 1 gpadmin gpadmin 109 Jun 25 21:36 gp_dbid
drwxrwxr-x 5 gpadmin gpadmin 4096 Jun 25 21:36 gpperfmon
-rw-rw-r-- 1 gpadmin gpadmin 462 Jun 25 21:36 gpssh.conf
drwx------ 2 gpadmin gpadmin 4096 Jun 25 21:35 pg_changetracking
drwx------ 2 gpadmin gpadmin 4096 Jun 25 21:35 pg_clog
drwx------ 2 gpadmin gpadmin 4096 Jun 25 21:35 pg_distributedlog
drwx------ 2 gpadmin gpadmin 4096 Jun 25 21:35 pg_distributedxidmap
-rw-rw-r-- 1 gpadmin gpadmin 4256 Jun 26 16:44 pg_hba.conf
-rw------- 1 gpadmin gpadmin 1636 Jun 25 21:35 pg_ident.conf
drwx------ 2 gpadmin gpadmin 4096 Jun 28 21:28 pg_log
drwx------ 4 gpadmin gpadmin 4096 Jun 25 21:35 pg_multixact
drwx------ 2 gpadmin gpadmin 4096 Jun 28 21:47 pg_stat_tmp
drwx------ 2 gpadmin gpadmin 4096 Jun 25 21:35 pg_subtrans
drwx------ 2 gpadmin gpadmin 4096 Jun 25 21:35 pg_tblspc
drwx------ 2 gpadmin gpadmin 4096 Jun 25 21:35 pg_twophase
drwx------ 2 gpadmin gpadmin 4096 Jun 28 21:28 pg_utilitymodedtmredo
-rw------- 1 gpadmin gpadmin 4 Jun 25 21:35 PG_VERSION
drwx------ 3 gpadmin gpadmin 4096 Jun 28 22:42 pg_xlog
-rw------- 1 gpadmin gpadmin 19588 Jun 26 23:43 postgresql.conf
-rw------- 1 gpadmin gpadmin 19561 Jun 26 23:43 postgresql.conf.bak
-rw------- 1 gpadmin gpadmin 167 Jun 28 21:27 postmaster.opts
-rw------- 1 gpadmin gpadmin 46 Jun 28 21:27 postmaster.pid
[root@cdha gpseg-1]#
1. 首先来看一下postmaster.pid文件内容,
[root@cdha gpseg-1]# cat postmaster.pid
2175
/data/master/gpseg-1
5432001 32768
描述:
第一行: 2175 表示Master的主进程的PID。
[root@cdha gpseg-1]# ps -ef | grep 2175
gpadmin 2175 1 0 21:27 ? 00:00:00 /usr/local/greenplum-db-4.3.8.2/bin/postgres -D /data/master/gpseg-1 -p 5432 -b 1 -z 8 --silent-mode=true -i -M master -C -1 -x 0 –E
第二行:/data/master/gpseg-1 表示Master节点的数据目录
最后一行:5432001 32768
我们先通过ipcs命令来查看共享内存的地址信息:
[root@cdha gpseg-1]# ipcs
------ Shared Memory Segments --------
key shmid owner perms bytes nattch status
0x0052e2c1 32768 gpadmin 600 222015232 7
------ Semaphore Arrays --------
key semid owner perms nsems
0x00000000 0 root 600 1
0x00000000 65537 root 600 1
0x0052e2c1 655362 gpadmin 600 17
0x0052e2c2 688131 gpadmin 600 17
0x0052e2c3 720900 gpadmin 600 17
0x0052e2c4 753669 gpadmin 600 17
0x0052e2c5 786438 gpadmin 600 17
0x0052e2c6 819207 gpadmin 600 17
0x0052e2c7 851976 gpadmin 600 17
0x0052e2c8 884745 gpadmin 600 17
0x0052e2c9 917514 gpadmin 600 17
0x0052e2ca 950283 gpadmin 600 17
0x0052e2cb 983052 gpadmin 600 17
0x0052e2cc 1015821 gpadmin 600 17
0x0052e2cd 1048590 gpadmin 600 17
0x0052e2ce 1081359 gpadmin 600 17
0x0052e2cf 1114128 gpadmin 600 17
0x0052e2d0 1146897 gpadmin 600 17
0x0052e2d1 1179666 gpadmin 600 17
------ Message Queues --------
key msqid owner perms used-bytes messages
我们将shared memory segments中的key转换为10进制,如下:
0x0052e2c1十六进制转换为十进制为5432001,正好等于第一个数字,即为共享内存的key。
第二个数字为shmid的值,即为共享内存的id。
2. 最后再来看postmaster.opts文件内容
[root@cdha gpseg-1]# cat postmaster.opts
/usr/local/greenplum-db-4.3.8.2/bin/postgres "-D" "/data/master/gpseg-1" "-p" "5432" "-b" "1" "-z" "8" "--silent-mode=true" "-i" "-M" "master" "-C" "-1" "-x" "0" "-E"
可以看出来,这个是启动master节点的命令。
我们再看一个primary节点的内容:
[root@cdhb gpseg1]# cat postmaster.opts
/usr/local/greenplum-db-4.3.8.2/bin/postgres "-D" "/data1/primary/gpseg1" "-p" "40001" "-b" "3" "-z" "8" "--silent-mode=true" "-i" "-M" "quiescent" "-C" "1"
可以看到Greenplum的master,primary和mirror的启动命令略有差别。
[root@cdhb gpseg4]# cat postmaster.opts
/usr/local/greenplum-db-4.3.8.2/bin/postgres "-D" "/data1/mirror/gpseg4" "-p" "50000" "-b" "14" "-z" "8" "--silent-mode=true" "-i" "-M" "quiescent" "-C" "4"
比如我们看一下Master节点是实例内容:
[root@cdha ~]# cd /data/master/gpseg-1/
[root@cdha gpseg-1]# ll
total 136
drwx------ 8 gpadmin gpadmin 4096 Jun 26 16:44 base
drwx------ 2 gpadmin gpadmin 4096 Jun 28 21:29 global
-rw-r--r-- 1 gpadmin gpadmin 6 Jun 25 22:48 gpcrondump.pid
-r-------- 1 gpadmin gpadmin 109 Jun 25 21:36 gp_dbid
drwxrwxr-x 5 gpadmin gpadmin 4096 Jun 25 21:36 gpperfmon
-rw-rw-r-- 1 gpadmin gpadmin 462 Jun 25 21:36 gpssh.conf
drwx------ 2 gpadmin gpadmin 4096 Jun 25 21:35 pg_changetracking
drwx------ 2 gpadmin gpadmin 4096 Jun 25 21:35 pg_clog
drwx------ 2 gpadmin gpadmin 4096 Jun 25 21:35 pg_distributedlog
drwx------ 2 gpadmin gpadmin 4096 Jun 25 21:35 pg_distributedxidmap
-rw-rw-r-- 1 gpadmin gpadmin 4256 Jun 26 16:44 pg_hba.conf
-rw------- 1 gpadmin gpadmin 1636 Jun 25 21:35 pg_ident.conf
drwx------ 2 gpadmin gpadmin 4096 Jun 28 21:28 pg_log
drwx------ 4 gpadmin gpadmin 4096 Jun 25 21:35 pg_multixact
drwx------ 2 gpadmin gpadmin 4096 Jun 28 21:47 pg_stat_tmp
drwx------ 2 gpadmin gpadmin 4096 Jun 25 21:35 pg_subtrans
drwx------ 2 gpadmin gpadmin 4096 Jun 25 21:35 pg_tblspc
drwx------ 2 gpadmin gpadmin 4096 Jun 25 21:35 pg_twophase
drwx------ 2 gpadmin gpadmin 4096 Jun 28 21:28 pg_utilitymodedtmredo
-rw------- 1 gpadmin gpadmin 4 Jun 25 21:35 PG_VERSION
drwx------ 3 gpadmin gpadmin 4096 Jun 28 22:42 pg_xlog
-rw------- 1 gpadmin gpadmin 19588 Jun 26 23:43 postgresql.conf
-rw------- 1 gpadmin gpadmin 19561 Jun 26 23:43 postgresql.conf.bak
-rw------- 1 gpadmin gpadmin 167 Jun 28 21:27 postmaster.opts
-rw------- 1 gpadmin gpadmin 46 Jun 28 21:27 postmaster.pid
[root@cdha gpseg-1]#
1. 首先来看一下postmaster.pid文件内容,
[root@cdha gpseg-1]# cat postmaster.pid
2175
/data/master/gpseg-1
5432001 32768
描述:
第一行: 2175 表示Master的主进程的PID。
[root@cdha gpseg-1]# ps -ef | grep 2175
gpadmin 2175 1 0 21:27 ? 00:00:00 /usr/local/greenplum-db-4.3.8.2/bin/postgres -D /data/master/gpseg-1 -p 5432 -b 1 -z 8 --silent-mode=true -i -M master -C -1 -x 0 –E
第二行:/data/master/gpseg-1 表示Master节点的数据目录
最后一行:5432001 32768
我们先通过ipcs命令来查看共享内存的地址信息:
[root@cdha gpseg-1]# ipcs
------ Shared Memory Segments --------
key shmid owner perms bytes nattch status
0x0052e2c1 32768 gpadmin 600 222015232 7
------ Semaphore Arrays --------
key semid owner perms nsems
0x00000000 0 root 600 1
0x00000000 65537 root 600 1
0x0052e2c1 655362 gpadmin 600 17
0x0052e2c2 688131 gpadmin 600 17
0x0052e2c3 720900 gpadmin 600 17
0x0052e2c4 753669 gpadmin 600 17
0x0052e2c5 786438 gpadmin 600 17
0x0052e2c6 819207 gpadmin 600 17
0x0052e2c7 851976 gpadmin 600 17
0x0052e2c8 884745 gpadmin 600 17
0x0052e2c9 917514 gpadmin 600 17
0x0052e2ca 950283 gpadmin 600 17
0x0052e2cb 983052 gpadmin 600 17
0x0052e2cc 1015821 gpadmin 600 17
0x0052e2cd 1048590 gpadmin 600 17
0x0052e2ce 1081359 gpadmin 600 17
0x0052e2cf 1114128 gpadmin 600 17
0x0052e2d0 1146897 gpadmin 600 17
0x0052e2d1 1179666 gpadmin 600 17
------ Message Queues --------
key msqid owner perms used-bytes messages
我们将shared memory segments中的key转换为10进制,如下:
0x0052e2c1十六进制转换为十进制为5432001,正好等于第一个数字,即为共享内存的key。
第二个数字为shmid的值,即为共享内存的id。
2. 最后再来看postmaster.opts文件内容
[root@cdha gpseg-1]# cat postmaster.opts
/usr/local/greenplum-db-4.3.8.2/bin/postgres "-D" "/data/master/gpseg-1" "-p" "5432" "-b" "1" "-z" "8" "--silent-mode=true" "-i" "-M" "master" "-C" "-1" "-x" "0" "-E"
可以看出来,这个是启动master节点的命令。
我们再看一个primary节点的内容:
[root@cdhb gpseg1]# cat postmaster.opts
/usr/local/greenplum-db-4.3.8.2/bin/postgres "-D" "/data1/primary/gpseg1" "-p" "40001" "-b" "3" "-z" "8" "--silent-mode=true" "-i" "-M" "quiescent" "-C" "1"
可以看到Greenplum的master,primary和mirror的启动命令略有差别。
[root@cdhb gpseg4]# cat postmaster.opts
/usr/local/greenplum-db-4.3.8.2/bin/postgres "-D" "/data1/mirror/gpseg4" "-p" "50000" "-b" "14" "-z" "8" "--silent-mode=true" "-i" "-M" "quiescent" "-C" "4"