1.master节点安装
去http://pivotal.io/big-data/pivotal-greenplum 找到下载地址,我下载的是greenplum-db-4.1.1.8-build-2-RHEL5-x86_64.zip
unzip greenplum-db-4.1.1.8-build-2-RHEL5-x86_64.zip
./greenplum-db-4.1.1.8-build-2-RHEL5-x86_64.bin
按照提示输入路径 如/home/greenplum-4.3
yes
解压结束后,系统会自动创建一个到安装路径的软链接叫greenplum-db
source /home/greenplum-4.3/greenplum_path.sh
chown -R gpadmin:gpadmin greenplum-4.3
chown -R gpadmin:gpadmin greenplum-db
2.创建节点文件和segment文件,注意权限是gpadmin
vi /home/gpadmin/all_hosts
mdw
sdw1
hd06
vi /home/gpadmin/seg_hosts
sdw1
hd06
3.安装文件
会自动在所有节点安装软件和创建好ln -s greenplum-db的软链接 root用户执行(注意先配置好root的无密码访问,否则会输入密码,方式按照前一篇文件)
gpseginstall -f /home/gpadmin/all_hosts -u gpadmin -p gpadmin_2015
安装过程中,会在屏幕出现很多信息,在安装完毕后可以使用如下的命令进行验证
gpssh -f /home/gpadmin/all_hosts -e ls -l $GPHOME
如果输出所有机器的结果,则说明安装成功,可以分别登陆到segment机器上去验证/home/greenplum-4.3是否存在以及greenplum-db的软链接是否创建成功
4.在所有机器上均执行
su - gpadmin
vi .bashrc
source /home/greenplum-4.3/greenplum_path.sh
---增加这句会导致yum不能用 去掉因为默认已经有python2.6了,使用GP开启这句,否则关闭这句就行
vi .bash_profile
GPHOME=/home/greenplum-4.3
PATH=$PATH:$HOME/bin:$GPHOME/bin
export PATH
5.创建数据目录(root权限)
mkdir -p /home/greenplum-4.3/data/master
chown gpadmin:gpadmin /home/greenplum-4.3/data/master
gpssh -f /home/gpadmin/seg_hosts -e 'mkdir -p /home/gpadmin/data/primary'
gpssh -f /home/gpadmin/seg_hosts -e 'chown gpadmin:gpadmin /home/gpadmin/data/primary'
#如果有master的standby执行下面的
gpssh -h standby主机名 -e 'mkdir /home//greenplum_4.3/data/master'
gpssh -h standby主机名 -e 'chown -R gpadmin:gpadmin /home//greenplum_4.3/data/master'
6.检查环境
1.检查主机名 gpcheck -f /home/gpadmin/all_hosts -m mdw
在这步就出现的错误进行修正
(1)on device (/dev/sda1) blockdev readahead value '256' does not match expected value '16384'
原因:设备文件的预读大小 默认是256
inux的文件预读readahead,指Linux系统内核将指定文件的某区域预读进页缓存起来,便于接下来对该区域进行读取时,
不会因缺页(page fault)而阻塞。因为从内存读取比从磁盘读取要快很多。预读可以有效的减少磁盘的寻道次数和
应用程序的I/O等待时间,是改进磁盘读I/O性能的重要优化手段之一。
检查:/sbin/blockdev --getra /dev/sda 256
修改:临时修改
/sbin/blockdev --setra 16384 /dev/sda
/sbin/blockdev --setra 16384 /dev/sda1
/sbin/blockdev --setra 16384 /dev/sda2
必须将其写入配置文件/etc/rc.local,否则重启就会失效
vi /etc/rc.local在后面增加上面内容
(2) /etc/sysctl.conf的很多error,取值比默认值大的不用管,小的注意
/etc/sysctl.conf value for key 'kernel.sysrq' has value '0' and expects '1'
原因:SysRq代表的是Magic System Request Key。开启了这个功能以后,只要内核没有挂掉,它就会响应你要求的任何操作
修改:vi /etc/sysctl.conf 修改kernel.sysrq=1 sysctl -p立即生效
7.性能测试(略)
8.初始化数据库
需要说明的是:第一次这里就出错了,后来发现是机器的编码不一致导致的,所有在初始化之前一定要检查所有机器的编码
Vi /etc/sysconfig/i18n
LANG="zh_CN.UTF-8"
这里是我的设置,只要确保一致就可以了,需要说明的是初始化安装的时候的字符集可以指定
LC_COLLATE ----string sort order (初始化后不能修改)
LC_CTYPE ----Character classification(初始化后不能修改)
LC_MESSAGE -----language of message
LC_MONETARY ----formatting of currency amounts
LC_NUMERIC ----formatting of numbers
LC_TIME ----formatting of dates and times
在gpinitsystem_config中的encoding=UNICODE
<strong> </strong>su - gpadmin
mkdir -p /home/gpadmin/gpconfig
cp /home/greenplum-4.3/docs/cli_help/gpconfigs/gpinitsystem_config /home/gpadmin/gpconfig
chmod 775 gpinitsystem_config
vi gpinitsystem_config
MASTER_HOSTNAME=mdw
#指定Primary Segment的数据目录, DATA_DIRECTORY参数指定每个Segment主机配置多少个Instance。如果
#### 在host文件中为每个Segment主机列出了多个网口,这些Instance将平均分布到所有列出的网口上。
declare -a DATA_DIRECTORY=(/home/gpadmin/data/primary)
MASTER_DIRECTORY=/home/greenplum-4.3/data/master
gpinitsystem -c /home/gpadmin/gpconfig/gpinitsystem_config -h /home/gpadmin/seg_hosts
vi /home/gpadmin/.bashrc
export MASTER_DATA_DIRECTORY=/home/greenplum-4.3/data/master/gpseg-1
查看ps -ef|grep postgres看进程进来没有
在gpadmin下使用gpstop和gpstart管理开停
9.登陆
注意所有机器的iptables off 或者开启4532端口
psql -d postgres
=#\q是退出
gpstat -e #查看mirror的状态,我们这次的案例没有安装mirror
gpstat -f #查看standby master的状态
gpstat -s #查看整个GP群集的状态
gpstat -i #查看GP的版本
gpstat --help #帮助文档,可以查看gpstat更多用法,
createdb daapDB -E utf-8 创建数据库
psql -d daapDB 登陆daapDB库
select version();
create table daap_tab_001(id int primary key,col1 varchar(50));
insert into daap_tab_001 select 1,'daap' ;
select * from daap_tab_001;
10.客户端连接
我们在使用pgAdminIII进行客户端登陆的提示,会提示在pg_hba.conf中没有记录,原因是默认是不开启非本地登陆的,需要我们编译下
pg_hba.conf文件在我们的pghome的根目录MASTER_DIRECTORY指定的路径
vi /home/greenplum-4.3/data/master/gpseg-1/pg_hba.conf增加
host all all 192.168.151.3/32 trust
host all all 192.168.151.0/24 trust #151段的都可以,如果是0.0.0.0/0是所有ip MD5是需要密码
gpstop然后gpstart 或者使用gpstop -r