解析Greenplum每个实例的postmaster.opts和postmaster.pid内容

本文档解析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"

你可能感兴趣的:(解析Greenplum每个实例的postmaster.opts和postmaster.pid内容)