greenplum数据库集群的安装实例
安装前简介
1、Greenplum
Greenplum数据引擎是为新一代数据仓库和大规模分析处理而建立的软件解决方案。
其最大的特点是不需要高端的硬件支持仍然可以支撑大规模的高性能数据仓库和商业智能查询。
在数据仓库、商业智能的应用上,尤其海量数据的处理方面性能极其优异。
2、greenplum数据库集群的简单认识
在安装greenplum数据库集群之前,简单认识一些集群的整体结构。集群的基层原理其实就是分布式理论,将复杂集中的任务分而治之。greenplum数据库集群分为master host 和 segment host两部分。master host只有一个,segment host可以有多个,多到多少我也不了解,网络瓶颈估计也是个问题吧。在安装greenplum数据库集群时,大部分工作都是主节点master host上完成的。
3、本安装实例中有 2 个segment host,每个host都是通过虚拟机实现的,2个虚拟机都安装在我
个人的PC上,大家在学习时可以根据自己的情况而定。
个人PC配置情况如下:
OS: Windows XP sp3
CPU: Intel Core(TM) 2 CPU 1.6GHz
内存: 2G
IP:172.16.17.230
DNS:202.101.172.35
在后面的Linux虚拟机网络设置中,IP 与个人的PC设置在同一网络下,关于虚拟机的网络设置也有些不明白的地方。
安装步骤:
1、虚拟机VirtualBox的安装
本实例用的是VirtualBox-3.2.2,大家可以到VirtualBox的官网上下载更新的版本。
VirtualBox的安装比较简单,按照安装提示就可以完成。
2、VirtualBox下Linux的安装
本实例中安装了 2 台Linux虚拟机,名字分别为:rhel-1 和 rhel-2,作为 2 个segment host,通过镜像文件安装的。
镜像文件为 rhel-server-5.4-i386-dvd.iso,大家在安装Linux时要保证是RedHat5以上的版本,
好像是greenplum的要求,记得不清了。
重点问题:
a.linux全屏问题
Linux虚拟机安装好了之后,会存在全屏问题,这个问题比较容易解决。在Linux虚拟机开启后,界面上会有“设备”选项,进入之后选择“安装增强功能”,Linux桌面将出现光盘图标,点击光盘图标进去后运行相应的可执行文件,之后重启即可。
b.VirtualBox安装好了之后,PC 的网络连接中会有VirtualBox host-only network的网络连接图标。为了设置Linux与外部网络的通信,需要一些网络设置。设置步骤如下:
1)打开本地连接的属性
2)进入属性的高级选项,设置Internel 连接共享,勾选第一个选项,并选择VirtualBox host-only network
3)打开VirtualBox host-only network的网络设置,可以看到
IP: 192.168.0.1
子网掩码:255.255.255.0
设置DNS:202.101.172.35 ,和PC的本地连接DNS 相同
c.linux虚拟机的网络设置,在VirtualBox界面上可以看到“设置”选项,进入后选择“网络”,VirtualBox有四种网络连接方式,本实例中将用到Host-only Adapter 和 Bridge Adapter 2种方式。对 2台Linux虚拟机分别进行如下的网络设置。
设置步骤:
1)在选择“网络”选项后,将看到四个网络连接
2)在网络连接1 中选择连接方式 Host-only Adapter ,并勾选“启用网络连接”
3)在网络连接1 中选择连接方式 Bridge Adapter ,并勾选“启用网络连接”
d.启动Linux虚拟机,进一步设置网络IP 。实例中的Linux都有图形化界面,所以是直接通过图形选项进行的。
设置步骤:
1)选择第一台虚拟机rhel-1的“system”-->administration-->network,将出现网络属性设置界面,可以看到 eth0 和 eth1 两个网卡
2)双击 网卡eht0,进入属性设置界面,勾选“statically setIP address”
在“general”页面设置
IP : 192.168.56.101
subnet mask :255.255.255.0
gateway: 192.168.56.1
在“route”页面设置
Address: 192.168.56.101
subnet mask :255.255.255.0
gateway: 192.168.56.1
3)双击 网卡eht1,进入属性设置界面,勾选“statically setIP address”
在“general”页面设置
IP : 172.16.17.101
subnet mask :255.255.255.0
gateway: 172.16.17.1
在“route”页面设置
Address: 172.16.17.101
subnet mask :255.255.255.0
gateway: 172.16.17.1
4)第二台虚拟机rhel-2 与第一台虚拟机rhel-1的设置类似
网卡th0的“general”页面设置
IP : 192.168.56.202
subnet mask :255.255.255.0
gateway: 192.168.56.1
在“route”页面设置
Address: 192.168.56.202
subnet mask :255.255.255.0
gateway: 192.168.56.1
网卡eth1的“general”页面设置
IP : 172.16.17.202
subnet mask :255.255.255.0
gateway: 172.16.17.1
在“route”页面设置
Address: 172.16.17.202
subnet mask :255.255.255.0
gateway: 172.16.17.1
5)选择第一台虚拟机rhel-1的“system”-->administration-->network,将出现网络属性设置界面,选择“DNS”选项,设置DNS: 202.101.172.35。
第二台虚拟机rhel-2 与第一台虚拟机rhel-1的设置类似,设置DNS: 202.101.172.35。
6)在第一台虚拟机rhel-1下 打开终端,编辑 /etc/hosts
添加代码行: 172.16.17.101 rhel-1.localdomain rhel-1
编辑 /etc/sysconfig/network
修改代码: HOSTNAME=rhel-1
在第二台虚拟机rhel-2下 打开终端,编辑 /etc/hosts
添加代码行: 172.16.17.202 rhel-1.localdomain rhel-2
编辑 /etc/sysconfig/network
修改代码: HOSTNAME=rhel-2
e.虚拟机的网络测试
安装greenplum数据库集群时,大部分工作都是主节点master host上完成的。本实例中master host为IP:172.16.3.84在机器172.16.3.84 下通过 ping来测试Linux虚拟机的网络设置是否成功,确保2台虚拟机都能和外部网络通信。
到此虚拟机的安装和设置已经完成,
3、greenplum集群的安装
1)greenplum集群软件greenplum官网上下载,本实例用到的版本是greenplum-db-4.0.0.0-build-1-RHEL5-i386.zip。安装greenplum数据库集群时,大部分工作都是主节点master host上完成的。本实例中的master host为:
OS:Redhat Enterprise 5
HOSTNAME:linux84
IP:172.16.3.84
2) 所有安装机器(linux84, rhel-1, rhel-2)参数文件的修改
编辑/etc/sysctl.conf,修改下列参数项:
kernel.shmmax = 500000000
kernel.shmmni = 4096
kernel.shmall = 4000000000
kernel.sem = 250 64000 100 512
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.ip_local_port_range = 1025 65535
编辑/etc/security/limits.conf,修改下列参数项:
* soft nofile 65536
* hard nofile 65536
* soft nproc 131072
* hard nproc 131072
3)修改主节点linux84的 /etc/hosts文件
添加代码行:
172.16.3.84 linux84
172.16.17.101 rhel-1
172.16.17.202 rhel-2
4)开始安装(172.16.3.84机器上安装)
a.root用户下创建greenplum管理员用户
172.16.3.84机器
# useradd gpadmin
#passwd gpadmin
172.16.17.101机器
# useradd gpadmin
# passwd gpadmin
172.16.17.101机器
# useradd gpadmin
#passwd gpadmin
b.root用户下解压安装文件
# unzip /app/greenplum/greenplum-db-4.0.0.0-build-1-RHEL5-i386.zip
提示安装目录,输入:/app/greenplum/gp4.0
然后:
# mkdir /app/greenplum/masterdata
# chown -R gpadmin.gpadmin /app/greenplum
c.172.16.3.84机器上创建如下文件
/home/gpadmin/all_host
文件内容:
172.16.3.84
172.16.17.101
172.16.17.202
/home/gpadmin/seg_host
172.16.17.101
172.16.17.202
d.172.16.3.84机器 环境变量设置
# source /app/greenplum/gp4.0/greenplum-db/greenplum_path.sh
将文件greenplum-db/greenplum_path.sh中的环境变量
添加到pgadmin的user’s startup shell profile(such as /home/gpadmin/.bashrc)中,
然后,
$ source~/.bashrc
e. 172.16.3.84机器上交换ssh keys
在root用户运行命令:
# gpssh-exkeys -f /home/gpadmin/all_host
在gpadmin用户运行命令:
$ gpssh-exkeys -f /home/gpadmin/all_host
f.创建segment host 的安装包并传送到segment host
# su - gpadmin
$ gtar -cvf /home/gpadmin/gp.tar /app/greenplum/gp4.0
$ gpssh -f /home/gpadmin/seg_host
=>mkdir /app/greenplum
=>mkdir /app/greenplum/segdata
=>chown -R gpadmin.gpadmin /app/greenplum
$ gpscp -f /home/gpadmin/seg_host /home/gpadmin/gp.tar=:/app/greenplum
$ gpssh -f /home/gpadmin/seg_host
=>gtar --directory /app/greenplum -xvf /app/greenplum/gp.tar
=>ln -s /app/greenplum/gp4.0 /app/greenplum/greenplum-db
=>chown -R gpadmin.gpadmin /app/greenplum
=>rm /app/greenplum/gp.tar
g.所有机器的时间同步
$ gpssh-f /home/gpadmin/all_host -v date
$ gpssh-f /home/gpadmin/all_host -v ntpd
h.os的检查验证
# su - gpadmin
$ pcheckos -f /home/gpadmin/all_host
如果验证未通过,则需根据提示进行相应配置,时间未同步可以忽略。
i.创建greenplum 安装配置文件
# su - gpadmin
$ cp $GPHOME/docs/cli_help/gp_init_config_example /home/gpadmin/gp_init_config
$ vi gp_init_config
文件 gp_init_config 内容如下:
ARRAY_NAME="Greenplum"
MACHINE_LIST_FILE=/home/gpadmin/seg_host
SEG_PREFIX=gpseg
PORT_BASE=50000
declare-a DATA_DIRECTORY=(/app/greenplum/segdata /app/greenplum/segdata)
MASTER_HOSTNAME=mdw1
MASTER_DIRECTORY=/app/greenplum/masterdata
MASTER_PORT=5432
TRUSTED SHELL=ssh
CHECK_POINT_SEGMENT=8
ENCODING=UNICODE
j.初始化数据库
# su - gpadmin
$ gpinitsystem -c /home/gpadmin/gp_init_config
=>Continue with Greenplum creation? y
=>Greenplum Database instance successfully created.
k.将MASTER_DATA_DIRECTORY加入环境中
修改 gpadmin用户的.bash_profile以及/etc/profile,加入
MASTER_DATA_DIRECTORY=/app/greenplum/masterdata
export MASTER_DATA_DIRECTORY
整个安装过程完成。