环境:centos7,greenPlum6.0
下载安装包和依赖包:https://pan.baidu.com/s/1vUBcSjEb1WZCOhPL5zZhgA
提取码:u9th
1、安装环境准备 (所有安装节点)
1.1关闭selinux
vim /etc/selinux/config
修改SELINUX=disabled
1.2关闭防火墙
检查防火墙的服务状态
systemctl status firewalld.service
若已关闭,则不执行以下命令 :
systemctl stop firewalld.service#停止防火墙systemctl disable firewalld.service #禁用防火墙
注:如果防火墙不能关闭,所有安装节点的防火墙将相互开放。
1.3修改主机名
hostnamectl set-hostname gp01
1.4修改/etc/hosts文件
vim /etc/hosts
10.36.30.251 gp0110.36.30.252 gp0210.36.30.253 gp03
2.操作系统参数设置 (所有安装节点)
2.1 sysctl.conf修改
vim /etc/sysctl.conf
net.ipv4.ip_forward = 0net.ipv4.conf.default.accept_source_route = 0kernel.sysrq = 1kernel.core_uses_pid = 1net.ipv4.tcp_syncookies = 1kernel.msgmnb = 65536kernel.msgmax = 65536kernel.sem = 25064000100512kernel.shmmax = 500000000kernel.shmmni = 4096kernel.shmall = 4000000000net.ipv4.tcp_tw_recycle=1net.ipv4.tcp_max_syn_backlog=4096net.core.netdev_max_backlog=10000vm.overcommit_memory=2net.ipv4.conf.all.arp_filter = 1
修改后保存文件并使用sysctl -p使配置生效
2.2 limits.conf修改
vim /etc/security/limits.conf
* soft nofile 65536* hard nofile 65536* soft nproc 131072* hard nproc 131072
2.3 磁盘预读参数和 deadline算法修改
执行以下两项命令:
blockdev --setra 65536 /dev/sdaecho deadline > /sys/block/sda/queue/scheduler
3.配置ssh免密登录
3.1 创建用户和用户组(所有安装节点)
创建用户gpadmin
并设置用户组gpadmin
密码
groupadd gpadminuseradd gpadmin -r -m -g gpadminpasswd gpadmin
3.2 配置免密登录(master服务器)
1、切换到gpadmin
用户:
su gpadmin
2、进入到用户的~/.ssh
目录下:
cd ~/.ssh
3、执行下面命令后按四个回车键:
ssh-keygen -t rsa
4、再利用ssh-copy-id
命令把生成的公钥copy到需要免密登陆其他的服务节点上
ssh-copy-id 10.36.30.252ssh-copy-id 10.36.30.253
根据提示,输入对应密码后就可以使用ssh进行免密登陆了。
5、若ssh免密登录失败,可能是文件夹或用户权限问题,在登录失败的服务器执行:
chmod 700 ~/.ssh/chmod 700 /home/gpadminchmod 600 ~/.ssh/authorized_keys
4 安装greenPlum数据库
4.1数据库安装(所有安装节点)
1、普通用户无yum权限,先切换到root用户下,将GP安装包分发到所有服务器的/opt/ 目录下,并在目录下执行rpm命令进行安装:
rpm -ivh /opt/greenplum-db-6.1.0-rhel7-x86_64.rpm
注:
1、安装时,根据提示先将缺失的所需依赖安装完毕,才可以进行GP数据库的安装。
2、若出现pkgconfig(XX) is needed by XXX.rpm,则在rpm –ivh xxx.rpm 命令后增加 --force --nodeps,进行不检查依赖安装强制安装。
例如:
rpm -ivh mysql-community-devel-8.0.17-1.el7.x86_64.rpm --force --nodeps
2、更改GP数据库目录拥有者为gpadmin用户:
chown -R gpadmin:gpadmin /usr/local/greenplum*
4.2数据库配置
1、在master机器上执行
su gpadminvim ~/.bashrc
文末添加:
source /usr/local/greenplum-db/greenplum_path.shexport PGPORT=5432export PGUSER=gpadminexport MASTER_DATA_DIRECTORY=/gpdata/master/gpseg-1export PGDATABASE=default_ databaseexport LD_PRELOAD=/lib64/libz.so.1 ps
2、在所有子节点机器上执行
vim ~/.bashrc
文末添加:
source /usr/local/greenplum-db/greenplum_path.sh
3、在master服务器上创建hostfile_exkeys文件和hostfile_segonly文件:
cd ~vim hostfile_exkeys
输入:
gp01gp02gp03
vim hostfile_segonly
输入:
gp02gp03
4、在master机器上创建数据目录:
mkdir -p /gpdata/master
5、初始化配置文件,在master机器上执行:
cd /home/gpadminmkdir gpconfigs
复制gpinitsystem_config 文件:
cp /usr/local/greenplum-db/docs/cli_help/gpconfigs/gpinitsystem_config /home/gpadmin/gpconfigs/gpinitsystem_config
修改/home/gpadmin/gpconfigs/gpinitsystem_config文件,如下:
#segment前缀SEG_PREFIX=gpseg#primary segment 起始的端口号PORT_BASE=6000#指定primary segment的数据目录,网上写的是多个相同目录,多个目录表示一台机器有多个segmentdeclare -a DATA_DIRECTORY=(/gpdata/pdata1)#master机器的hostnameMASTER_HOSTNAME=gp01#master的数据目录MASTER_DIRECTORY=/gpdata/master#master端口号MASTER_PORT=5432#指定bash的版本TRUSTED_SHELL=ssh#将日志写入磁盘的间隔,每个段文件通常 =16MB < 2 * CHECK_POINT_SEGMENTS + 1CHECK_POINT_SEGMENTS=8#mirror segment 起始的端口号MIRROR_PORT_BASE=7000#mirror的数据目录,和主数据一样,一个对一个,多个对多个declare -a MIRROR_DATA_DIRECTORY=(/gpdata/mdata1)DATABASE_NAME=default_database
6、在3台主机上创建目录:
mkdir -p /gpdata/pdata1mkdir /gpdata/mdata1
7、master机器上,执行初始化数据库命令:
cd ~gpinitsystem -c gpconfigs/gpinitsystem_config -h hostfile_segonly
4.3 数据库基本操作
1、启动数据库
gpstart
2、重启
gpstop –r
3、仅重新载入配置文件的更改
gpstop –u
4、停止数据库
gpstop
5、创建数据库
createdb test_database -E utf-8
6、创建用户
create role test password 'test' login;
7、退出数据库
\q
8、允许所有用户远程登录(master服务器执行)
vim /gpdata/master/gpseg-1/pg_hba.conf
文末添加:
host all all 0.0.0.0/0 md5
执行以下命令,使配置生效:
gpstop –u