关于 GreenPlum 的介绍可以参考前一篇文章,这篇文章主要介绍 GreenPlum 3.6.1 详细安装步骤。
1 实验环境
1.1 硬件环境
一台 2G内存的联想 SL410K 双核笔记本, 并安装三台Linux虚拟机。
1.2虚拟机配置
节点 | IP | 内存 | 硬盘 |
---|---|---|---|
gpmaster | 192.168.1.50 | 400MB | 15GB |
gpnode1 | 192.168.1.51 | 400MB | 15GB |
gpnode2 | 192.168.1.52 | 400MB | 15GB |
1.3 本文中用到的术语
master host : 主节点主机
segment host : 子节点主机
2修改master, segments主机参数 (所有主机上执行)
2.1 修改 /etc/sysctl.conf 添加以下
1 |
kernel.shmmax = 500000000 |
2.2 修改 /etc/security/limits.conf ,添加以下
1 |
* soft nofile 65536 |
2.3 修改 /etc/hosts ,添加以下
1 |
192.168.1.50 gpmaster |
3 增加操作系统greenplum用户并创建数据目录(所有节点上执行)
3.1增加 greenplum 组和用户
1 |
[root@gpmaster greenplum-db] |
3.2配置环境变量
将文件 /opt/greenplum-db/greenplum_path.sh 写入 /home/greenplum/.bash_profile
source .bash_profile
3.3创建 segment 数据目录
1 |
mkdir -p / /gp_data/ |
3.4创建 sgement 镜像目录
1 |
mkdir -p /opt/gp_data/mdata |
说明:上面两个步骤也可以等配置好主机之前等效性用 gpssh 执行。 gpssh可以同时连接所有子节点主机并进行操作。
4 在Master节点上安装 Greenplum 软件
4.1 下载介质
在官网 http://gpn.greenplum.com/download.php 下载
4.2 解压
1 |
unzip greenplum-db-3[1].3.6.1-build-1-RHEL5-i386.zip |
4.3 安装 Greenplum软件
1 |
# /bin/bash greenplum-db-3.3.6.1-build-1-RHEL5-i386.bin |
提示“yes” 接受协议 和安装路径, 默认的是“(/usr/local/greenplum-db-3.3.6.0)” ,我这里选择的是 “/opt/greenplum-db-3.3.6.1” ,安装结束后会自动创建一个软链接,如
1 |
[root@gpmaster opt]# ll /opt |
5 在所有子节点主机上安装 greenplumn 软件
5.1创建节点配置文件
1 |
vi /home/greenplum/all_host_file 添加以下内容 |
5.2 执行文件greenplum_path.sh,设定环境变量
1 |
[root@gpmaster greenplum] |
5.3以 root 用户交换密钥
1 |
[root@gpmaster greenplum]# gpssh-exkeys -f /home/greenplum/all_host_file |
5.4以 greenplum 用户交换密钥
1 |
[root@gpmaster greenplum]# su - greenplum |
5.5将主节点上 greenplum 软件复制到 所有segments 主机 ( 主节点上操作 )
1 |
1 cd /opt |
5.6同步系统时钟(如果配置了 ntpd服务)
1 |
gpssh -f / /greenplum-db/all_hosts_file ntpd |
6 初始化 Greenplum (on Master )
6.1 copy 配置文件模板
1 |
cp $GPHOME/docs/cli_help/gp_init_config_example /home/greenplum/gp_init_config |
6.2修改配置文件 gp_init_config ,修改以下参数
1 |
ARRAY_NAME="Greenplum" |
上面是偶配置的参数,比较重要的两个参数是 “DATA_DIRECTORY” 和 “MIRROR_DATA_DIRECTORY” ,DATA_DIRECTORY 是指 segment主机 primary 实例的数据目录,MIRROR_DATA_DIRECTORY是指 segment 主机 mirror 实例的数据目录,这样一份配置,当后面执行 gpinitsystem 时,会在每一台 segment
主机上创建一个 primary 实例和 一个 mirror 实例。
6.3先检查下OS配置是否满足需求
1 |
[greenplum@gpmaster ~]$ gpcheckos -f all_host_file |
根据输出文件信息,看到”-[INFO]:-Greenplum Database instance successfully created” 说明 Greenplum 安装成功。
6.4 修改 .bash_profile,增加一行,配置 Maser 节点环境变量
1 |
export MASTER_DATA_DIRECTORY=/opt/gp_data/gp-1 |
7 测试
7.1连接测试
1 |
[greenplum ~]$ psql template1 |
7.2创建用户
1 |
template1=# CREATE ROLE warehouse LOGIN ENCRYPTED PASSWORD 'warehouse' |
7.3建库
1 |
template1=# CREATE DATABASE warehouse |
8 常见问题
8.1 Master 连接不上,报以下 Error
1 |
[greenplum@gpmaster ~]$ psql template1 |
同时数据库日志信息 ( csv log )
1 |
2011-04-13 20:48:42.195865 CST,,,p13846,th1756048,,,,0,con3,,seg-1,,,,,"LOG","00000","FTS: test connection failed, dbid 2 dbname postgres error message 'could not connect to server: No route to host |
解决方法:从数据库日志可以看出Master无法连接 gpnode1 的 50001端口和 gpnode2 的 60001 端口,原因是防火墙问题端口权限没打开,只要开通数据库端口权限即可;
原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/tech/database/236388.html