[新手教程]GP5.14版本安装环境—详细完整篇

ronpris
ronpris
ronpris
253
文章
1
评论
2020年3月18日19:56:33 评论 186 4309字阅读14分21秒

在本地环境搭建的一套集群,每执行一步,做一遍记录,内容比较繁琐,直接按照步骤操作基本上就可以完成。
本次搭建的集群规模如下:

主机类别 主机名 主机IP
管理节点 gma01 192.168.192.10
备节点 gma02 192.168.192.11
数据节点 gdata01 192.168.192.12
gdata02 192.168.192.13
[root@gma01 yum.repos.d]# cat /etc/redhat-release

Red Hat Enterprise Linux Server release 7.4 (Maipo)
greenplum-db-5.14.0-rhel7-x86_64.zip

(一)配置root互信,方便之后传文件使用
(1)各个服务器分别执行

[root@gma01 ~]# ssh-keygen -t rsa
[root@gma02 ~]# ssh-keygen -t rsa
[root@gdata01 ~]# ssh-keygen -t rsa
[root@gdata02 ~]# ssh-keygen -t rsa

(2)将生成完的id_rsa.pub统一放到一台主机上

[root@gma02 ~]# scp ~/.ssh/id_rsa.pub 192.168.192.10:~/.ssh/pub-1
[root@gdata01 ~]# scp ~/.ssh/id_rsa.pub 192.168.192.10:~/.ssh/pub-2
[root@gdata02 ~]# scp ~/.ssh/id_rsa.pub 192.168.192.10:~/.ssh/pub-3

(3)将所有主机的id_rsa.pub统一追加到authorized_keys中,做一次整合

[root@gma01 ~]# cat ~/.ssh/id_rsa.pub >> authorized_keys
[root@gma01 ~]# cat ~/.ssh/pub-1 >> authorized_keys
[root@gma01 ~]# cat ~/.ssh/pub-2 >> authorized_keys
[root@gma01 ~]# cat ~/.ssh/pub-3 >> authorized_keys

(4)将整合完的autuorized_keys分发到各个服务器上

[root@gma01 ~]# scp ~/.ssh/authorized_keys 192.168.192.11:~/.ssh/authorized_keys
[root@gma01 ~]# scp ~/.ssh/authorized_keys 192.168.192.12:~/.ssh/authorized_keys
[root@gma01 ~]# scp ~/.ssh/authorized_keys 192.168.192.13:~/.ssh/authorized_keys

(5)验证服务器互信是否正常

[root@gma01 ~]# ssh 192.168.192.11 date
[root@gma01 ~]# ssh 192.168.192.12 date
[root@gma01 ~]# ssh 192.168.192.13 date

(6)如果互信不生效,可以尝试修改互信权限

[root@gma01 ~]# chmod 700 ~/.ssh
[root@gma01 ~]# chmod 600 ~/.ssh/authorized_keys

互信完成

(二)关闭防火墙

systemctl status firewalld
systemctl stop firewalld.service
systemctl disable firewalld.service
iptable -L -n

(三)修改系统配置项
关闭SELINUX

vi /etc/selinux/config
SELINUX=disabled

(四)修改内核参数并执行 sysctl -p使之生效

vi /etc/sysctl.conf
kernel.shmmax = 500000000
kernel.shmmni = 4096
kernel.shmall = 4000000000
kernel.sem = 2000 4096000 2000 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.ip_forward = 0
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_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

(五)修改文件OPEN数量

vi /etc/security/limits.conf
* soft nofile 65536
* hard nofile 65536
* soft nproc 131072
* hard nproc 131072

(六)配置节点/etc/hosts

将集群内的主机名和主机IP以配对形式存放到/etc/hosts中

(七)创建gpadmin用户

groupadd -g 530 gpadmin
useradd -g 530 -u 530 -m -d /home/gpadmin -s /bin/bash gpadmin
chown -R gpadmin:gpadmin /home/gpadmin
echo "gpadmin" | passwd --stdin gpadmin

(八)开始安装GPDB
解压greenplum安装文件greenplum-db-5.14.0-rhel7-x86_64.zip

[gpadmin@gma01 opt]$ sh greenplum-db-5.14.0-rhel7-x86_64.bin

(九)创建配置文件目录

mkdir -p /home/gpadmin/gpconfig/
cd /home/gpadmin/gpconfig/
vi allhosts
gma01
gma02
gdata01
gdata02
vi seghosts
gdata01
gdata02
vi mashosts
gma01
gma02
cp /usr/local/greenplum-db/docs/cli_help/gpconfigs/gpinitsystem_config /home/gpadmin/gpconfig/

(十)配置ssh免密链接

[gpadmin@gma01 ~]$ source /usr/local/greenplum-db/greenplum_path.sh
[gpadmin@gma01 ~]$ gpssh-exkeys -f /home/gpadmin/gpconfig/allhosts

输入gpadmin用户密码
ssh测试是否连通

(十一)在segment安装部署
打包管理节点已经安装完的目录

[gpadmin@gma01 local]$ tar -cf gp.tar greenplum-db-5.14.0/

传输到seg主机上

[gpadmin@gma01 local]$ gpscp -f /home/gpadmin/gpconfig/seghosts gp.tar =:/usr/local/

在管理节点上执行解压等命令

[gpadmin@gma01 local]$ gpssh -f /home/gpadmin/gpconfig/seghosts
=> cd /usr/local
[gdata01]
[gdata02]
=> tar -xf gp.tar
[gdata01]
[gdata02]
=> ln -s ./greenplum-db-5.14.0 greenplum-db
[gdata01]
[gdata02]
=> ll

(十二)创建数据存储目录

[gpadmin@gma01 local]$ gpssh -f /home/gpadmin/gpconfig/mashosts
=> mkdir -p /home/gpadmin/data/master
[ gma01]
[ gma02]
[gpadmin@gma01 local]$ gpssh -f /home/gpadmin/gpconfig/seghosts
=> mkdir -p /data1/mirror
[gdata01]
[gdata02]
=> mkdir -p /data2/mirror
[gdata01]
[gdata02]
=> mkdir -p /data1/primary
[gdata01]
[gdata02]
=> mkdir -p /data2/primary
[gdata01]
[gdata02]
=>

(十三)配置环境变量

vi /home/gpadmin/.bash_profile
source /usr/local/greenplum-db/greenplum_path.sh
export MASTER_DATA_DIRECTORY=/home/gpadmin/data/master/gpseg-1
export GPPORT=5432
export PGDATABASE=gpdb
scp /home/gpadmin/.bash_profile gdata01:/home/gpadmin/
source /home/gpadmin/.bash_profile
source /home/gpadmin/.bash_profile

(十四)初始化前检查连通性

[gpadmin@gma01 gpconfig]$ cd /usr/local/greenplum-db/bin

双联路测试如下:

[gpadmin@gma01 bin]$ gpcheckperf -f /home/gpadmin/allseg_1 -r M -d /tmp -D >> /home/gpadmin/net_seg1-14.out
[gpadmin@gma01 bin]$ gpcheckperf -f /home/gpadmin/allseg_2 -r M -d /tmp -D >> /home/gpadmin/net_seg2-14.out

(十五)初始化

[gpadmin@gma01 gpconfig]$ gpinitsystem -c gpinitsystem_config -h seghosts

-c:指定初始化文件。
-h:指定segment主机文件。
-s:指定standby主机,创建standby节点。

 

继续阅读
[基础教程]Mysql单表查询优先级实例讲解 原创推荐

[基础教程]Mysql单表查询优先级实例讲解

这篇文章主要介绍了MySQL单表查询操作,结合实例形式详细分析了mysql单表查询的语法、约束、分组、聚合、过滤、排序等相关原理、操作技巧与注意事项,需要的朋友可以参考下 本文实例讲述了MySQL单表...
[基础教程]Linux系统常用文件管理命令 原创推荐

[基础教程]Linux系统常用文件管理命令

这篇文章主要介绍了linux文件管理命令,结合实例形式分析Linux文件管理的显示、查看、统计等相关操作命令使用技巧,需要的朋友可以参考下 本文实例讲述了linux文件管理命令。分享给大家供大家参考,...