greenplum安装部署

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/double_happiness/article/details/83275815

环境:centos7.5  64位操作系统

[gpadmin@mdw ~]$ cat /etc/redhat-release

CentOS Linux release 7.5.1804 (Core)

[gpadmin@mdw ~]$ uname -a

Linux mdw 3.10.0-862.el7.x86_64 #1 SMP Fri Apr 20 16:44:24 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux

安装前准备

(1)关闭selinux

sudo sed -i '/SELINUX/s/enforcing/disabled/' /etc/selinux/config

(2)关闭防火墙及防火墙相关操作

firewall-cmd -stat    //查看防火墙状态,状态为running或not running

Systemctl stop firewalld.service       //关闭防火墙

systemctl disable firewalld.service    //禁止firewall开机启动

systemctl enable firewalld.service     //允许firewall开机启动

systemctl disable firewalld.service    //禁止firewall开机启动

systemctl enable firewalld.service     //允许firewall开机启动

(3)修改完后重启

(4)开启防火墙预留greenplum数据库端口

firewall-cmd --zone=public --permanent --add-port=5432/tcp

(5)重载服务器

firewall-cmd –reload

(6)检测端口是否开启

firewall-cmd --query-port=5432/tcp        //开启为yes,否则为firewalld is not running

(7)进行共享内存与网路参数的配置

sudo vim /etc/sysctl.conf在打开的文件中添加如下信息

net.ipv4.ip_forward = 0

net.ipv4.conf.default.accept_source_route = 0

kernel.sysrq = 1

kernel.core_uses_pid = 1

net.ipv4.tcp_syncookies = 1

kernel.msgmnb = 65536

kernel.msgmax = 65536

kernel.sem = 250 64000 100 512

kernel.shmmax = 500000000

kernel.shmmni = 4096

kernel.shmall = 4000000000

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

(8)在/etc/security/limits.conf中添加限制参数

* soft nofile 65536    //可打开的文件描述符最大数(软限制)

* hard nofile 65536    //可打开的文件描述符最大数(硬限制)

* soft nproc 131072    //单个用户可用的最大进程数量(软限制)

* hard nproc 131072    //单个用户可用的最大进程数量(硬限制)

(9)重启系统使得配置生效

sysctl -p

(10)安装greenplum

方法一:源码安装(源码安装的过程中需要不断的安装相应依赖包)

git clone https://github.com/greenplum-db/gpdb

make

make check

make install

方法二:软件包安装

在官方下载相应的安装软件包https://network.pivotal.io/解压安装到具体的路径中,安装完成后如下图所示:

单机模式配置

在当前服务器上面配置一个master一个segment一个segmentmirror

(1)配置host解析

vim /etc/hosts    //添加以下内容

IP mdw sdw        //IP为当前服务器的IP,本服务器使用的位192.168.2.147

(2)创建greenplum数据的管理账户和用户组gpadmin

groupadd gpadmin

useradd -g gpadmin gpadmin

passwd gpadmin    //设置用户密码

(3)修改greenplum安装目录的用户和用户组

chown -R gpadmin /usr/local/Greenplum-db-5.11.0

chgrp -R gpadmin /usr/local/Greenplum-db-5.11.0

(4)切换到gpadmin账户,并在家目录下面建立master和segment的数据存放目录

mkdir -p /home/gpadmin/masterdata

mkdir -p /home/gpadmin/segmentdata

mkdir -p /home/gpadmin/segmentmirror

(5)创建包含所有主机名的文件

vim /home/gpadmin/all_host    //在文件中添加以下内容

mdw

sdw

(6)创建包含segment主机名的文件

vim /home/gpadmin/seg_host    //在文件中添加以下内容

sdw

(7)将主机名修改为mdw

先执行:hostnamectl set-hostname "mdw" 

在执行:hostname mdw

在/etc/sysconfig/network中添加mdw

(8)将MASTER_DATA_DIRECTORY加入到Master主机环境,修改gpadmin的.bashrc文件

if [ -f /etc/bashrc ]; then    //防止家目录的消失

        . /etc/bashrc

fi

export MASTER_DATA_DIRECTORY=/home/gpadmin/masterdata/gpseg-1

source /usr/local/greenplum-db-5.11.0/greenplum_path.sh

(9)将机器中的Python库全部复制到greenplum数据库的lib库目录下,这样做的原因是防止在执行gp相关的命令时出现各种各样的保存信息

\cp -R -f /usr/lib64/python2.7/site-packages/ /usr/local/greenplum-db-5.11.0/lib/python

(10)编辑greenplum初始化配置文件

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)

(11)建立免密登录,免去登录密码的麻烦,执行命令出现报错时,返回到(8)检查配置的路径

gpssh-exkeys -f /home/gpadmin/all_hosts

(12)初始化数据库(会出现很多各种错误)

gpinitsystem -c /home/gpadmin/gpinitsystem_config

(13)执行完成功后会有两个成功提示,然后在执行gpstop看是否成功

集群扩展

将当前服务器修改为一个master三个segment

(1)配置host解析

vim /etc/hosts    //添加以下内容

IP mdw sdw1 sdw2 sdw3        //IP为当前服务器的IP,本服务器使用的位192.168.2.147

(2)创建greenplum数据的管理账户和用户组gpadmin(如果用户已存在则不需要)

groupadd gpadmin

useradd -g gpadmin gpadmin

passwd gpadmin    //设置用户密码

(3)修改greenplum安装目录的用户和用户组(权限存在时不需要)

chown -R gpadmin /usr/local/Greenplum-db-5.11.0

chgrp -R gpadmin /usr/local/Greenplum-db-5.11.0

(4)切换到gpadmin账户,并在家目录下面建立master和segment的数据存放目录

mkdir -p /home/gpadmin/masterdata

mkdir -p /home/gpadmin/segmentdata1

mkdir -p /home/gpadmin/segmentdata2

mkdir -p /home/gpadmin/segmentdata3

(5)创建包含所有主机名的文件

vim /home/gpadmin/all_host    //在文件中添加以下内容

mdw

sdw1

sdw2

sdw3

(6)创建包含segment主机名的文件

vim /home/gpadmin/seg_host    //在文件中添加以下内容

sdw1

sdw2

sdw3

(7)将主机名修改为mdw(若已经修改过则这步不在需要)

先执行:hostnamectl set-hostname "mdw" 

在执行:hostname mdw

在/etc/sysconfig/network中添加mdw

(8)将MASTER_DATA_DIRECTORY加入到Master主机环境,修改gpadmin的.bashrc文件(若已经修改过则这步不在需要)

if [ -f /etc/bashrc ]; then    //防止家目录的消失

        . /etc/bashrc

fi

export MASTER_DATA_DIRECTORY=/home/gpadmin/masterdata/gpseg-1

source /usr/local/greenplum-db-5.11.0/greenplum_path.sh

(9)将机器中的Python库全部复制到greenplum数据库的lib库目录下,这样做的原因是防止在执行gp相关的命令时出现各种各样的保存信息(若已经复制过则这步不在需要)

\cp -R -f /usr/lib64/python2.7/site-packages/ /usr/local/greenplum-db-5.11.0/lib/python

(10)编辑greenplum初始化配置文件

ARRAY_NAME="EMC Greenplum DW"

SEG_PREFIX=gpseg

PORT_BASE=33000

declare -a DATA_DIRECTORY=(/home/gpadmin/segmentdata1 /home/gpadmin/segmentdata2 /home/gpadmin/segmentdata2)        //多个segment直接进行拼接

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

(11)建立免密登录,免去登录密码的麻烦,执行命令出现报错时,返回到(8)检查配置的路径,如果已经配置过则需要将原来配置的信息删除重新生成新的配置信息

gpssh-exkeys -f /home/gpadmin/all_hosts

(12)初始化数据库(会出现很多各种错误)

gpinitsystem -c /home/gpadmin/gpinitsystem_config

(13)执行完成功后会有两个成功提示,然后在执行gpstop看是否成功

猜你喜欢

转载自blog.csdn.net/double_happiness/article/details/83275815
今日推荐