1. 程式人生 > >建立docker greenplum 容器以及greenplum 監控(GPCC)

建立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