greenplum数据库单机部署
?
執(zhí)行命令ifconfig -a
查詢出虛擬機ip地位為:192.168.191.131
2.配置hosts解析
我所謂的單機模式是指將Master和segment安裝在一臺機器上,嘗試了網(wǎng)上的各種配置發(fā)現(xiàn)并不成功,尤其是將mdw和sdw都解析成127.0.0.1的設(shè)置根本行不通。你可以嘗試設(shè)置Master為127.0.0.1,而segment為正式的ip地址,或者按我這么做:
執(zhí)行命令:vim /etc/hosts
后面添加以下內(nèi)容:
192.168.191.131?mdw sdw
注:192.168.191.131是虛擬機的ip地址
修改主機名:
永久生效:vi /etc/sysconfig/network
設(shè)置好了記得重新liunx;主機名就變成mdw。
3.關(guān)閉防火墻:
$ /sbin/chkconfig iptables off
$ /sbin/chkconfig --list iptables
如下輸出,就ok了:
iptables 0:off 1:off 2:off 3:off 4:off 5:off 6:off
4.設(shè)置/etc/selinux/config
Vim ?/etc/selinux/config?
設(shè)置SELINUX=disabled
5.設(shè)置/etc/sysctl.conf
在/etc/sysctl.conf文件中加入有關(guān)共享內(nèi)存與網(wǎng)絡(luò)參數(shù)配置
vim /etc/sysctl.conf
加入以下內(nèi)容
net.ipv4.ip_forward = 0
net.ipv4.conf.default.rp_filter = 1
net.ipv4.conf.default.accept_source_route = 0
kernel.sysrq = 0
kernel.core_uses_pid = 1
net.ipv4.tcp_syncookies = 1
net.bridge.bridge-nf-call-ip6tables = 0
net.bridge.bridge-nf-call-iptables = 0
net.bridge.bridge-nf-call-arptables = 0
kernel.msgmnb = 65536
kernel.msgmax = 65536
kernel.shmmax = 68719476736
kernel.shmall = 4294967296
net.ipv4.tcp_tw_recycle=1
net.ipv4.tcp_max_syn_backlog=4096
net.core.netdev_max_backlog=10000
vm.overcommit_memory=2
net.ipv4.conf.all.arp_filter = 1
紅色標注是我文件沒有的
6.設(shè)置/etc/security/limits.conf
在/etc/security/limits.conf中加入限制參數(shù)
vim /etc/security/limits.conf
* soft nofile 65536
* hard nofile 65536
* soft nproc 131072
* hard nproc 131072
手動執(zhí)行命令讓參數(shù)生效,當然,你也可以重啟系統(tǒng)
執(zhí)行命令:sysctl -p
7.上傳greenplum-db-4.3.14.0-rhel5-x86_64.zip
上傳greenplum-db-4.3.14.0-rhel5-x86_64.zip文件到/usr/local目錄下
?執(zhí)行命令:unzip greenplum-db-4.3.14.0-rhel5-x86_64.zip
8.創(chuàng)建gpadmin組合用戶
[root@mdw ~]# groupadd gpadmin
[root@mdw ~]# useradd -g gpadmin gpadmin
[root@mdw ~]# passwd gpadmin
New password: <gpadmin_password>
Retype new password: <gpadmin_password>
可以先設(shè)置一個簡單的,以后再改,比如gpadmin
9.安裝greenlium
[root@mdw local]# chmod u+x ./greenplum-db-4.3.14.0-rhel5-x86_64.bin
[root@mdw local]# ./greenplum-db-4.3.14.0-rhel5-x86_64.bin
將greenplum-db-4.3.14.0目錄重命名為greenplum-db(不重名也可以)
打開greenplum_path.sh
將GPHOME=/usr/local/greenplum-db-4.3.14.0 修改成GPHOME=/usr/local/greenplum-db;跟greenplum-db目錄名稱一致
修改成:
切換到gpadmin賬戶下,在home目錄下建立master和segment的數(shù)據(jù)存放目錄。你也可以自行設(shè)定數(shù)據(jù)存放目錄,如果你不是以gpadmin建立的目錄,還需要修改目錄的用戶和用戶組,最好是建在home目錄下
su - gpadmin
mkdir?-p /home/gpadmin/masterdata
mkdir?-p /home/gpadmin/segmentdata
mkdir?-p /home/gpadmin/segmentmirror
創(chuàng)建包含所有主機的文件all_hosts
vim /home/gpadmin/all_hosts
加入下面兩行
mdw
sdw
創(chuàng)建包含segment主機名的文件
vim /home/gpadmin/seg_hosts
加入下面一行
sdw
修改gpadmin用戶的.bashrc
切換到
cd /home/gpadmin執(zhí)行vim .bashrc
執(zhí)行命令vim .bashrc:
在最后添加如下內(nèi)容
source /usr/local/greenplum-db/greenplum_path.sh
export MASTER_DATA_DIRECTORY=/home/gpadmin/masterdata/gpseg-1
export PGPORT=5432
export PGUSER=gpadmin
export PGDATABASE=gpadmin
PS:greenplum_path的路徑也是根據(jù)你的gp安裝路徑來的,如果和我不一樣,自己改吧,若果路徑不對,gp命令將無法執(zhí)行,會提示沒有這個命令
然后在執(zhí)行
vi .bash_profile命令
在最后添加如下內(nèi)容
export MASTER_DATA_DIRECTORY=/home/gpadmin/masterdata/gpseg-1
export PGPORT=5432
export PGUSER=gpadmin
export PGDATABASE=gpadmin
編輯gp初始化配置文件,直接編輯一個新文件,不要復制官方目錄里的再改了,除非你想知道這些東西都是什么意思
vim /home/gpadmin/gpinitsystem_config
添加以下內(nèi)容
ARRAY_NAME="EMC Greenplum DW"
SEG_PREFIX=gpseg
PORT_BASE=33000
declare -a DATA_DIRECTORY=(/home/gpadmin/segmentdata)
MASTER_HOSTNAME=mdw
MASTER_DIRECTORY=/home/gpadmin/masterdata
MASTER_PORT=5432
MACHINE_LIST_FILE=/home/gpadmin/seg_hosts
TRUSTED_SHELL=ssh
CHECK_POINT_SEGMENTS=8
ENCODING=UNICODE
MIRROR_PORT_BASE=43000
REPLICATION_PORT_BASE=34000
MIRROR_REPLICATION_PORT_BASE=44000
declare -a MIRROR_DATA_DIRECTORY=(/home/gpadmin/segmentmirror)
PS:注意這里面的幾個路徑,如果你有多個segment,declare就多加幾個路徑,我這里只設(shè)了一個segment節(jié)點,所以只有一個路徑
添加:
建立信任關(guān)系,主要為了免密碼登錄的麻煩,若果提示命令不存在,先source一下.bashrc,如果還不對,回到第8步檢查一下你配的路徑
切換到/home/gpadmin目錄下:
gpssh-exkeys -f /home/gpadmin/all_hosts
初始化數(shù)據(jù)庫,我曾經(jīng)因為這一步執(zhí)行不成功熬了一夜,各種報錯,各種提示
gpinitsystem -c /home/gpadmin/gpinitsystem_config
$ psql postgres
2.創(chuàng)建一個新數(shù)據(jù)庫:
# create database testDB;
3.創(chuàng)建一個角色:?
# create role gpadmin with password 'gpadmin';
4.修改密碼:?
# alter role gpadmin with password 'gpadmin';
5.創(chuàng)建表:
# create table test01 (a int, b text) distributed by (a);
6.插入數(shù)據(jù):?
# insert into test01 values(1, 'hello');
# insert into test01 values(2, 'greenplum');
7.查詢:?
# select * from test01;
?a |???? b
---+-----------
?1 | hello
?3 | pivotal
?3 | haha
?2 | greenplum
(4 rows)
8.查看數(shù)據(jù)分布:?
testdb=# select gp_segment_id, count(*) from test01 group by 1;
?gp_segment_id |? count
---------------+---------
?????????????3 | 1
?????????????0 | 1
?????????????1 | 1
?????????????2 | 1
(4 rows)
9.退出:
# \q
10.停止數(shù)據(jù)庫:
$ gpstop
11.啟動服務(wù)(以gpadmin的身份啟動):
$ gpstart
總結(jié)
以上是生活随笔為你收集整理的greenplum数据库单机部署的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 水晶报表for java_水晶报表(cr
- 下一篇: 虚幻3引擎