您好,登錄后才能下訂單哦!
一、環境準備
1、安裝VMware軟件,然后在VMware里安裝三臺Linux虛擬機(我使用的是redhat)
2、設置虛擬機
主機名 | ip | 內存 | 硬盤 |
mdw | 192.168.10.20 | 500M | 8G |
sdw1 | 192.168.10.21 | 500M | 8G |
sdw2 | 192.168.10.22 | 500M | 8G |
3、下載數據庫安裝文件greenplum-db-4.2.2.4-build-1-CE-RHEL5-i386
二、安裝
注:標示“三臺主機”的表示要在三臺電腦上都做該操作,“master節點”表示只在mdw主機上操作
1、關閉防火墻(三臺主機)(學習時可以直接關閉,正式環境是通過開放端口)
#service iptables stop 停止防火墻服務,重啟電腦后仍然會開啟
#chkconfig iptables off 關閉防火墻服務開機啟動,重啟后生效
可以兩個命令結合使用避免重啟
2、修改hosts文件(三臺主機)
在hosts文件中添加或修改一下內容(如果主機名無法改,就在后面寫多個域名 例子: 192.168.10.200 mdw master )
192.168.10.20 mdw
192.168.10.21 sdw1
192.168.10.22 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.sem = 250 512000 100 20480
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 (存儲的硬盤/sda)
7、上傳并解壓數據庫安裝文件(master節點)
# unzip greenplum-db-4.2.2.4-build-1-CE-RHEL5-i386.zip
8、安裝軟件(master節點)
# /bin/bash greenplum-db-4.2.2.4-build-1-CE-RHEL5-i386.bin
安裝過程中會顯示以下內容,直接使用默認即可
安裝之后的目錄文件如下:
9、獲取環境參數(master節點)
# source /usr/local/greenplum-db/greenplum_path.sh
10、創建包含所有主機名的文件/home/gpadmin/all_hosts,文件內容:(三臺主機)
mdw
sdw1
sdw2
11、運行gpseginstall工具 (master節點)
# gpseginstall -f /home/gpadmin/all_hosts -u gpadmin -p gpadmin
all_hosts是上個步驟創建的文件,安裝過程中會讓輸入三臺主機的root密碼,完成后提示成功,如下圖:
12、切換到gpadmin用戶驗證無密碼登錄(三臺主機)
(1)切換用戶
$ su - gpadmin
(2)獲取環境參數(所有節點)
# source /usr/local/greenplum-db/greenplum_path.sh
(3)使用gpssh工具來測試無密碼登錄所有主機,結果如下圖:
$ gpssh -f all_hosts -e ls -l $GPHOME
13、配置環境變量(master節點)
[gpadmin@bj-gp-node1 ~]$ cd /home/gpadmin
[gpadmin@bj-gp-node1 ~]$ vi .bashrc
[gpadmin@bj-gp-node1 ~]$ vi .bash_profile
.bashrc和.bash_profile最后都添加下面兩行
source /usr/local/greenplum-db/greenplum_path.sh
export MASTER_DATA_DIRECTORY=/data/master/gpseg-1
然后將.bashrc文件發送到sdw1和sdw2,命令如下:
scp .bashrc sdw1:~
scp .bashrc sdw2:~
14、創建存儲區域(master節點)
首先mkfs格式化硬盤/dev/sda,然后在掛載到 /data/ 最后配置自動掛載 vim /etc/fstab [這個就不詳細寫了]
(1) 創建Master數據存儲區域
# mkdir -p /data/master
(2) 改變目錄的所有權
# chown gpadmin:gpadmin /data/master
(3) 創建一個包含所有segment主機名的文件/home/gpadmin/segment_hosts,內容如下:
sdw1
sdw2
(4) 使用gpssh工具在所有segment主機上創建主數據和鏡像數據目錄,如果沒有設置鏡像可以不創建mirror目錄(注意先在每個segment格式硬盤,然后掛載上/data/ 然后設置自啟動)
# 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
15、同步系統時間
(1) 在Master主機上編輯/etc/ntp.conf來設置如下內容:
server 127.127.1.0
(2) 在Segment主機上編輯/etc/ntp.conf
server mdw
(3) 在Master主機上,通過NTP守護進程同步系統時鐘
# gpssh -f all_hosts -v -e 'ntpd'
16、驗證操作系統設置
# gpcheck -f all_hosts -m mdw
注意運行結果是否有error信息,如果有處理掉錯誤信息后重新執行上面的命令檢查,直至沒有error信息,error如下圖
成功的信息如下:
17、創建Greenplum數據庫配置文件
(1) 以gpadmin用戶登錄
# su - gpadmin
(2) 從模板中拷貝一份gpinitsystem_config文件
$ vi /home/gpadmin/gpinitsystem_config ($GPHOME/docs/cli_help/gpconfigs/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)
18、運行初始化工具初始化數據庫
$ gpinitsystem -c gpinitsystem_config -h seg_hosts
成功之后,數據庫便啟動了,信息如下:
19、啟動和停止數據庫測試是否能正常啟動和關閉,命令如下
$ gpstart
$ gpstop
20、訪問數據庫
psql -d postgres
輸入查詢語句
select datname,datdba,encoding,datacl from pg_database;
創建dba用戶:
postgres# create role source password 'source' createdb login;
查看用戶信息:
postgres# select rolename, oid from gp_roles;
顯示信息如下
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。