MPP - GreenPlum数据库安装以及简单使用

一、集群介绍

共3台主机,ip 为193.168.0.93   193.168.0.94  193.168.0.95

集群对应master和segment如下,193.168.0.93为master节点。193.168.0.94  193.168.0.95为segment节点,每个segment节点配置两个primary segment和两个mirror segment(也可以为master做一个备份,目前没有做)

架构图入下

二、服务器修改(all
host)

2.1配置hosts

  vi /etc/hosts
192.168.0.93 gpdb-1 mdw

192.168.0.94 gpdb-2 sdw1

192.168.0.95 gpdb-3 sdw2

2.2创建用户及用户组

2.2.1创建用户组,组id为530
groupadd -g 530 gpadmin
2.2.2创建用户,赋予gpadmin用户组,并自定用户根目录
useradd -g 530 -u 530 -d /home/gpadmin -s /bin/bash gpadmi
2.2.3授权/home/gpadmin
chown -R  gpadmin:gpadmin /home/gpadmin
2.2.4修改密码
passwd gpadmin
2.3关闭防火墙

2.3.1关闭默认防火墙

        systemctl stop firewalld

2.3.2关闭iptables

        systemctl stop iptables
2.4修改network文件
  vi /etc/sysconfig/network


NETWORKING=yes

HOSTNAME=对应的主机名称
2.5修改系统文件

2.5.1修改内核配置

  vi /etc/sysctl.conf

kernel.shmmax = 5000000000

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.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

执行命令 sysctl -p  使修改数值生效

2.5.2修改限制配置

  vi /etc/security/limits.conf

* soft nofile 65536

* hard nofile 65536

* soft nproc 131072

* hard nproc 131072

2.5.3禁用SELINUX

  vi /etc/selinux/config

SELINUX=disabled

三、安装依赖及创建安装目录(all
host)

3.1安装依赖

yum install -y epel-release

yum install -y apr-devel bison bzip2-devel cmake3 flex gcc gcc-c++ krb5-devel libcurl-devel libevent-devel libkadm5 libyaml-devel libxml2-devel perl-ExtUtils-Embed python-devel python-paramiko python-pip python-psutil python-setuptools readline-devel xerces-c-devel zlib-devel

pip install lockfile conan

yum install openssl-devel

3.2创建安装目录

mkdir /opt/greenplum

chown -R gpadmin:gpadmin /opt/greenplum

chown -R gpadmin:gpadmin /usr/local/yiliao/

----------------------------------------以下用gpadmin用户------------------------------------------------------------

四、安装gpdb

4.1上传安装包并解压(Master)

unzip gpdb-5.6.0.zip

cd gpdb-5.6.0

4.2编译gpdb(Master)

4.2.1安装
./configure --with-perl --with-python --with-libxml --with-gssapi --disable-orca --prefix=/opt/greenplum/db

make

make install
4.2.2引入脚本
source /opt/greenplum/db/greenplum_path.sh

4.3编辑节点服务器文件(Master)

(目录: /home/gpadmin/gpconfig/)

mkdir gpconfig

vi all_hosts

    mdw
    sdw1
    sdw2

vi  seg_hosts

    sdw1
    sdw2

4.4打通节点(Master)

gpssh-exkeys -f all_hosts

gpssh-exkeys -f seg_hosts

4.5打包分发安装文件(Master)

4.5.1打包分发
tar -cf gp5.6.tar db/

gpscp -f /home/gpadmin/gpconfig/seg_hosts  gp5.6.tar =:/opt/greenplum
4.5.2解压分发文件(目录结构要和主节点一直)并创建数据目录
gpssh -f all_hosts(连接all节点,批量)

cd /opt/greenplum/

tar -xf gp5.6.tar

mkdir -p /usr/local/yiliao/gpdata/gpmaster

mkdir -p /usr/local/yiliao/gpdata/gpp1

mkdir -p /usr/local/yiliao/gpdata/gpp2

mkdir -p /usr/local/yiliao/gpdata/gpm1

mkdir -p /usr/local/yiliao/gpdata/gpm2
4.5.3 编辑.bash_profile

vi ~/.bash_profile

source /opt/greenplum/db/greenplum_path.sh

export MASTER_DATA_DIRECTORY=/usr/local/yiliao/gpdata/gpmaster/gpseg-1

export PGPORT=5432

export PGDATABASE=testDB

生效     . ~/.bash_profile

4.5.4编辑数据库启动文件(/home/gpadmin/gpconfig/)
ARRAY_NAME="Greenplum"

MACHINE_LIST_FILE=/home/gpadmin/gpconfig/seg_hosts

SEG_PREFIX=gpseg

PORT_BASE=40000

declare -a DATA_DIRECTORY=(/usr/local/yiliao/gpdata/gpp1 /usr/local/yiliao/gpdata/gpp2)

MASTER_HOSTNAME=mdw

MASTER_DIRECTORY=/usr/local/yiliao/gpdata/gpmaster

MASTER_PORT=5432

TRUSTED_SHELL=ssh

ENCODING=UNICODE

MIRROR_PORT_BASE=50000

REPLICATION_PORT_BASE=41000

MIRROR_REPLICATION_PORT_BASE=51000

declare -a MIRROR_DATA_DIRECTORY=(/usr/local/yiliao/gpdata/gpm1 /usr/local/yiliao/gpdata/gpm2)
4.5.5初始化数据库
gpinitsystem -c /home/gpadmin/gpconfig/gpinitsystem_config -a
4.5.6用psql测试是否安装成功
psql -d postgres

CREATE USER yiliaodb PASSWORD ‘yiliaodb‘ CREATEDB;

4.5修改文件(Master)

  cd /usr/local/yiliao/gpdata/gpmaster/gpseg-1/

  vi pg_hba.conf

host     all         yiliaodb           0.0.0.0/0     md5

说明:

(1).其中,"trust"和"password"为postgresql数据库登陆验证的方式,"trust"表示信任,即不需要输入密码(即使有密码),"password"表示需         要输入密码。

(2).host all all 127.0.0.1/31 trust表示本地连接数据库不需要输入密码(即使有密码,设为trust后就不需要密码)

(3).host all all 0.0.0.0/0 所有主机连接数据库需要输入密码(如果有密码)

(4).当然,这两个综合后表现的结果就是:对于本机链接表示信任(不需要输入密码),对于非本机链接需要输入密码

4.6安装注意事项

1.每次服务器重启以后需要关闭防火墙

2.每次需加载gpdb环境变量才能有gpdb数据库命令 “.
~/.bash_profile”

3.gpstop 命令关闭gpdb

4.gpstart -a 命令开启gpdb

4.7 gp基本命令

  1.Shell命令:

su - gpadmin

gpstart                      #正常启动

gpstop                       #正常关闭

gpstop  -M  fast #快速关闭

gpstop  -r               #重启

gpstop  -u               #重新加载配置文件

  2.gp命令

a) 登陆与退出Greenplum
      # 默认数据库登陆

        psql

      # 登陆gpdb数据库

        psql gpdb

        psql -d gpdb

      # 以gpadmin用户,gphostm server,5432端口登陆gpdb数据库

        psql -d gpdb -h gphostm -p 5432 -U gpadmin        

         # 退出

             在gp数据库中: \q

b) 查看greenplum数据库下所有默认数据表:

    select * from pg_tables;

c)进入数据库以后,就可以通过命令,查看数据库种的数据库:
    select * from pg_database;

d)数据库中查看用户和数据库

    用户: \du

    数据库:\l

  3.检查及修复无效的segment节点

# status命令查看状态

  Show detailed status information of a Greenplum Database system:
        gpstate -s

Do a quick check for down segments in the master host system catalog:
        gpstate -Q

Show information about mirror segment instances:
       gpstate -m

Show information about the standby master configuration:
       gpstate -f

Display the Greenplum software version information:
       gpstate -i

# 恢复节点
    gprecoverseg -r

五、数据备份和恢复

5.1 了解GreenPlum数据库的备份恢复

5.1.1并行备份(gp_dump)

1)      GP同时备份Master和所有活动的Segment实例

2)      备份消耗的时间与系统中实例的数量没有关系

3)      在Master主机上备份所有DDL文件和GP相关的数据字典表

4)      每个Segment备份各自的数据

5)      所有备份文件组成一个完整的备份集合,通过唯一14位数字的时间戳来识别

5.1.2 并行恢复(gp_restore)

1)      通过gp_dump产生的时间戳来辨识备份集合,恢复数据库对象和数据到分布式数据库

2)      每个Segment并行恢复各自的数据

3)      被恢复的GP系统必须与备份的系统同构

5.1.3非并行备份(pg_dump/pg_dumpall)

1)      GP依然支持常规的PostgreSQL备份命令pg_dump和pg_dumpall

2)      备份将在Master主机上创建一个包含所有Segment数据的大的备份文件

3)      不适合于全部数据备份,适用于小部分数据的迁移或备份

PS:

  一般情况不使用pg_dump,它适用于PostgreSQL迁移到Greenplum。

  pg_dump一次只能备份一个单独的数据库,且不能备份角色和表空间信息(因为这些信息是cluster-wide,而不是在某个数据库中(per-database))

5.1.4非并行恢复(pg_restore)

1) 使用由pg_dump或pg_dumpall创建的备份文件来恢复

2) 使用非并行恢复可以实现异构系统恢复

5.1.5备份数据库的四种选择

1) 为每个实例创建一个备份文件

  可用于全库备份或者相同配置的系统之间迁移数据;

2) 使用gpcrondump进行定期备份

  对gp_dump进行包装,使用cron调度GP数据库的后台进行备份;

  调用gpcrondump的调度作业应该部署在GP的Master主机;

  gpcrondump命令还备份数据库角色和服务器配置等数据库之外的对象

3) 使用pg_dump或pg_dumpall创建单个备份文件

  可用于不同数据库之间少量数据迁移或备份;

4) 文件系统备份

  借助操作系统或者其他第三方工具来进行备份,实现增量备份

5.2创建GP用户和数据库

5.2.1切换到测试用户,并配置环境变量

   su
gptestusr

    source
/opt/greenplum/db/greenplum_path.sh

5.2.2创建数据库用户,并进入数据库

  CREATE USER testdb WITH PASSWORD ‘password‘;

  CREATE DATABASE testdb;

  GRANT ALL PRIVILEGES ON DATABASE testdb to testdb;

  ALTER ROLE testdb CREATEROLE CREATEDB;

  修改greenplum配置文件:

  vi /usr/local/yiliao/gpdata/gpmaster/gpseg-1/pg_hba.conf

  进入数据库,输入密码的模式

    psql -U testdb -d testdb -W

5.3 备份实例

测试数据库时表:

create table syn_test(id int,name varchar(10)) distributed by (id);

insert into syn_test values(1,‘ab‘),(2,‘dc‘),(3,‘dfs‘),(4,‘sfs‘);

create table syn_test2(id int,cost varchar(10)) distributed by (id);

insert into syn_test2 values(11,‘aa‘),(22,‘bb‘),(55,‘cc‘),(77,‘dd‘);

5.3.1 pg_dump & pg_restore

  # 创建备份目录(root用户下)

  mkdir
     /gpbackup

      chown     gpadmin.gpadmin   /gpbackup/

  # <1>表级别备份恢复

    备份:pg_dump -t syn_test -Fc -U testdb -W testdb -f
/gpbackup/syn_test_pgdump.dmp

    恢复:pg_restore -d testdb /gpbackup/syn_test_pgdump.dmp

  # <2>database级别备份恢复

  备份:pg_dump testdb -Fc -Ugpadmin -W 
-f /gpbackup/testdb_pgdump.dmp

     恢复:恢复之前需先创建空的数据库

5.3.2 pg_dumpall

  gp_dump同时只能备份一个数据库。为了解决这个问题,就要使用pg_dumpall工具,它备份每个数据库和角色、表空间定义。

  执行pg_dumpall需要超级用户权限。

# <1>导出所有role和tablespace

  pg_dumpall  -g >/gpbackup/role_tbs.sql

# <2>导出所有database

  pg_dumpall  >/gpbackup/all.dmp

5.3.3 gp_dump & gp_restore

# gp_dump

  gp_dump是Greenplum的并行备份工具,Master和segment同时备份,备份保存在每个节点中。备份时间最长的节点决定着整个备份时长。

  Segment节点备份的只有数据,而Master备份的是所有DDL命令和一些全局系统表(如gp_segment_configuration)。

  执行gp_dump时,只有Segment的primary和active Master运行备份操作,Mirror和stanby Master不参与备份。

  gp_dump在每个Segment上运行gp_dump_agent代理进程,将备份状态报告给Master的gp_dump进程。

      备份:gp_dump testdb
--table=syn_test --gp-d=/gpbackup/ --gp-r=/gpbackup/

# gp_restore

  gp_restore命令使用gp_dump生成的备份文件恢复数据定义和用户的数据。特别要注意的时,gp_restore时需指定gp_dump备份时的时间戳(在gp_dump_.rpt中)。

  执行gp_restore有如下要求:

    gp_dump做的备份文件,并且备份文件在原始位置。

    GPDB正常运行

    GPDB的Segment节点数(包含primary和mirror)和备份时一致

    要被恢复的数据库(database)已创建

    使用gp_dump备份时指定了参数如-s
(schema only) , -a (data only), --gp-c (compressed), --gp-d (alternate dump
file location) ,那么使用gp_restore恢复时也要加上

      恢复:gp_restore
--gp-d=/gpbackup/ --gp-r=/gpbackup/ --gp-k=201807041720

原文地址:https://www.cnblogs.com/blitheG/p/9266794.html

时间: 2024-10-28 19:30:23

MPP - GreenPlum数据库安装以及简单使用的相关文章

数据库之redis篇(1)—— redis数据库安装,简单使用

简介 reids,由Salvatore Sanfilippo写的一个高性能的key-value数据库,并且它是非关系型数据库,也就是没有像mysql那样多表链接操作,并且它是是完全开源免费的,遵守BSD协议. reids 与其他 key - value 缓存产品有以下三个特点: reids支持数据的持久化,可以将内存中的数据保存在磁盘中,重启的时候可以再次加载进行使用. reids不仅仅支持简单的key-value类型的数据,同时还提供list,set,zset,hash等数据结构的存储. re

postgresql数据库安装及简单操作

自从MySQL被Oracle收购以后,PostgreSQL逐渐成为开源关系型数据库的首选. 本文介绍PostgreSQL的安装和基本用法,供初次使用者上手.以下内容基于Debian操作系统,其他操作系统实在没有精力兼顾,但是大部分内容应该普遍适用. 一.安装 首先,安装PostgreSQL客户端. sudo apt-get install postgresql-client 然后,安装PostgreSQL服务器. sudo apt-get install postgresql 正常情况下,安装完

MongodDB数据库安装和简单使用

MongoDB是一种非关系数据库,属于NoSQL(Not Only SQL不仅仅是SQL)数据库的一种. RDBMS vs NoSQL RDBMS - 高度组织化结构化数据 - 结构化查询语言(SQL) (SQL) - 数据和关系都存储在单独的表中. - 数据操纵语言,数据定义语言 - 严格的一致性- 基础事务 NoSQL - 代表着不仅仅是SQL- 没有声明性查询语言- 没有预定义的模式-键 - 值对存储,列存储,文档存储,图形数据库- 最终一致性,而非ACID属性- 非结构化和不可预知的数据

redis数据库安装及简单的增删改查

redis下载地址:https://github.com/MSOpenTech/redis/releases. 解压之后,运行 redis-server.exe redis.windows.conf .如下图: 不要关闭redis-server.exe窗口,打开redis-cli.exe -h,如下图:  接下来就可以实现简单的命令了! 查看所有key keys *查看key类型 type myKey 操作:1.字符串类型: 创建和修改:set user 'zhangsan' 获得key的值:g

转_Greenplum 数据库安装部署(生产环境)

Greenplum 数据库安装部署(生产环境) 硬件配置: 16 台 IBM X3650, 节点配置:CPU 2 * 8core,内存 128GB,硬盘 16 * 900GB,万兆网卡. 万兆交换机. 安装需求: 1台Master,1台Standby Master,14台Segment计算节点. 安装步骤: Master节点安装 创建GP安装配置文件并配置ssh互信 关闭防火墙及开启自启动 关闭SELinux 磁盘调度算法 磁盘预读取配置 语言与字符集 Sysctl.conf增加配置 用户资源限

数据库5.5.32编译安装和简单的初步优化

.数据库5.5.32编译安装和简单的初步优化 1.环境: [[email protected] sbin]# cat/etc/redhat-release CentOS release 6.6 (Final) Ip:外网:10.0.0.31  内网:172.16.1.31 2.安装步奏: Useradd mysql -s /sbin/nologin -M Id mysql yum install cmake -y yum install libaio-develncurses-devel -y

Greenplum 数据库架构分析

Greenplum 数据库是最先进的分布式开源数据库技术,主要用来处理大规模的数据分析任务,包括数据仓库.商务智能(OLAP)和数据挖掘等.自2015年10月正式开源以来,受到国内外业内人士的广泛关注.本文就社区关心的Greenplum数据库技术架构进行介绍. 一. Greenplum数据库简介 大数据是个炙手可热的词,各行各业都在谈.一谈到大数据,好多人认为就是Hadoop.实际上Hadoop只是大数据若干处理方案中的一个.现在的SQL.NoSQL.NewSQL.Hadoop等等,都能在不同层

开源大数据引擎:Greenplum 数据库架构分析

Greenplum 数据库是最先进的分布式开源数据库技术,主要用来处理大规模的数据分析任务,包含数据仓库.商务智能(OLAP)和数据挖掘等.自2015年10月正式开源以来.受到国内外业内人士的广泛关注.本文就社区关心的Greenplum数据库技术架构进行介绍. 一. Greenplum数据库简单介绍 大数据是个炙手可热的词.各行各业都在谈.一谈到大数据,好多人觉得就是Hadoop.实际上Hadoop仅仅是大数据若干处理方案中的一个.如今的SQL.NoSQL.NewSQL.Hadoop等等.都能在

GreenPlum 数据库创建用户、文件空间、表空间、数据库

前几篇文章介绍了GreenPlum数据库的安装.启动.关闭.状态检查.登录等操作,数据库已经创建好了,接下来介绍如何使用数据库.按照习惯,需要先创建测试用户.表空间.数据库.先创建测试用户dbdream. view source 1 postgres=# create role dbdream password 'dbdream' createdb login; 2 NOTICE:  resource queue required -- using default resource queue