日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Greenplum学习笔记——第二部分:集群部署

發布時間:2023/12/14 编程问答 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Greenplum学习笔记——第二部分:集群部署 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Greenplum 安裝

前期準備

1、Greenplum集群規劃

192.168.5.107 Master sdw1

192.168.5.108 sdw2

192.168.5.109 sdw3

192.168.5.107即作為Master節點也作為Segment節點,正式環境不推薦此做法,正式環境下Master應該單獨一臺服務器;192.168.5.108、192.168.5.109作為Segment節點,每個機器上配置兩個Primary Segment和兩個Mirror Segment。

2、操作系統準備

Greenplum沒有Windows版本,只能安裝在類UNIX的操作系統上,我們選擇Centos7進行安裝。

3、數據庫存儲

對于Greenplum數據庫來說,在性能上磁盤IO很容易成為瓶頸,由于數據庫的特性,每一個SQL基本都是對全部數據進行分析,每次處理的數據量非常大,數據基本上都是沒有緩存的(數據字典除外),極度消耗IO資源(全表掃描主要都是順序IO),所以Greenplum對于存儲的要求比較高。在文件系統上,Linux下建議使用XFS,在Solaris下建議使用ZFS,對于性能有更高的要求,可以選擇Raid 1+0。

4、網絡

在確定機器配置時,要保證所有機器的網絡都是通的,并且每臺機器的防火墻都是關閉的,避免存在網絡不通的問題。

在配置/etc/hosts時,習慣將Master機器叫做mdw,將Segment機器叫做sdw,配置好后,使用ping命令確定所有hostname都是通的。

在所有機器配置:

# dw-greenplum-* 是機器主機名 192.168.5.107 dw-greenplum-1 mdw sdw1 192.168.5.108 dw-greenplum-2 sdw2 192.168.5.109 dw-greenplum-3 sdw3

5、時間

方法一:啟用master節點上的NTP,并在Segment節點上配置和啟用NTP。

方法二:同步其他機器的時間,需要確保目標機器已經開啟了NTP服務。

1、安裝ntpdate

yum install ntpdate -y

2、同步時間

# 同步目標主機時間,需要確保目標機器已經開啟了NTP服務 ntpdate -u 目標主機

系統配置

1、配置Selinux

臨時關閉:輸入命令setenforce 0,重啟系統后還會開啟。

永久關閉:輸入命令vi /etc/selinux/config,將SELINUX=enforcing改為SELINUX=permissive,然后保存退出。

2、服務器參數調整

~ cat /etc/sysctl.confkernel.shmmax = 500000000 kernel.shmmni = 4096 kernel.shmall = 4000000000 kernel.sem = 50100 128256000 50100 2560 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.defalut.arp_filter = 1 net.ipv4.conf.all.arp_filter = 1 net.ipv4.ip_local_port_range = 10000 65535 net.core.netdev_max_backlog = 10000 net.core.rmem_max = 2097152 net.core.wmem_max = 2097152 vm.overcommit_memory = 2 kernel.core_pattern = /var/core/core.%h.%t

3、系統資源限制調整

~ cat /etc/security/limits.conf* soft nofile 65536 * hard nofile 65536 * soft nproc 131072 * hard nproc 131072 * soft core unlimited

4、創建用戶及用戶組

創建gpadmin用戶及用戶組,將其作為安裝Greenplum的操作系統用戶

創建新的用戶和用戶組:

groupadd -g 530 gpadmin useradd -g 530 -u 530 -m -d /home/gpadmin -s /bin/bash gpadmin

對文件夾進行賦權,為新用戶創建密碼:

chown -R gpadmin:gpadmin /home/gpadmin passwd gpadmin

Greenplum安裝

1、安裝數據庫軟件

下載地址:https://network.pivotal.io/products/vmware-tanzu-greenplum 選擇所需要的下載版本與對應的操作系統,下載時需要注冊一個Greenplum用戶,請耐心注冊。

當下載好安裝包后你已經成功一半了。

以6.16.1為例:

安裝包名稱:greenplum-db-6.16.1-rhel7-x86_64.rpm

安裝步驟:

(1)執行yum 安裝 或 rpm安裝,大家安裝時不要緊張,Greenplum軟件按照相對簡單,按步驟執行就好。

yum install greenplum-db-6.16.1-rhel7-x86_64.rpm -y 或 rpm -ivh greenplum-db-6.16.1-rhel7-x86_64.rpm

默認的安裝路徑是/usr/local,當軟件安裝成功后,需要修改該路徑gpadmin操作權限:

chown -R gpadmin:gpadmin /usr/local

這時切換到gpadmin,刷新Greenplum環境變量查看Greenplum是否安裝完成

$ su - gpadmin $ source /usr/local/greenplum-db/greenplum_path.sh $ gpstate --version # 顯示以下信息說明Greenplum軟件安裝成功 gpstate version 6.16.1 build commit:10171814c15886ff864fad19b89b3a7c224e0a97

(2)配置集群hostlist文件,打通節點

a. 創建hostlist文件與seg_hosts文件,hostlist文件包含所有主機信息,seg_hosts包含Segment主機信息。

hostlist

[gpadmin@dw-greenplum-1 ~]$ more hostlist mdw sdw1 sdw2 sdw3

seg_hosts

[gpadmin@dw-greenplum-1 ~]$ more seg_hosts sdw1 sdw2 sdw3

b. 配置ssh免密連接。

$ su - gpadmin $ source /usr/local/greenplum-db/greenplum_path.sh $ gpssh-exkeys -f hostlist # 然后按要求執行即可

測試免密連接是否成功:

# root賬號 和 gpadmin賬號免密遠程Segment節點是否成功 $ ssh sdw2 # gpssh 工具批量控制其他服務器是否成功 $ gpssh -f hostlist => pwd [sdw3] /home/gpadmin [ mdw] /home/gpadmin [sdw2] /home/gpadmin =>

如果使用gpssh-exkeys打通各節點失敗,大家可以使用Linux自帶的免密登錄打通

# 需要在root用戶和gpadmin用戶都執行,確保集群間能過通過這兩個用戶免密登錄 # 生成密鑰 ssh-keygen -t rsa # 拷貝密鑰到其他主機 ssh-copy-id sdw2

2、在Segment節點上安裝Greenplum

在各個子節點進行文件夾賦權:

# 創建合適的目錄,并為其授權 mkdir /xswork chown gpadmin:gpadmin work

在主節點打包安裝包并復制到各個子節點:

tar -cf /home/gpadmin/gp6.16.tar.gz greenplum-db-6.16.1/ cd /usr/local chown gpadmin:gpadmin gp6.16.tar.gz su - gpadmin gpscp -f hostlist gp6.16.tar.gz =:/xswork/

這個時候如果沒有意外,greenplum的文件已經復制到各個Segment機器的/xswork目錄下了,可以去各個字節點檢查一下

su - gpadmin gpssh -f seg_hosts => cd /xswork [sdw2] [sdw3] [sdw1] => ll [sdw2] total 535780 [sdw2] -rw-------. 1 gpadmin gpadmin 548638720 Jul 6 15:22 gp6.16.tar.gz [sdw3] total 535780 [sdw3] -rw-------. 1 gpadmin gpadmin 548638720 Jul 6 15:22 gp6.16.tar.gz [sdw1] total 535780 [sdw1] -rw-------. 1 gpadmin gpadmin 548638720 Jul 6 15:21 gp6.16.tar.gz =>

沒有問題的話批量解壓:

su - gpadmin gpssh -f seg_hosts => cd /xswork [sdw3] [sdw1] [sdw2] => tar -xf gp6.16.tar.gz [sdw3] [sdw1] [sdw2] #建立軟鏈接 => ln -s greenplum-db-6.16.1 greenplum-db [sdw3] [sdw1] [sdw2] =>

3、初始化集群

(1)創建資源目錄

# 主節點上執行 su - gpadmin # 創建主節點目錄 mkdir -p /xswork/data/master/gpseg-1 # 創建各個Segment節點目錄 gpssh -f seg_hosts # 因為我們每個集群計劃部署兩個Segment節點與鏡像,因此創建兩個目錄即可,也可只創建/xswork/primary 和 /xswork/mirror目錄,初始化時會按目錄有區分,這個根據個人喜好創建 => mkdir -p /xswork/primary/gpdatap1 => mkdir -p /xswork/primary/gpdatap2 => mkdir -p /xswork/mirror/gpdatam1 => mkdir -p /xswork/mirror/gpdatam2

(2)配置環境變量

su - gpadmin # 主節點配置環境變量 vi ~/.bash_profile # .bash_profile# Get the aliases and functions if [ -f ~/.bashrc ]; then. ~/.bashrc fi# User specific environment and startup programs source /xswork/greenplum-db/greenplum_path.sh export MASTER_DATA_DIRECTORY=/xswork/data/master/gpseg-1/gpseg-1 export PGPORT=12354 export PGDATABASE=testDB PATH=$PATH:$HOME/.local/bin:$HOME/binexport PATH

主節點配置好后復制到Segment節點

(3)初始化前測試集群機器的性能

網絡測試:

gpcheckperf -d 目錄 upload -r N -f 主機列表文件

文件系統性能驗證:

gpcheckperf -d 目錄1 -d 目錄2 upload -r ds -D -f 主機列表文件

(4)執行初始化

初始化 Greenplum 配置文件模板都在/usr/local/greenplum-db/docs/cli_help/gpconfigs目錄下,gpinitsystem_config是初始化 Greenplum 的模板。

gpinitsystem_config

# FILE NAME: gpinitsystem_config# Configuration file needed by the gpinitsystem################################################ #### REQUIRED PARAMETERS #################################################### Name of this Greenplum system enclosed in quotes. ARRAY_NAME="Greenplum Data Platform"#### Naming convention for utility-generated data directories. SEG_PREFIX=gpseg#### Base number by which primary segment port numbers #### are calculated. PORT_BASE=6000#### File system location(s) where primary segment data directories #### will be created. The number of locations in the list dictate #### the number of primary segments that will get created per #### physical host (if multiple addresses for a host are listed in #### the hostfile, the number of segments will be spread evenly across #### the specified interface addresses). declare -a DATA_DIRECTORY=(/xswork/primary/gpdatap1 /xswork/primary/gpdatap2)#### OS-configured hostname or IP address of the master host. MASTER_HOSTNAME=mdw#### File system location where the master data directory #### will be created. MASTER_DIRECTORY=/xswork/data/master/gpseg-1#### Port number for the master instance. MASTER_PORT=5432#### Shell utility used to connect to remote hosts. TRUSTED_SHELL=ssh#### Maximum log file segments between automatic WAL checkpoints. CHECK_POINT_SEGMENTS=8#### Default server-side character set encoding. ENCODING=UNICODE################################################ #### OPTIONAL MIRROR PARAMETERS #################################################### Base number by which mirror segment port numbers #### are calculated. MIRROR_PORT_BASE=7000REPLICATION_PORT_BASE=8000 MIRROR_REPLICATION_PORT_BASE=9000 #### File system location(s) where mirror segment data directories #### will be created. The number of mirror locations must equal the #### number of primary locations as specified in the #### DATA_DIRECTORY parameter. declare -a MIRROR_DATA_DIRECTORY=(/xswork/mirror/gpdatam1 /xswork/mirror/gpdatam2)################################################ #### OTHER OPTIONAL PARAMETERS #################################################### Create a database of this name after initialization. #DATABASE_NAME=name_of_database#### Specify the location of the host address file here instead of #### with the -h option of gpinitsystem. MACHINE_LIST_FILE=/home/gpadmin/seg_hosts

執行初始化

gpinitsystem -c gpconfigs/gpinitsystem_config

然后按要求執行整個集群就初始化完成了。

總結

安裝Greenplum主要有以下步驟:

1、集群的規劃與服務器準備;

2、服務器的配置;

3、在Master安裝Greenplum軟件,這一步在Master節點操作就好;

4、復制Master安裝好的Greenplum軟件到Segment節點中;

5、配置gpinitsystem_config配置文件,需要注意的是MASTER_DIRECTORY、DATA_DIRECTORY、MIRROR_DATA_DIRECTORY參數;

6、執行初始化 gpinitsystem -c gpconfigs/gpinitsystem_config,初始化時如果不指定主機,則默認使用gpinitsystem_config配置中MACHINE_LIST_FILE指定的主機列表;

總結

以上是生活随笔為你收集整理的Greenplum学习笔记——第二部分:集群部署的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。