资讯专栏INFORMATION COLUMN

Linux环境下Greenplum数据库安装与维护

IT那活儿 / 755人阅读
Linux环境下Greenplum数据库安装与维护
一. greenplum简介

GreenPlum(本文简称gp)是面向数据仓库应用的关系型数据库,GreenPlum的主要特点是查询速度快、数据装载速度快、批量DML处理快、性能可以随着硬件的添加呈线性增加、拥有非常良好的课扩展性。GreenPlum基于PostgreSQL开发,跟PostgreSQL的兼容性非常好,大部分PostgreSQL客户端工具及PostgreSQL应用都能运行在GreenPlum平台上。想要学习GreenPlum,可以先看一看PostgreSQL的资料。本文主要简述在CentOS 7.6安装Greenplum(5.10.2)的主要步骤。


二. 安装前的准备工作

1. 修改内核参数

sysctl命令被用于在内核运行时动态地修改内核的运行参数,可用的内核参数在目录/proc/sys中。它包含一些TCP/IP堆栈和虚拟内存系统的高级选项, 这可以让有经验的管理员提高引人注目的系统性能。用sysctl可以读取设置超过五百个系统变量。以下为/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.core.netdev_max_backlog = 10000
net.core.rmem_max = 2097152
net.core.wmem_max = 2097152
vm.overcommit_memory = 2

Linux资源限制配置文件是/etc/security/limits.conf;限制用户进程的数量对于linux系统的稳定性非常重要。limits.conf文件限制着用户可以使用的最大文件数,最大线程,最大内存等资源使用量。以下为limits.conf的推荐设置,供大家参考:

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

2. 创建gpadmin用户

gp 的安装部署均在gpadmin用户下进行操作,所以在root 用户下执行用户创建命令:

·useradd gpadmin   #添加gpadmin用户
passwd gpadmin   #给gpadmin用户设置密码

三. 安装步骤

1) 上传安装包并安装Greenplum

本例用的是greenplum-db-5.10.2-rhel7-x86_64.rpm安装包,先上传至服务器,新建数据库安装目录:/home/greenplum,执行以下rpm安装命令,安装后的目录为:/home/greenplum/greenplum-db,切换到用户gpadmin(su - gpadmin ),后续的命令都在该用户下执行。下面用rpm命令初始化安装:

rpm -ivh  --prefix=/home/greenplum   greenplum-db-5.10.2-rhel7-x86_64.rpm

2) 修改参数配置

在/home/greenplum/greenplum-db 中 新建并写入文件seg_hosts和hostlist, 写入内容为主机名bigdata-01,主机名可以通过执行hostname获得

3) 使用gpssh-exkeys将所有机器通道打开

执行以下命令:

cd /home/greenplum/greenplum-db
./bin/gpssh-exkeys  -f   ./hostlist

4) 新建数据目录

首先进入安装目录

cd  /home/greenplum/greenplum-db

创建数据存放目录

mkdir gpdata
cd  /home/greenplum/greenplum-db/gpdata
mkdir  gpmaster gpdatap1  gpdatap2  gpdatam1  gpdatam2

~/greenplum-db/docs/cli_help/gpconfigs/gpinitsystem_config拷贝为~/greenplum-db/initgp_config,执行以下命令:

cp  /home/greenplum/greenplum-db/docs/cli_help/gpconfigs/gpinitsystem_config  /home/greenplum/greenplum-db/initgp_config

5) 环境变量设置

修改~/.bashrc,  注意当前操作用户为gpadmin,在 /home/gpadmin 下执行:vi .bashrc,在文件中添加:

source   /home/greenplum/greenplum-db/greenplum_path.sh
export   LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/home/greenplum/greenplum-db/lib
export   GPHOME=/home/greenplum/greenplum-db
export   MASTER_DATA_DIRECTORY=/home/greenplum/greenplum-db/gpdata/gpmaster/gpseg-1
然后令其生效:source  .bashrc

6) 创建初始化文件

新建一个initgp_config文件作为gp的初始化配置文件,文件目录可以为greenplum-db目录,文件中的主要配置如下,供参考:

declare -a DATA_DIRECTORY=(/home/greenplum/greenplum-db/gpdata/gpdatap1  /home/greenplum/greenplum-db/gpdata/gpdatap2)

MASTER_HOSTNAME=bigdata-01
MASTER_DIRECTORY=/home/greenplum/greenplum-db/gpdata/gpmaster
ENCODING=utf-8
declare -a MIRROR_DATA_DIRECTORY=(/home/greenplum/greenplum-db/gpdata/gpdatam1  /home/greenplum/greenplum-db/gpdata/gpdatam2)
MACHINE_LIST_FILE=/home/greenplum/greenplum-db/seg_hosts

红字为需要修改及特别留意的配置项

7) 运行数据库

/home/greenplum/greenplum-db/bin/gpseginstall -f  /home/greenplum/greenplum-db/hostlist -u  gpadmin  -p  前面设置的密码

执行完后继续执行:

/home/greenplum/greenplum-db/bin/gpinitsystem -c   /home/greenplum/greenplum-db/initgp_config 

当显示的结果中有,“Greenplum Database instance successfully created”即安装成功,

可以使用psql -p 2345 -d postgres进行访问。


四. 日常维护命令

以下是gp数据库启动、停止、查看服务状态、查询进程等相关命令:

su – gpadmin   #进入gpadmin用户
gpstart         #启动服务
gpstop -M fast  #快速停止服务
gpstate -s      # 查看状态
ps -ef|grep Greenplum # 查看数据库进程

备份数据脚本如下:
pg_dump -U user  database -t tablename -f dump.sql 

导入数据脚本如下:
createdb -U user database  #如果没有用户首先创建用户
psql -U user -d database -f dump.sql 


五. gp无法远程访问解决方案

如果发现无法通过IP去访问数据库,则可能该数据库默认只能通过本地连接,也就是回环地址(127.0.0.1),可以修改安装目录下的datapg_hba.conf,在配置文件最后有IPV4和IPV6的配置,新增一行(这里我用的IPV4,开放所有IP),具体配置可以参考下图:

0.0.0.0/0 表示全部IP地址都合法,合法的IP地址即可


六. 总结

关于Greenplum集群安装部署的教程很多,数据库的编译安装可以参照gp的Github官网教程, 系统的前期配置和完整教程可参考教程,该教程成功率较高。由于Greenplum的版本不断在更新,按照原来众多博主写的教程安装还是会踩很多坑,本文总结此次安装Greenplum所踩过的坑及解决方案,希望对大家有所帮助。

Greenplum安装主要是一些细节不注意的问题,遇到报错,认真读报错信息,缺依赖装依赖,版本过低就升级,重要的是细心就行。


END


更多精彩干货分享

点击下方名片关注

IT那活儿

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/129808.html

相关文章

  • centos7.3 greenplum-db 安装、配置文档

    摘要:下安装配置文档一系统要求系统版本要求根据官方文档支持以下几种系统文件系统要求数据存储目录为文件系统二下安装服务器列表主节点数据节点数据节点主节点切换备用节点修改系统配置项关闭关闭防火墙修改内核配置参数并执行使之生 centos7.3下 greenplum-db 安装、配置文档 一.系统要求 1.系统版本要求:根据官方文档: greenplumd-b支持以下几种linux系统: ...

    neuSnail 评论0 收藏0
  • 构建可扩展的PostgreSQL解决方案

    摘要:这可以通过负载平衡来实现数据分片当问题不是并发查询的数量,而是数据库的大小和单个查询的速度时,可以实现不同的方法。 showImg(https://segmentfault.com/img/remote/1460000018875091); 来源 | 愿码(ChainDesk.CN)内容编辑 愿码Slogan | 连接每个程序员的故事 网站 | http://chaindesk.cn...

    jonh_felix 评论0 收藏0
  • 构建可扩展的PostgreSQL解决方案

    摘要:这可以通过负载平衡来实现数据分片当问题不是并发查询的数量,而是数据库的大小和单个查询的速度时,可以实现不同的方法。 showImg(https://segmentfault.com/img/remote/1460000018875091); 来源 | 愿码(ChainDesk.CN)内容编辑 愿码Slogan | 连接每个程序员的故事 网站 | http://chaindesk.cn...

    FrozenMap 评论0 收藏0

发表评论

0条评论

IT那活儿

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<