基于centos 搭建GP集群

1.1 软件版本

名称版本
操作系统CentOS Linux release 7.9.2009 (Core)
版本GreenPlum 6.1.0

1.2 集群介绍

使用1个master,n个segment的集群示例:

服务器IP地址节点名称
172.168.10.2gp-master
172.168.10.56gp-sdw1

其中172.168.10.2为master,其余为segment。

master节点GP安装

2.1.1修改 /etc/hosts文件

注意事项:(master节点的主机名必须要修改成gp-master )
在/etc/hosts文件添加所有节点地址和名称

在这里插入图片描述

2.1.2 修改 etc/sysconfig/network文件
HOSTNAME是master节点名称
在这里插入图片描述

2.1.3 修改 /etc/sysctl.conf文件

![\[root@gp-master ~\]# vi /etc/sysctl.conf 
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.ip_forward = 0
net.ipv4.tcp_tw_recycle = 1
net.ipv4.tcp_max_syn_backlog = 4096
net.ipv4.conf.defalut.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](https://img-blog.csdnimg.cn/20210702093521216.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl8zNjcyMzAzOA==,size_16,color_FFFFFF,t_70)

[root@gp-master ~]# sysctl -p #使配置生效

2.1.4 修改 /etc/security/limits.d/90-nproc.conf文件
在这里插入图片描述

2.1.5 修改 /etc/security/limits.conf文件
[root@gp-master ~]# vi /etc/security/limits.conf
在这里插入图片描述

2.2 安装依赖和Greenplum 2.2.1 安装Gp依赖

  安装扩展源

epel-release

在这里插入图片描述

批量安装依赖包 ,建议先安装gcc,再批量安装其他依赖包

yum -y install apr-devel \
	bison \
	bzip2-devel \
	cmake3 \
	flex \
	gcc \
	gcc-c++ \
	krb5-devel \
	libcurl-devel \
	libevent-devel \
	libkadm5 \
	libxml2-devel \
	libzstd-devel \
	openssl-devel \
	perl-ExtUtils-Embed \
	python3-devel \
	python3-pip \
	readline-devel \
	xerces-c-devel \
	zlib-devel \
	apr-util \
	perl \
	curl \
	libnsl
 

在这里插入图片描述

2.2.2 安装GP

[root@gp-master ~]# mkdir -p /gpdb #创建GreenPlum文件夹
[root@gp-master ~]# yum -y install wget #安装wget
[root@gp-master ~]# wget -p https://github.com/greenplum-db/gpdb/releases/download/6.12.0/greenplum-db-6.1.0-ubuntu18.04-amd64.deb /gpdb #下载rpm安装包到/gpdb路径
[root@gp-master ~]# rpm -ivh --prefix=/gpdb /gpdb/greenplum-db-6.1.0-rhel7-x86_64.rpm #安装GreenPlum到/gpdb路径

三、segment节点GP安装

3.1 segment节点

在master节点复制配置文件和安装包到segment节点

[root@gp-master ~]# do scp /etc/hosts root@gp-sdw1:/etc/hosts ; done
[root@gp-master ~]# do scp etc/sysconfig/network root@gp-sdw1:etc/sysconfig/network ; done
[root@gp-master ~]# do scp /etc/sysctl.conf root@gp-sdw1:/etc/sysctl.conf ; done
[root@gp-master ~]# do scp /etc/security/limits.d/90-nproc.conf root@gp-sdw1:/etc/security/limits.d/90-nproc.conf ; done
[root@gp-master ~]# do scp /etc/security/limits.conf root@gp-sdw1:/etc/security/limits.conf ; done
[root@gp-master ~]# do scp /gpdb/greenplum-db-6.1.0-rhel7-x86_64.rpm root@gp-sdw1/gpdb ; done
[root@gp-master ~]# sysctl -p #使配置生效

3.2 segment节点安装GP依赖

注:与2.21小节相同

3.3 segment节点安装GP


```bash
mkdir /gpdb #创建GreenPlum文件夹
	rpm -ivh --prefix=/gpdb /gpdb/greenplum-db-6.1.0-rhel7-x86_64.rpm #安装GreenPlum到/gpdb路径

## 配置集群免密连接

## 4.1 创建gpadmin用户

## 4.1.1 所有节点创建gpadmin用户
	
```bash
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

4.1.2 所有节点修改gpadmin用户操作权限

chown -R gpadmin:gpadmin /gpdb

4.2 ssh免密配置(gpadmin用户)

4.2.1 所有节点创建.ssh文件

su - gpadmin #切换到gpadmin用户
ssh localhost #生成.ssh文件

4.2.2 所有节点生成公钥和私钥(gpadmin用户)

ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa

4.2.3 所有节点创建认证文件

在master节点生成authorized_keys文件,将authorized_keys文件复制到segment节点
[root@gp-master ~]# su - gpadmin
[gpadmin@gp-master ~]# cd /home/gpadmin/.ssh
[gpadmin@gp-master .ssh]# ssh-copy-id gp-master #生成authorized_keys文件
[gpadmin@gp-master .ssh]# do ssh gpadmin@gp-sdw1 cat /home/gpadmin/.ssh/id_rsa.pub >> /home/gpadmin/.ssh/authorized_keys; done #将segment节点公钥追加到master节点authorized_keys文件
[gpadmin@gp-master .ssh]#   do scp /home/gpadmin/.ssh/authorized_keys gpadmin@gp-sdw1:/home/gpadmin/.ssh/authorized_keys ; done #将uthorized_keys文件复制到egment节点

4.2.4 所有节点重启ssh服务(root用户)

sudo systemctl restart sshd.service

4.3 打通集群节点
4.3.1 master节点创建hostlist和seg_hosts文件
hostlist文件包含所有节点名称

[root@gp-master ~]# su - gpadmin
[gpadmin@gp-master ~]# mkdir -p /home/gpadmin/conf
[gpadmin@gp-master ~]# vi /home/gpadmin/conf/hostlist
gp-master
gp-sdw1
gp-sdw2

[gpadmin@gp-master ~]# vi /home/gpadmin/conf/seg_hosts
gp-sdw1
gp-sdw2
gp-sdw3
gp-sdw4

4.3.2 配置节点免密连接

[root@gp-master ~]# su - gpadmin
[gpadmin@gp-master ~]$ source /gpdb/greenplum-db/greenplum_path.sh
[gpadmin@gp-master ~]$ gpssh-exkeys -f /home/gpadmin/conf/hostlist
	completed successfully 测试免密连接

[gpadmin@gp-master ~]$ gpssh -f /home/gpadmin/conf/hostlist
=> pwd
[  gp-sdw1] /home/gpadmin
=> exit

五、初始化GreenPlum集群

5.1 环境配置
5.1.1 添加gp编译的python包

注意lib-python的版本
[root@gp-master ~]# echo "/gpdb/greenplum-db/lib/python" > /usr/lib64/python3.6/site-packages/greenplum.pth
[root@gp-master ~]# vi /etc/ld.so.conf
/gpdb/greenplum-db/lib
[root@gp-master ~]# ldconfig

5.1.2 创建资源目录

[root@gp-master ~]# su - gpadmin
[gpadmin@gp-master ~]$ mkdir -p /gpdb/opt/data/master #在master节点创建资源目录
 #在segment节点创建资源目录
[gpadmin@gp-master ~]$ source /gpdb/greenplum-db/greenplum_path.sh
[gpadmin@gp-master ~]$ gpssh -f /home/gpadmin/conf/seg_hosts
=> mkdir -p /gpdb/opt/data1/primary
[gp-sdw1]
=> mkdir -p /gpdb/opt/data1/mirror
[gp-sdw1]
=> exit
 ---------按需求创建

5.1.3 master节点配置环境变量

在master节点/home/gpadmin/.bash_profile添加内容

[gpadmin@gp-master ~]$ vi /home/gpadmin/.bash_profile
 添加
source /gpdb/greenplum-db/greenplum_path.sh
export MASTER_DATA_DIRECTORY=/gpdb/opt/data/master/gpseg-1
export GPPORT=5432
export PGDATABASE=gp_sydb
  将.bash_profile复制到segment节点
[gpadmin@gp-master ~]$ do scp /home/gpadmin/.bash_profile 
  
 让变量生效
=> source .bash_profile
[  gp-sdw1

]
=> exit
5.1.4 NTP配置

[root@gp-master ~]# echo "server gp-master perfer" >>/etc/ntp.conf
[root@gp-master ~]# su - gpadmin
[gpadmin@gp-master ~]$ gpssh -f /home/gpadmin/conf/hostlist -v -e 'sudo ntpd'
[gpadmin@gp-master ~]$ gpssh -f /home/gpadmin/conf/hostlist -v -e 'sudo /etc/init.d/ntpd start && sudo chkconfig --level 35 ntpd on'

5.2 初始化数据库
5.2.1 检查节点间连通性

[gpadmin@gp-master ~]$ cd /gpdb/greenplum-db/bin
[gpadmin@gp-master bin]$ gpcheckperf -f /home/gpadmin/conf/hostlist -r N -d /tmp

5.2.2 创建Greenplum初始化配置文件

[gpadmin@gp-master ~]$ cd /gpdb/greenplum-db/docs/cli_help/gpconfigs
[gpadmin@gp-master gpconfigs]$ cp gpinitsystem_config initgp_config #复制配置文件模板
[gpadmin@gp-master gpconfigs]$ vi initgp_config #修改配置文件

#资源目录,与5.1.2章节保持一致

 
declare -a DATA_DIRECTORY=(/gpdb/opt/data1/primary /gpdb/opt/data2/primary)
declare -a MIRROR_DATA_DIRECTORY=(/gpdb/opt/data1/mirror /gpdb/opt/data2/mirror) #取消注释
 
ARRAY_NAME=”gp_sydb”                                   #5.1.3章节配置的初始化数据库名称
MASTER_HOSTNAME=gp-master                              #主节点名称
MASTER_DIRECTORY=/gpdb/opt/data/master                 #在5.1.2章节创建的资源目录
MASTER_DATA_DIRECTORY=/gpdb/opt/data/master/gpseg-1    #与5.1.2章节配置一样
MIRROR_PORT_BASE=7000                                  #取消注释    
DATABASE_NAME=gp_sydb                                  #取消注释;5.1.3章节配置的初始化数据库名称
MACHINE_LIST_FILE=/home/gpadmin/conf/seg_hosts         #取消注释;4.3.1章节创建的segment节点名称文件
  所有节点更新gpadmin用户操作权限

chown -R gpadmin:gpadmin /gpdb

5.3 初始化和登录
5.3.1 执行初始化

集群初始化
[gpadmin@gp-master ~]$ cd /gpdb/greenplum-db/docs/cli_help/gpconfigs
[gpadmin@gp-master gpconfigs]$ gpinitsystem -c initgp_config
查看集群状态

gpstate -e #查看mirror的状态
gpstate -f #查看standby master的状态
gpstate -s #查看整个GP群集的状态
gpstate -i #查看GP的版本
gpstate --help #帮助文档,可以查看gpstate更多用法

5.3.2 数据库登录

  完成初始化后登录数据库
psql -d postgres

在这里插入图片描述

postgres=# \l #查询数据库

在这里插入图片描述

设置远程访问密码

登录后输入
alter user gpadmin encrypted password 'password';

在这里插入图片描述

配置数据库白名单

[gpadmin@gp-master ~]$ vi /gpdb/opt/data/master/gpseg-1/pg_hba.conf #在master资源目录pg_hba.conf文件中添加白名单

在这里插入图片描述
在这里插入图片描述

输入 gpstop -u 生效

启动和停止Greenplum数据库

启动Greenplum数据库

gpstart

重新启动Greenplum数据库,停止Greenplum数据库系统,然后重新启动它。

gpstop -r

仅重新加载配置文件更改,将更改重新加载到Greenplum数据库配置文件,而不会中断系统。

gpstop -u

在维护模式下启动主机,仅启动主服务器以执行维护或管理任务,而不会影响段上的数据。

gpstart -m

停止Greenplum数据库

gpstop

要以快速模式停止Greenplum数据库

gpstop -M fast
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值