概要
本文章中图片仅做参考,具体设置内容需结合自己所创建的内容来实际设置,本次安装中,主机仅做节点分发,不做数据存储,由从机做数据存储,安装教程适用于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
安装文件授权解压
将安装的文件拷贝上去,然后解压到 /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
配置系统参数
设置共享内存参数以及网络的参数配置
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
修改limits.conf文件
vim /etc/security/limits.conf
将以下文件写入该文件中
* soft nofile 65536
* hard nofile 65536
* soft nproc 131072
* hard nproc 131072
设置预读块的值
查看预读块大小,此时预读块大小应该为 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
如出现错误提示:
问题一: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
切换用户:
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
验证安装及免密登录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
同步系统时间
在各个机器安装 ntp
apt install -y ntp
修改/etc/ntp.conf :
vim /etc/ntp.conf
添加 :
server mdw
执行命令生效
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
具体配置内容如下,需要换成自己的路径,图片仅做参考
编辑所有子节点文件
vim all_segs
运行初始化工具
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
常用命令
电脑重启
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版本的安装文件