概要

本文章中图片仅做参考,具体设置内容需结合自己所创建的内容来实际设置,本次安装中,主机仅做节点分发,不做数据存储,由从机做数据存储,安装教程适用于Greenplum5.13、Greenplum6.10、Greenplum6.81等版本,因为安装过程中需要频繁的切换用户以及环境变量是否存在等问题,所以需要格外注意

系统信息

三台Ubuntu操作系统(18.04)
数据库:Greenplum5.13.0

节点

IP

内存

硬盘

mdw

192.168.1.11

16G

500G

sdw1

192.168.1.13

16G

500G

sdw2

192.168.1.15

16G

500G

配置网络

将网络配置成手动模式的固定网络,因为在内网中,所以我们需要将每台机器的网络都设置成为固定的IP,点击网络连接 – 有线连接 已连接 – 有线设置 – ipv4

greenplum集群数据迁移到单点greenplum greenplum集群安装_vim

安装文件授权解压

将安装的文件拷贝上去,然后解压到 /usr/local/ 文件夹下
首先需要给用户授权:

sudo chown -R mdw /usr/local/

然后解压到 /usr/local/ 文件夹下,我们的文件路径为: /usr/local/greenplum-db-5.13.0 处

将安装包放入服务器中,并解压安装

一定要提前将安装包解压安装好,否者用户会出现一些权限的错误导致安装时需要认证

配置SSH

安装所缺的依赖,每台机器都需要安装,确保工具远程连接能够连接到,安装并输入密码

sudo apt-get install net-tools vim -y

安装ssh服务器,并确认

sudo apt-get install openssh-server

检查防火墙设置,关闭防火墙

sudo ufw disable

检验是否成功,运行下面的命令

ssh localhost

创建root用户密码

创建密码:

sudo passwd root

输入密码:111111
切换用户:

su root

输入密码:111111

编辑hosts文件

将主机和从机的ip以及别名添加到该文件中

vim /etc/hosts

添加内容,根据实际IP情况进行设置

192.168.1.11    mdw
192.168.1.13    sdw1
192.168.1.15    sdw2

greenplum集群数据迁移到单点greenplum greenplum集群安装_数据库_02

配置系统参数

设置共享内存参数以及网络的参数配置

vim /etc/sysctl.conf

每一台主机上都要在最后方添加

kernel.shmmax = 500000000
kernel.shmmni = 4096
kernel.shmall = 4000000000
kernel.sem = 250 512000 100 2048
kernel.sysrq = 1
kernel.core_uses_pid = 1
kernel.msgmnb = 65536
kernel.msgmax = 65536
kernel.msgmni = 2048
net.ipv4.tcp_syncookies = 1
net.ipv4.conf.default.accept_source_route = 0
net.ipv4.tcp_tw_recycle = 1
net.ipv4.tcp_max_syn_backlog = 4096
net.ipv4.conf.all.arp_filter = 1
net.ipv4.ip_forward=0
net.ipv4.ip_local_port_range = 1025 65535
net.core.netdev_max_backlog = 10000
net.core.rmem_max = 2097152
net.core.wmem_max = 2097152
vm.overcommit_memory = 2

greenplum集群数据迁移到单点greenplum greenplum集群安装_重启_03

修改limits.conf文件

vim /etc/security/limits.conf

将以下文件写入该文件中

* soft nofile 65536
* hard nofile 65536
* soft nproc 131072
* hard nproc 131072

greenplum集群数据迁移到单点greenplum greenplum集群安装_数据库_04

设置预读块的值
查看预读块大小,此时预读块大小应该为 256

/sbin/blockdev --getra /dev/sda

设置预读块大小为16384

/sbin/blockdev --setra 16384 /dev/sda
/sbin/blockdev --setra 16384 /dev/sda1
/sbin/blockdev --setra 16384 /dev/sda2

然后重启,让相关的文件生效

shutdown -r now

建立专有用户gpadmin

切换root用户

su root

输入密码: 111111
进行用户创建

sudo groupadd -g 530 gpadmin

sudo useradd -g 530 -u 530 -m -d /home/gpadmin -s /bin/bash gpadmin

授权

sudo chown -R gpadmin:gpadmin /home/gpadmin/

sudo passwd gpadmin

为GPCC的文件夹授权(如不安装GPCC可不做此操作)

chown -R gpadmin:gpadmin /usr/local/

密码:111111

再次输入密码:111111

greenplum集群数据迁移到单点greenplum greenplum集群安装_postgresql_05

如出现错误提示:

问题一:sudo: 致命错误,无法加载插件

执行下面两个命令修改文件权限

$ chmod 644 /usr/lib/sudo/sudoers.so
$ chown -R root /usr/lib/sudo

问题二:sudo: /usr/bin/sudo 必须属于用户 ID 0(的用户)并且设置 setuid 位

切换root用户

su root 
111111

修改greenplum_path.sh中的GPHOME

vim /usr/local/greenplum-db-5.13.0/greenplum_path.sh

修改成自己的版本

GPHOME=/usr/local/greenplum-db-5.13.0

greenplum集群数据迁移到单点greenplum greenplum集群安装_vim_06

切换用户:

su gpadmin

让资源生效:

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

查看环境变量

env

如果环境变量中有 GPHOME 的信息,及代表环境变量生效,并且要注意是否能够通过 GPHOME 所显示的路径找到你所安装的地址,如找不到,需要进入你所安装的文件夹中修改 greenplum_path.sh 里面的内容指向信息

验证安装及免密登陆

创建主机文件all_hosts,将各个主机的别名写入,配置免密

vim all_hosts

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

gpssh-exkeys -f all_hosts

greenplum集群数据迁移到单点greenplum greenplum集群安装_数据库_07


greenplum集群数据迁移到单点greenplum greenplum集群安装_重启_08

验证安装及免密登录2

有可能上述免密方法执行不成功,上述方法在5.2.1中执行是可以的,后来装6.2.0执行不成功,所以用了下面这种方法来授权免密:
配置ssh直接访问,进行操作之前需要切换用户为gpadmin:gpadmin,毕竟我们接下来的操作是要在gpadmin的权限下进行的

su gpadmin

在xiaoyao上执行如下命令来生成唯一密钥(之后将会scp到另外三台电脑上):

ssh-keygen
cp ~/.ssh/id_isa.pub ~/.ssh/authorized_keys
chomd 600 ~/.ssh/authorized_keys
chmod 700 ~/.ssh/

在其他三台电脑上通过命令:

scp -r gpadmin@mdw:~/.ssh/authorized_keys ~/.ssh/authorized_keys
scp -r gpadmin@mdw:~/.ssh/id_rsa ~/.ssh/id_rsa
scp -r gpadmin@mdw:~/.ssh/id_rsa.pub ~/.ssh/id_rsa.pub

然后ssh配置文件拷贝到本地。
接下来,便可以通过在任意一台电脑上以gpadmin的身份执行:

ssh gpadmin@mdw,
ssh gpadmin@sdw1,
ssh gpadmin@sdw2,
ssh gpadmin@sdw3

你必须首次创建.ssh目录和authorized_keys文件,否则将不会出现authorized_keys

解决方法, 创建authorized_keys文件

touch ~/.ssh/authorized_keys

设置正确的权限,权限很重要,如果没有权限,则无法工作!

chmod 600 ~/.ssh/authorized_keys

现在你可以将公钥添加到authorized_keys文件

cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys

创建数据目录/存储区域,并进行授权

使用root用户创建文件夹,在所有节点执行下面的操作,并查看是否创建成功

su root

密码:111111

sudo mkdir -p /data/greenplum_data/primary

sudo mkdir -p /data/greenplum_data/mirror

sudo mkdir -p /data/greenplum_data/gpmaster

sudo chown -R gpadmin:gpadmin /data/

cd /data/greenplum_data/

ls

greenplum集群数据迁移到单点greenplum greenplum集群安装_重启_09

同步系统时间

在各个机器安装 ntp

apt install -y ntp

修改/etc/ntp.conf :

vim /etc/ntp.conf

添加 :

server mdw

greenplum集群数据迁移到单点greenplum greenplum集群安装_重启_10


执行命令生效

ntpd

初始化GP数据库系统

su gpadmin

cp  /usr/local/greenplum-db-5/docs/cli_help/gpconfigs/gpinitsystem_config ~/gpinitsystem_config

chmod 775 gpinitsystem_config

vim gpinitsystem_config

具体配置内容如下,需要换成自己的路径,图片仅做参考

greenplum集群数据迁移到单点greenplum greenplum集群安装_数据库_11


编辑所有子节点文件

vim all_segs

greenplum集群数据迁移到单点greenplum greenplum集群安装_postgresql_12


运行初始化工具

gpinitsystem -c gpinitsystem_config -h all_segs

开启远程访问

在mdw节点执行

vim /data/greenplum_data/gpmaster/gpseg-1/pg_hba.conf

在文件最后加上

host     all         all         0.0.0.0/0     trust

reload配置文件,在不停止集群情况下,reload配置文件,编辑文件

vim ~/.bashrc

添加插入

MASTER_DATA_DIRECTORY=/data/greenplum_data/gpmaster/gpseg-1

执行生效该配置

export MASTER_DATA_DIRECTORY

资源载入

source /home/gpadmin/.bashrc

重启数据库

关闭数据库

gpstop

重启数据库

gpstart

完成操作后,您可以创建数据库,登录并开始执行查询和插入数据。

操作数据库

创建数据库

createdb demo

进入数据库

psql demo

greenplum集群数据迁移到单点greenplum greenplum集群安装_数据库_13

常用命令

电脑重启

shutdown -r now

查看集群状态

gpstate –m | -e

重启集群

gpstop –a –r

停止集群

gpstop –a

psql命令行退出

\q

停止数据库后再次启动如报错可能还需执行

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

export MASTER_DATA_DIRECTORY

source /home/gpadmin/.bashrc

然后执行

gpstart

启动数据库

停止cus服务,不让它写日志

如果不做此操作,系统可能会一直写错误日志,导致内存不断减少,最终磁盘空间不足导致从机宕机,原因可能是上面授权时,权限授的过大,导致无用日志写入

sudo service cups stop

文件下载

可从官网进行下载,Greenplum为Ubuntu操作系统提供了一个二进制文件 。可以通过apt-get命令将其安装在Ubuntu Personal Package Archive系统中,也可以在官网下载某一个版本的 rpm 文件进行安装,我上传了5.13.0版本的安装文件