建立docker greenplum 容器以及greenplum 監控(GPCC)
下載基礎映象centos
docker pull centos:6.8
建立容器
docker run -tid --name gp -p 5432:5432 -p 28080:28080 -v I:\gp\gp:/gp centos:6.8 /bin/bash (gp資料夾裡包括GP安裝包和GPCC安裝包)
進入容器
docker exec -ti gp /bin/bash
安裝ssh服務
yum install openssh-server -y
yum install openssh-clients -y
安裝unzip
yum install unzip -y
安裝依賴
yum install ed -y
修改時區
cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
解壓並安裝greenplum和gpcc
執行兩個bin檔案安裝
建立gpadmin使用者
useradd gpadmin
passwd gpadmin
mkdir gpmaster
mkdir gpsegments
修改gp所有者
chown -R gpadmin /gpmaster
chown -R gpadmin /gpsegments
chown -R gpadmin /usr/local/greenplum-db
chgrp -R gpadmin /usr/local/greenplum-db
chown -R gpadmin /usr/local/greenplum-db-4.3.9.1
chgrp -R gpadmin /usr/local/greenplum-db-4.3.9.1
chown -R gpadmin:gpadmin /usr/local/greenplum-cc-web
chown -R gpadmin:gpadmin /usr/local/greenplum-cc-web-2.0.0-build-32
修改環境變數
vi /etc/profile
GPHOME=/usr/local/greenplum-db-4.3.9.1
PATH=$GPHOME/bin:$GPHOME/ext/Python/bin:$PATH
export GPHOME
export PATH
vi ~/.bashrc新增:
source /etc/profile
service sshd start
su – gpadmin
source ~/.bashrc
進入gpadmin使用者新增
vi ~/.bashrc
新增 :
source /usr/local/greenplum-db/greenplum_path.sh
source /usr/local/greenplum-cc-web/gpcc_path.sh
MASTER_DATA_DIRECTORY=/gpmaster/gpseg-1
export MASTER_DATA_DIRECTORY
export PGPORT=5432
export PGDATABASE=postgres
source ~/.bashrc
建立修改啟動配置檔案
mkdir gpconfigs
vi all_segs(填從節點的ip或者主機名,單節點就填localhost就可以)
vi all_hosts(填所有節點的ip或者主機名,單節點可以不需要)
cp $GPHOME/docs/cli_help/gpconfigs/gpinitsystem_config /home/gpadmin/gpconfigs/gpinitsystem_config
vi /home/gpadmin/gpconfigs/gpinitsystem_config
修改這個檔案
ENCODING=UTF8
declare -a DATA_DIRECTORY=(/gpsegments /gpsegments)(需要幾個從節點就幾個資料夾)
MASTER_DIRECTORY=/gpmaster(主節點儲存位置)
MASTER_HOSTNAME=localhost(放在同一個容器裡就設為localhost,叢集幾個容器的話,就填master節點名)
建立ssh免密登入
gpssh-exkeys -f ./all_segs
初始化GP
gpinitsystem -c gpconfigs/gpinitsystem_config -h ./all_segs -a
初始化完成後
psql -p 1949 -d postgres
可以進入GP
遠端訪問的話需要
echo "host all all 172.17.0.1/24 md5">>/gpmaster/gpseg-1/pg_hba.conf(172.17.0.1是容器的閘道器地址)
在gp中
postgres=# ALTER role gpadmin with password 'gpadmin';
然後重啟gp
gpstop -u
安裝gpcc監控
echo "host gpperfmon gpmon ::1/128 md5">>/gpmaster/gpseg-1/pg_hba.conf
echo "gp_enable_gpperfmon=on">>/gpmaster/gpseg-1/postgresql.conf
echo "gpperfmon_port=8888">>/gpmaster/gpseg-1/postgresql.conf
echo "gp_external_enable_exec=on">>/gpmaster/gpseg-1/postgresql.conf
echo "gpperfmon_log_alert_level=warning">>/gpmaster/gpseg-1/postgresql.conf
安裝gp監控資料庫
gpperfmon_install --enable --password gpmon --port 5432
在gp中
postgres=# ALTER role gpadmin with password 'gpadmin';
然後重啟gp
gpstop -ar
安裝監控例項
gpcmdr --setup
gpcmdr --start gpcc(gpcc是上一步命的名)
GPCCC啟動了輸入網址10.0.75.1:28080 預設使用者名稱密碼為gpmon