我的编程空间,编程开发者的网络收藏夹
学习永远不晚

greenplum安装部署-CentOS7.9下Greenplum6.19集群搭建详细过程

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

greenplum安装部署-CentOS7.9下Greenplum6.19集群搭建详细过程

前言

官方文档:VMware Tanzu™ Greenplum® 6.20 Documentation | Tanzu Greenplum Docs(可以参考)

一,安装说明

1.1环境说明

1、首先确定部署的环境,确定下服务器的端口,一般默认是22的端口;

2、当前这份文档是服务器处于10022端口下部署的(现场生产环境要求,22端口在生产环境存在安全隐患);

3、操作系统Centos7.9;

4、 数据库greenplum-db-6.19.1。

1.2集群介绍

1、本次采用的是4台机器组成的集群:1台机器是master节点,1台机器是standby节点(这个节点相当于master的备用节点),2台机器是segment节点。

2、集群的ip和hostname如下(都是虚拟机环境):

192.168.0.31   mdw(master节点)

192.168.0.32   smdw (standby节点)

192.168.0.33   sdw1 (segment节点)

192.168.0.34   sdw2 (segment节点)

二,安装环境准备

2.1 关闭防火墙(所有节点)

1、配置的时候,要保证所有的机器的网络都是通的,并且每台机器的防火墙都是关闭的,避免存在网络不通的情况。

具体操作:

systemctl stop firewalld (停止防火墙)

systemctl disable firewalld(关闭防火墙)

systemctl status firewalld(查看防火墙状态)

截图如下:

2.2 关闭SELINUX(所有节点)

1、修改/etc/selinux/config文件(在某些系统中,可能是/etc/sysconfig/selinux文件),将SELINUX=enforcing修改为SELINUX=disabled。更新配置之后要重启服务器生效(这个部分可以在2.7操作完之后执行)或者执行:setenforce 0,使其立即生效。

2、具体操作:(每个节点直接执行如下命令)

sed -i s/SELINUX=enforcing/SELINUX=disabled/g /etc/selinux/config

截图如下:

注:执行完也可以直接进入/etc/selinux/config的文件查看是否修改完全。

2.3 修改内核配置参数 (所有节点)

1、修改/etc/sysctl.conf文件,其中的配置文件是官方配置的。

具体操作:

cat < /etc/sysctl.conf

# kernel.shmall = _PHYS_PAGES / 2

kernel.shmall = 742216

# kernel.shmmax = kernel.shmall * PAGE_SIZE

kernel.shmmax = 3040116736

kernel.shmmni = 4096

vm.overcommit_memory = 2

vm.overcommit_ratio = 95

net.ipv4.ip_local_port_range = 10000 65535

kernel.sem = 500 2048000 200 4096

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_max_syn_backlog = 4096

net.ipv4.conf.all.arp_filter = 1

net.core.netdev_max_backlog = 10000

net.core.rmem_max = 2097152

net.core.wmem_max = 2097152

vm.swappiness = 10

vm.zone_reclaim_mode = 0

vm.dirty_expire_centisecs = 500

vm.dirty_writeback_centisecs = 100

vm.dirty_background_ratio = 0 # See System Memory

vm.dirty_ratio = 0

vm.dirty_background_bytes = 1610612736

vm.dirty_bytes = 4294967296

EOF

截图如下:

2、执行完上述操作后,执行sysctl -p 使配置生效。

具体操作:

sysctl -p

截图如下:

2.4 配置/etc/hosts (所有节点)

      1、主要是为之后 Greenplum 能够在各个节点之间相互通信做准备。

具体操作:

vi /etc/hosts

截图如下:

这个截图是结果


暂无。(个人这边是直接粘贴复制的,直接修改了一个,其他都是直接替换的)

确认是否成功,ping一下即可。

2.5 设置etc/sysconfig/network (所有节点)

      1、每个节点机器的设置内容不同。
具体操作(在其他服务器上执行的话,修改hostname)

截图如下:

注:其他节点都需要修改。

2.6 配置资源限制参数etc/security/limits.conf(所有节点)

      1、具体操作:
cat < /etc/security/limits.conf

* soft nofile 524288

* hard nofile 524288

* soft nproc 131072

* hard nproc 131072

EOF

截图如下:

2.7 修改ssh的连接数(所有节点)

      1、具体操作:

cat <> /etc/ssh/sshd_config

 MaxStartups 200

 MaxSessions 200

 EOF

截图如下:

2.8 将所有服务器重启(所有节点)

1、具体操作:

reboot

截图如下:

三,GreenPlum的数据库安装

3.1 添加组和用户(所有节点机器 root 用户操作)

1、创建 gpadmin 用户及用户组,将其作为安装 greenplum 的操作系统用户。

2、如果已经存在,先删除,

具体操作:
groupdel gpadmin
userdel gpadmin

3、创建新的用户和用户组
具体操作:

groupadd gpadmin

useradd -r -m -g gpadmin gpadmin

passwd gpadmin (设置密码)

截图如下:

3.2 集群相互之间ssh免密(所有节点机器 gpadmin 用户操作)

1、具体操作:(操作为master节点)

su gpadmin (进入gpadmin用户)

mkdir -p /home/gpadmin/conf(这个部分提前创建,后续会用到)

cd /home/gpadmin/

ssh-keygen -t rsa (生成密钥对)

ssh-copy-id smdw

ssh-copy-id sdw1

ssh-copy-id sdw2

截图如下:

 注:每个节点都需要这样操作。

验证如下:在gpadmin用户下,ssh smdw 输入后,无需密码直接登录到了smdw服务器。

问题整理:(如果是10002端口这个地方一定需要改)

  1. 这个地方出现一个问题,还是不能链接,需要ssh -p 10022  localhost4

是可以访问的。

报错截图:

  1. 解决办法:

修改/etc/services文件,将ssh 对应的端口改为10022。

再次验证sss localhost4。
 

3.3 ssh权限互通设置(Master节点)

1、在/home/gpadmin/conf的路径下生成 hostlist,seg_hosts文件:

具体操作:

cd  /home/gpadmin/conf

vi hostlist

#文件内容

mdw

smdw

sdw1

sdw2

vi seg_hosts

#文件内容

sdw1

sdw2

截图如下:

3.4 Greenplum集群安装(所有节点)

1、首先是将greenplum的安装包导入到服务器上(可以新建一个文件夹);、

2、具体操作:
su root (进入root用户)

cd /root/gpadmin (这个安装包的所在位置)

ls (查看安装包,确认位置)

sudo yum install ./open-source-greenplum-db-6.19.1-rhel7-x86_64.rpm (这个是官方的安装步骤,是不需要再去下载依赖的)

chown -R gpadmin:gpadmin /usr/local/greenplum* (安装完之后,这个地方是将这个文件在gpadmin用户赋予权限)

截图如下:

后续安装过程会有一次输入:y (确认操作)

注:所有节点都需要安装。

3.5 使用 gpssh-exkeys 打通所有服务器 (Master节点)

1、使用 gpssh-exkeys 将所有机器的通道打开,这样在每台机器之间跳转,就不需要输入密码。

具体操作:

su gpadmin

cd /usr/local/greenplum-db-6.19.1/

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

cd /home/gpadmin/conf

gpssh-exkeys -f hostlist

截图如下:

3.6 环境变量配置.bashrc和GPHOME(所有节点机器 gpadmin 用户操作)

1、配置环境变量.bashrc

具体操作:

su gpadmin

mkdir -p /home/gpadmin/data/master (这个部分可以提前创建)
cat <> /home/gpadmin/.bashrc

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

export PGPORT=5432

export PGUSER=gpadmin

export MASTER_DATA_DIRECTORY=/app/gpadmin/data/master/gpseg-1(注意:这个路径是我本人放置数据的文件夹;大家可以自行考虑,根据服务器内存调整位置)

export PGDATABASE=gp_sydb

export LD_PRELOAD=/lib64/libz.so.1 ps

EOF

source /home/gpadmin/.bashrc

截图如下:

2、配置环境变量GPHOME,首先进到文件中直接修改

具体操作:

vi /usr/local/greenplum-db/greenplum_path.sh

添加的路径:GPHOME=/usr/local/greenplum-db

截图如下:

3.7 创建数据文件夹(Master节点)

1、创建各个节点的数据文件夹,该步骤之后 hostlist 文件包含机器下都会创建 data目录,data目录下都会创建master、primary、mirror文件夹。

具体操作:

gpssh -f /home/gpadmin/conf/hostlist

mkdir data

cd data

mkdir master

mkdir primary

mkdir mirror

exit

截图如下:

3.8 连通性检查(主节点 gpadmin 用户操作 )

1、检查各个节点的连通性
具体操作:

gpcheckperf -f /home/gpadmin/conf/hostlist -r N -d /tmp

截图如下:

3.9 初始化配置文件编辑修改(主节点 gpadmin 用户操作 )

1、这里修改初始化文件,首先拷贝一个文件gpinitsystem_config,在修改。

具体操作:
mkdir /home/gpadmin/gpconfigs

cp /usr/local/greenplum/greenplum-db/docs/cli_help/gpconfigs/gpinitsystem_config /home/gpadmin/gpconfigs/gpinitsystem_config (这个部分是一个命令,比较长)

vim /home/gpadmin/gpinitsystem_config
这里先搜索在修改:

# ------------------------以下为配置内容------------------------

# 该项配置设置主节点数据存储位置,括号里边有几个代表每台主机创建几个postgresql数据库实例,即segment的实例数,上边示例是2个。

declare -a DATA_DIRECTORY=(/home/gpadmin/data/primary /home/gpadmin/data/primary)

# 该项配置设置主节点机器名字

MASTER_HOSTNAME=mdw

# 该项配置设置主节点数据存储位置

MASTER_DIRECTORY=/home/gpadmin/data/master

# 该项配置设置是备节点数据存储位置,规则同DATA_DIRECTORY,括号里边数量和DATA_DIRECTORY保持一致。

# greenplum数据分主节点和备节点,主节点挂掉时候备节点数据会启用。

declare -a MIRROR_DATA_DIRECTORY=(/home/gpadmin/data/primary /home/gpadmin/data/primary)

# 该项配置设置默认数据库名字,和环境变量数据库名字保持一致,不然会失败。

DATABASE_NAME=gp_sydb

截图如下:

2、在/home/gpadmin/gpconfigs新增一个配置文件hostfile_gpinitsystem

具体操作:

cd /home/gpadmin/gpconfigs

vi hostfile_gpinitsystem

#新增的内容
sdw1

sdw2

截图如下:

3.10 初始化数据库(主节点 gpadmin 用户操作 )

1、初始化数据库

具体操作:

gpinitsystem -c gpconfigs/gpinitsystem_config -h gpconfigs/hostfile_gpinitsystem
备用:gpinitsystem -c /home/gpadmin/gpconfigs/gpinitsystem_config -h /home/gpadmin/gpconfigs/hostfile_gpinitsystem

截图如下:

 上述应该就是安装好了。

3.11设置远程登录(主节点 gpadmin 用户操作 )

1、如需要Navicat能够链接,需要配置如下:

具体操作:

echo "host all gpadmin 0.0.0.0/0 trust" >> /home/gpadmin/data/master/gpseg-1/pg_hba.conf

gpstop -u (重新加载数据库配置)

截图如下:

结果截图

3.12 设置standby节点(主节点 gpadmin 用户操作 )

1、standby节点根据之前的步骤,就已经完成了配置

具体操作:

gpinitstandby -s smdw

截图如下:

2、验证standby节点是否完成配置

在standby的服务器上,验证相关端口是否运行

具体操作:

ps -ef|grep postgres

截图如下:

至此,GP集群安装完成,并设置好了standby

四,Greenplum数据库验证

4.1登录验证(主节点 gpadmin 用户操作 )

1、登录验证

具体操作:

psql -d postgres

截图如下:

2、navicat登录验证

截图如下:

 

3、查看集群状态验证,在主节点上操作命令

具体操作:

Gpstate

截图如下:

4.2其他greenplum命令(主节点 gpadmin 用户操作 )

1、命令如下

• 关闭gpstop

• 启动gpstart

• 状态查看gpstate

• help命令查看所有命令

psql -d postgres 进入psql命令行执行help

\h 查看SQL命令

? 查看psql命令

本次也是记录在4台虚拟机上实现了greenplum集群部署,中间出现了很多问题,也是记录了很多问题:如下

1、在安装完greenplum之后遇上使用greenplum的命令的时候记得看看是否有权限,不然会执行不了。

2、免密搞了很久,中间出现很多问题,ssh-copy-id的这命令有一些机器上没有,其实这也是个执行文件,可以将文件拷贝到/usr/bin/的,赋予权限就是可以使用。
解决办法:https://download.csdn.net/download/msh6453/85425763

3、其中在使用gpssh-exkeys -f 这个命令的时候没办用,环境是:linux的环境是10022端口,这块主要是gpssh-exkeys -f  这个命令安装是默认22端口,所以需要看这个gpssh-exkeys命令的内容修改一下。

解决办法:http://t.csdn.cn/sowaq

4、最后附上Greenplum6.19的rpm包:https://download.csdn.net/download/msh6453/85427261

最后,有问题欢迎大家指正。

来源地址:https://blog.csdn.net/msh6453/article/details/124892605

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

greenplum安装部署-CentOS7.9下Greenplum6.19集群搭建详细过程

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

Apache Pulsar集群搭建部署详细过程

目录一、集群组成说明二、安装前置条件三、ZooKeeper集群搭建四、BookKeeper集群搭建五、Broker集群搭建六、docker安装pulsar-dashboard一、集群组成说明 1、搭建Pulsar集群至少需要3个组件:Zoo
2022-06-05

k8s部署redis集群搭建过程示例详解

这篇文章主要为大家介绍了k8s部署redis集群搭建过程示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
2023-02-21

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录