GreenPlum 安裝方法詳解


一、安裝環境准備

1磁盤環境准備

 磁盤分區典型配置如下:


  文件系統 文件格式    大小
  /        ext3   50GB,Linux系統的根目錄,所有的目錄都掛在這個目錄下面,建議大小為5GB以上
  /boot    ext3   用來存放與Linux系統啟動有關的程序,比如啟動引導裝載程序等,建議大小為200MB
  swap     swap   1*RAM,實現虛擬內存,建議大小是物理內存的1~2倍

  /usr     ext3   用來存放Linux系統中的應用程序,其相關數據較多,建議大於3GB以上

  /var     ext3   用來存放Linux系統中經常變化的數據以及日志文件,建議大於1GB以上

  /tmp     ext3   將臨時盤在獨立的分區,可避免在文件系統被塞滿時影響到系統的穩定性。建議大小為500MB以上

  /data1   xfs    依據數據量而定
  /data2   xfs    依據數據量而定

  /home    ext3   存放普通用戶的數據,是普通用戶的宿主目錄,建議大小為剩下的空間


 2設置GP 推薦的OS 參數

注:標示“三台主機”的表示要在三台電腦上都做該操作,“master節點”表示只在mdw主機上操作

 hostname
ip
內存
硬盤
mdw
192.168.10.200
500M
8G
sdw1
192.168.10.201
500M
8G
sdw2
192.168.10.202
500M
8G

Greenplum 需要在GP 數據庫系統的所有主機(masters 和 segments) 上配置推薦的OS參數

以root 用戶登錄,修改所有主機的OS 參數

(1)關閉防火牆(三台主機)(學習時可以直接關閉,正式環境是通過開放端口)
   service iptables stop   停止防火牆服務,重啟電腦后仍然會開啟
   chkconfig iptables off  關閉防火牆服務開機啟動,重啟后生效
(2)、修改/etc/hosts文件(三台主機)
在hosts文件中添加或修改一下內容:
  192.168.10.200 mdw
  192.168.10.201 sdw1
  192.168.10.202 sdw2
添加之后,可以通過ping命令測試是否正確,如:ping sdw1 測試是否能訪問sdw1節點
(3)、修改或添加/etc/sysctl.conf(三台主機)

  xfs_mount_options = rw,noatime,inode64,allocsize=16m
  kernel.shmmax = 500000000
  kernel.shmmni = 4096
  kernel.shmall = 4000000000
  kernel.sem = 250 512000 100 2048
  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
  vm.overcommit_memory = 2

(4)、配置/etc/security/limits.conf文件,添加以下內容(三台主機)
  * soft nofile 65536
  * hard nofile 65536
  * soft nproc 131072
  * hard nproc 131072
(5)、設置預讀塊的值為16384(三台主機)
  # /sbin/blockdev --getra /dev/sda         查看預讀塊,默認大小為256
  # /sbin/blockdev --setra 16384 /dev/sda   設置預讀塊
(6)、設置磁盤訪問I/O調度策略(三台主機)
  # echo deadline > /sys/block/sda/queue/scheduler
(7)、上傳並解壓數據庫安裝文件(master節點)

  # unzip greenplum-db-4.2.2.4-build-1-CE-RHEL5-i386.zip


二、GP數據庫安裝

1、安裝軟件(master節點)
  # /bin/bash greenplum-db-4.2.2.4-build-1-CE-RHEL5-i386.bin
安裝過程中會顯示以下內容,直接使用默認即可


安裝之后的目錄文件如下:


其中:
greenplum_path.sh - Greenplum 數據庫環境變量配置文件
GPDB-LICENSE.txt- Greenplum license 文件
LICENSE.thirdparty- 第三方 license 文件
bin- 目錄下包括Greenplum 數據庫管理程序,也包括PostgreSQL 客戶端和服務程序
demo - 目錄下包括Greenplum 演示程序
docs - Greenplum 數據庫幫助文檔(PDF 格式)
etc - OpenSSL 配置文件
ext - Greenplum 數據庫程序用的附加程序( 如 Python)
include - Greenplum 數據庫C header files
lib - Greenplum 數據庫和 PostgreSQL 庫文件
sbin - Supporting/Internal 腳本和程序
share - Greenplum 數據庫共享文件

 

2、獲取環境參數(master節點)

  在/etc/profile中增加:# source /usr/local/greenplum-db/greenplum_path.sh

  然后在三台主機執行命令:source /usr/local/greenplum-db/greenplum_path.sh

3創建包含所有主機名的文件/home/gpadmin/all_hosts

首先指定greenplum用戶 # useradd gpadmin  # passwd gpadmin

賦用戶權限  # chown -R gpadmin:gpadmin gpadmin

然后在gpadmin賬戶下創建 all_hosts,文件內容:(三台主機)
  mdw
  sdw1
  sdw2

4運行gpseginstall工具 (master節點 /home/gpadmin)
  # gpseginstall -f all_hosts -u gpadmin -p gpadmin
all_hosts是上個步驟創建的文件,安裝過程中會讓輸入三台主機的密碼,完成后提示成功,如下圖:



5、切換到gpadmin用戶驗證無密碼登錄(三台主機)
   (1)切換用戶
      $ su - gpadmin
   (2)使用gpssh工具來測試無密碼登錄所有主機,結果如下圖:
      $ gpssh -f all_hosts -e ls -l $GPHOME



6、配置環境變量(master節點)
在/home/gpadmin路徑下,以root用戶添加下述信息到.bashrc和.bash_profile文件最后
  # source /usr/local/greenplum-db-4.2.2.4/greenplum_path.sh
然后將.bashrc文件發送到sdw1和sdw2,命令如下:
  scp .bashrc sdw1:~
  scp .bashrc sdw2:~


7、創建存儲區域(master節點)
   (1) 創建Master數據存儲區域
        # mkdir -p /data/master
   (2) 改變目錄的所有權
        # chown gpadmin:gpadmin /data/master
   (3) 創建一個包含所有segment主機名的文件/home/gpadmin/seg_hosts,內容如下:
        sdw1
        sdw2
   (4) 使用gpssh工具在所有segment主機上創建主數據和鏡像數據目錄,如果沒有設置鏡像可以不創建mirror目錄(切換gpadmin用戶)
        # gpssh -f seg_hosts -e 'mkdir -p /data/primary'
        # gpssh -f seg_hosts -e 'mkdir -p /data/mirror'
        # gpssh -f seg_hosts -e 'chown gpadmin /data/primary'
        # gpssh -f seg_hosts -e 'chown gpadmin /data/mirror'


8、同步系統時間
  (1) 在Master主機上編輯/etc/ntp.conf來設置如下內容:
      server 127.127.1.0
  (2) 在Segment主機上編輯/etc/ntp.conf
      server mdw
  (3) 在Master主機上,通過NTP守護進程同步系統時鍾(切換gpadmin用戶)
      # gpssh -f all_hosts -v -e 'ntpd'


9驗證操作系統設置(切換gpadmin用戶)
  # gpcheck -f all_hosts -m mdw
注意運行結果是否有error信息,如果有處理掉錯誤信息后重新執行上面的命令檢查,直至沒有error信息,error如下圖


成功的信息如下:



10、創建Greenplum數據庫配置文件
(1) 以gpadmin用戶登錄
  # su - gpadmin
(2) 從模板中拷貝一份gpinitsystem_config文件
  $ cp $GPHOME/docs/cli_help/gpconfigs/gpinitsystem_config /home/gpadmin/gpinitsystem_config
  $ chmod 775 gpinitsystem_config
(3) 設置所有必須的參數
  ARRAY_NAME="EMC Greenplum DW"
  SEG_PREFIX=gpseg
  PORT_BASE=40000
  declare -a DATA_DIRECTORY=(/data/primary)
  MASTER_HOSTNAME=mdw
  MASTER_DIRECTORY=/data/master
  MASTER_PORT=5432
  TRUSTED SHELL=ssh
  CHECK_POINT_SEGMENT=8
  ENCODING=UNICODE
(4) 設置可選參數
  MIRROR_PORT_BASE=50000
  REPLICATION_PORT_BASE=41000
  MIRROR_REPLICATION_PORT_BASE=51000
  declare -a MIRROR_DATA_DIRECTORY=(/data/mirror)

11、運行初始化工具初始化數據庫
  $ gpinitsystem -c gpinitsystem_config -h seg_hosts
成功之后,數據庫便啟動了,信息如下:

出現Continue with Greenplum creation Yy/Nn>,輸入 y,然后等待如下完成


12、設置環境變量
添加"export MASTER_DATA_DIRECTORY=/data/master/gpseg-1"到~/.bashrc文件尾,並同步到sdw1和sdw2節點
  $ scp .bashrc sdw1:~
  $ scp .bashrc sdw2:~

13啟動和停止數據庫測試是否能正常啟動和關閉,命令如下
  $ gpstart
  $ gpstop

15訪問數據庫
psql -d postgres
輸入查詢語句
select datname,datdba,encoding,datacl from pg_database;
顯示信息如下



 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM