Greenplum/Deepgreen(集羣/分佈式)安裝文檔

Deepgreen分佈式安裝文檔php

環境準備node

一、安裝VMware虛擬機軟件,而後在VMware安裝三臺Linux虛擬機(使用centos7版本)linux

二、使用的虛擬機以下:算法

192.168.136.155  mdwsql

192.168.136.156  sdw1數據庫

192.168.136.157  sdw2centos

2.1三臺虛擬機分別修改主機名爲:mdw/sdw1/sdw2bash

[root@localhost ~]# hostnamectl set-hostname mdw服務器

2.2三臺虛擬機分別添加主機名和ip對應關係cookie

[root@sdw1 ~]# vi /etc/hosts

2.3三臺虛擬機進行時間同步操做

[root@sdw1 ~]# yum install ntp

[root@sdw1 ~]# cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

[root@sdw1 ~]# ntpdate pool.ntp.org

[root@sdw1 ~]# systemctl start ntpd

[root@sdw1 ~]# systemctl enable ntpd

2.4三臺虛擬機安裝工具(可選)

[root@mdw ~]# yum install net-tools –y

[root@mdw ~]# yum install perl

2.5三臺虛擬機關閉防火牆

[root@mdw ~]# systemctl stop firewalld

[root@mdw ~]# systemctl disable firewalld

2.6三臺虛擬機修改selinux的值爲disabled

[root@sdw1 ~]# vi  /etc/selinux/config

2.7三臺虛擬機修改關於linux系統推薦配置

[root@mdw ~]# vi  /etc/sysctl.conf

kernel.shmmax = 2000000000

kernel.shmmni = 4096

kernel.shmall = 16000000000

kernel.sem = 1000 2048000 400 8192

xfs_mount_options = rw,noatime,inode64,allocsize=16m

kernel.sysrq = 1

kernel.core_uses_pid = 1

kernel.msgmnb = 65536

kernel.msgmax = 65536

kernel.msgmni = 2048

net.ipv4.tcp_syncookies = 1

net.ipv4.ip_forward = 0

net.ipv4.conf.default.accept_source_route = 0

net.ipv4.tcp_tw_recycle = 1

net.ipv4.tcp_max_syn_backlog = 4096

net.ipv4.conf.all.arp_filter = 1

net.ipv4.ip_local_port_range = 1025 65535

net.core.netdev_max_backlog = 10000

net.core.rmem_max = 2097152

net.core.wmem_max = 2097152

vm.overcommit_memory = 2

sysctl -p生效

2.8三臺虛擬機更改文件限制

[root@mdw ~]# vi /etc/security/limits.conf

* soft nofile 65536

* hard nofile 65536

* soft nproc 131072

   * hard nproc 131072

2.9磁盤io調度算法有多種:CFQASdeadline推薦deadline

[root@mdw ~]# grubby --update-kernel=ALL --args="elevator=deadline"

[root@mdw ~]#/sbin/blockdev --getra /dev/sda預讀塊默認大小爲8192
[root@mdw ~]#/sbin/blockdev --setra 16384 /dev/sda設置預讀塊大小16G

上述完成以後,三臺機器均需重啓系統,而後再開始進入數據庫安裝操做

三、數據庫安裝

3.1數據庫文件deepgreendb.16.32.rh6.x86_64.180912.bin下載並上傳到mdw主機上

http://vitessedata.com/deepgreen-db      https://www.centos.org/download/

    mdw主機建立gpadmin用戶

[root@mdw local]# useradd gpadmin

[root@mdw local]# passwd gpadmin

mdw主機賦權限解壓bin文件

[root@mdw local]# chmod u+x ./deepgreendb.16.32.rh6.x86_64.180912.bin

[root@mdw local]# ./deepgreendb.16.32.rh6.x86_64.180912.bin

 

安裝後的總體目錄以下:

 

爲gpadmin賦安裝後的總體目錄權限

[root@mdw deepgreendb]# chown -R gpadmin:gpadmin /usr/local/deepgreendb(軟鏈接)

[root@mdw deepgreendb]# source /usr/local/deepgreendb/greenplum_path.sh

3.2建立一個文件:hostfile_exkeys

[root@mdw deepgreendb]# vi hostfile_exkeys

mdw

sdw1

sdw2

裏面內容與etc/hosts節點的內容同樣

3.3創建節點服務器間的信任

[root@mdw deepgreendb]# gpssh-exkeys -f hostfile_exkeys

按照提示輸入root密碼,記住這一步不能輸入gpadmin的密碼,由於批量安裝時須要在/usr/local下建立目錄,須要root權限

3.4批量安裝

[root@mdw deepgreendb]# gpseginstall -f hostfile_exkeys -u gpadmin -p 123456

這一步其實就是將master上的greenplum打包經過scp命令傳到hostfile_exkeys中的主機上,並賦予目錄gpadmin的權限

20181031:11:31:26:011120 gpseginstall:mdw:root-[INFO]:-SUCCESS -- Requested commands completed

3.5檢查批量安裝狀況

[root@mdw deepgreendb]# gpssh -f hostfile_exkeys -e ls -l $GPHOME

返回結果中各節點目錄一致則表明批量安裝成功

3.6上述步驟完成後,建立Master主數據的存儲區域

[root@mdw deepgreendb]# mkdir -p /data/master

[root@mdw deepgreendb]# chown gpadmin:gpadmin /data/master

[root@mdw deepgreendb]# vi hostfile_gpssh_segonly

sdw1

sdw2

只含有segment節點

vi hostfile_gpssh_segonly這步主要是爲了使用gpssh工具建立數據目錄,單機安裝通常手動

3.7建立segment主機上建立主數據和鏡像數據目錄並賦權限

[root@mdw deepgreendb]# source greenplum_path.sh

[root@mdw deepgreendb]# gpssh -f hostfile_gpssh_segonly -e 'mkdir -p /data1/primary'

[sdw1] mkdir -p /data1/primary

[sdw2] mkdir -p /data1/primary

[root@mdw deepgreendb]#  gpssh -f hostfile_gpssh_segonly -e 'mkdir -p /data2/primary'

[sdw1] mkdir -p /data2/primary

[sdw2] mkdir -p /data2/primary

[root@mdw deepgreendb]#  gpssh -f hostfile_gpssh_segonly -e 'mkdir -p /data2/mirror'

[sdw1] mkdir -p /data2/mirror

[sdw2] mkdir -p /data2/mirror

[root@mdw deepgreendb]#  gpssh -f hostfile_gpssh_segonly -e 'mkdir -p /data1/mirror'

[sdw1] mkdir -p /data1/mirror

[sdw2] mkdir -p /data1/mirror

[root@mdw deepgreendb]# gpssh -f hostfile_gpssh_segonly -e 'chown -R gpadmin:gpadmin /data1'

[sdw1] chown -R gpadmin:gpadmin /data1

[sdw2] chown -R gpadmin:gpadmin /data1

[root@mdw deepgreendb]# gpssh -f hostfile_gpssh_segonly -e 'chown -R gpadmin:gpadmin /data2'

[sdw1] chown -R gpadmin:gpadmin /data2

[sdw2] chown -R gpadmin:gpadmin /data2

[root@mdw deepgreendb]#

3.8建立gp初始化文件

[root@mdw deepgreendb]# su - gpadmin

[gpadmin@mdw deepgreendb]$ vi hostfile_gpinitsystem

sdw1

sdw2

從安裝軟件的模板中拷貝一份gpinitsystem_config文件到當前目錄:

[gpadmin@mdw deepgreendb]$ cp docs/cli_help/gpconfigs/gpinitsystem_config .

修改gpinitsystem_config設置segment個數

declare -a DATA_DIRECTORY=(/data1/primary  /data2/primary)

[gpadmin@mdw deepgreendb]$ vi ~/.bashrc

source /usr/local/deepgreendb/greenplum_path.sh

export MASTER_DATA_DIRECTORY=/data/master/gpseg-1

export PGPORT=5432

export PGUSER=gpadmin

export PGDATABASE=test

[gpadmin@mdw deepgreendb]$  source ~/.bashrc

完成上述步驟運行初始化工具初始化數據庫

[gpadmin@mdw deepgreendb]$ gpinitsystem -c gpinitsystem_config -h hostfile_gpinitsystem -B 8

註釋:因爲我是36個segement因此並行開的-B 8

 

安裝成功,進行操做便可!

[gpadmin@mdw deepgreendb]$ psql -d postgres

psql (8.2.15)

Type "help" for help.

 

postgres=#

也可使用以下初始方式:

[gpadmin@mdw deepgreendb]$ gpinitsystem -c gpinitsystem_config -h hostfile_gpinitsystem -s sdw2 -S

會出錯,由於沒有足夠的主機沒法造成spread模式,去掉-S

因爲選擇sdw2爲standby,須要在sdw2節點上建立文件夾

[root@sdw2 primary]# mkdir -p /data/master

[root@sdw2 primary]# chown gpadmin:gpadmin /data/master

 

======================================================================

關於鏡像,有2種方式開啓Mirror
1. 在GP數據庫安裝的時候,開啓Mirror設置

 gpinitsystem -c gpinitsystem_config  -h hostfile_segonly -s smdw1 -S

-s 表明standby

-S表明spread模式
2. 在已建好的數據庫中,使用命令gpaddmirrors和gpinitstandby來開啓Mirror

=======================關於節點分佈模式:grouped、spread==============================

1.greenplum的兩種節點分佈模式

①grouped mirror模式:

(grouped模式,主機的mirror節點所有放在下一個主機上)

 

②spread mirror模式:

(spread模式,主機的第一個mirror在下個主機,第二個mirror在次下個主機,第三mirror在次次下個主機....)

 

2.初始化的mirror模式:

1)初始化爲grouped模式

在部署配置gp的過程當中

執行初始化命令:gpinitsystem ,默認的節點分佈方式爲grouped

[gpadmin@master ~]$gpinitsystem -c gpinitsystem_config -h seg_hosts -s standby

2)在初始化時改成spread模式

在部署配置gp的過程當中

執行初始化命令:gpinitsystem加上–S,節點分佈方式爲spread

[gpadmin@master ~]$gpinitsystem -c gpinitsystem_config -h seg_hosts -s standby –S

3)主機數量少的狀況(沒法改設spread)

假設segment主機爲兩臺,節點數爲2;執行初始化命令gpinitsystem加上–S是沒法造成spread模式,而且會在執行初始化命令以後報錯,緣由因爲主機個數沒有比primary節點數大1。

3.對於兩種模式,添加segment主機節點的狀況:

(排除自行修改gpexpand_inputfile_xxxxx_xxxx文件的狀況,能夠自行添加主機或節點)

1)grouped模式

新增的主機數必須大於等於2,確保新增primary和mirror在不一樣的機器上。

2)spread模式

新增主機數至少比每臺主機上的primary數大1,確保mirror平均分配在其餘主機上(參照圖例理解)。

4.兩種模式的優缺:

①grouped mirror:

    若是其中一臺掛掉,那麼擁有該主機mirror的機器負載加劇一倍;在segment主機數很是多的狀況下,至少容許兩臺主機掛掉

②spread mirror:

    若是其中一臺掛掉,那麼擁有該主機mirror的機器負載均衡,沒有grouped的壓力大;在segment主機數很是多的狀況下,只能夠掛掉一臺主機

(通常狀況,greenplum同時死機兩臺機率很低,死機一臺機率較高,建議spread)

==================================================================================

Rebalancing a Table從新平衡一張表

CREATE TABLE sales_temp (LIKE sales) DISTRIBUTED BY (date, total, customer);

INSERT INTO sales_temp SELECT * FROM sales;

DROP sales;

ALTER TABLE sales_temp RENAME TO sales;

============================================================================

https://yq.aliyun.com/articles/177

 該連接是關於如何擴展segment的文檔寫的很是詳細,我的也是根據此連接操做成功的。

擴容回滾

若是在擴容過程當中,報錯,需先啓動GP master node,而後rollback再啓動GP

gpstart -m

gpexpand –r –D dw

gpstart

==============================================================================

linux nmon的安裝及使用:該軟件能夠監控linux系統

參考:https://blog.csdn.net/u010798968/article/details/74932124

1.下載nmon壓縮包:

http://nmon.sourceforge.net/pmwiki.php?n=Site.Download

根據系統的髮型版本及CPU位數選擇相應的壓縮包下載,如筆者的系統發行版本爲:紅帽子7.3.1611,64位:

 

因此選擇的版本爲:nmon16g_x86.tar.gz,

 

能夠下載到本地,再ftp傳到linux服務器上,也能夠直接在linux服務器上wget 下載連接。

2.下載後解壓縮,有適用於不一樣linux發行版本的文件,根據自身系統選擇不一樣文件,這裏筆者選擇的是nmon16g_x86_rhel72:

 

根據自身需求重命名及賦權,這裏筆者重命名爲nmon,賦755權限:

 

執行nmon:./nmon,進入nmon實時監控頁,按c查看CPU使用信息,按m查看內存使用信息,按n查看網絡使用信息,以下圖:

更多命令按h查看幫助信息。

 

3.採集系統性能信息,並生成報告

a.執行./nmon -s3 -c60 -f -m ./report,-s3爲每3s收集一次性能信息,-c60爲收集60次,-f爲生成的文件名包含該文件建立時間,-m ./report爲指定測試報告存儲路徑,以下圖:

執行完收集信息的命令後,生成了以hostname+建立年月+建立時間的文件,而且能夠看到有個nmon的後臺進程,即爲收集服務器性能信息的進程,直到60次收集執行完以後,該進程纔會結束。

 

b.下載 nmon analyser分析工具,該工具能夠將上面生成的.nmon文件轉化爲圖表,更爲直觀。

下載地址:https://www.ibm.com/developerworks/community/wikis/home?lang=en#!/wiki/Power%20Systems/page/nmon_analyser

下載完解壓能夠看到有兩個文件:

 

打開  nmon analyser v51_2.xlsm文件:

 

將linux服務器上的報告.nmon文件down下來,點擊上圖中的Analyze nmon data按鈕,選擇剛剛down下來的文件,生成可視化圖表,以下圖:

 

另外,若是有同窗點擊Analyze nmon data按鈕後彈出「宏不可用」的提示,Excel可自行百度如何開啓宏,wps我的版則須要下載一個插件,筆者放到了網盤裏面:

http://pan.baidu.com/s/1o8iFk6m,可自行下載,下載以後解壓,雙擊vba6chs.msi安裝便可,安裝好以後重啓wps,便可正常使用宏,並生成可視化圖表。

相關文章
相關標籤/搜索