最简单的Greenplum数据库的安装及配置步骤

(一)环境说明

版本

包/备注

操作系统

Linux RedHat6.2 64Bit

Greenplum

greenplum-db-4.3.6.2

greenplum-db-4.3.6.2-build-1-RHEL5-x86_64.zip

greenplum-db-5.1.0

greenplum-db-5.1.0-rhel7-x86_64.zip

(二)安装步骤

一、服务器说明

本手册中使用2台服务器部署系统,其中master、segment各一台,主机名为xiaoya开头,ip地址为192.168.202网段,实际环境中可按需修改,服务器相关说明如下。

服务器

IP地址

主机名

master

192.168.202.10

xiaoya01

segment1

192.168.202.11

xiaoya02

二、系统参数配置

(1)在测试的虚拟机环境中如硬盘分配不足可增加硬盘。真实环境需要根据硬盘实际情况进行设置,如果操作不当会导致客户数据丢失,不可恢复,切记要慎重、慎重、慎重。

(2)如初次安装linux时需要对硬盘重新分区并格式可参考下面parted分区操作。

#首先在vm中扩展或者增加硬盘在进入系统挂载硬盘

#查看现有分区

fdisk -l

#创建分区

fdisk /dev/sda

选择n创建分区,选择w写入分区,然后重启init 6

#重启后格式化新建的分区

mkfs –t ext4 /dev/sda4

#挂载分区到/data目录(/data目录必须存在)

mount /dev/sda4 /data

#设置系统启动时自动挂载

vim /etc/fstab

加上: /dev/sda4   /data    ext4   defaults   1  2

+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

#使用parted创建分区(大于2T以上磁盘使用该方法)

#如果操作不当会导致客户数据丢失,不可恢复,切记要慎重、慎重、慎重。

+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

#进入parted分区工具

parted /dev/sdb

#创建磁盘并指定磁盘类型

mklabel gpt (或者输入mklabel,根据提示输入类型:gpt)

#根据系统提示,确认并销毁磁盘上的数据,选择yes

yes

#创建主分区

mkpart

#系统提示输入分区名称?

Primary (或者直接回车)

#系统提示输入文件系统类型?[ext2]?

ext4(这里可以使用xfs文件系统类型)

#起始点?

0

#结束点?

-1

#系统弹出警告,选择忽略

Ignore

#分区完成后使用print可以看到刚才分区的信息

print

#退出parted分区工具

quit

#可选1:格式化磁盘文件系统为EXT4

mkfs.ext4 /dev/sdb1

#可选2:或者格式化磁盘文件系统为xfs,注意:xfs需要安装rmp软件包:

rpm –ivh xfsprogs-3.1.1-4.1.x86_64.rpm(该软件包在/os目录下)

#可选2_1:格式化磁盘文件系统为xfs(gp文档推荐使用xfs文件系统:144页)

mkfs.xfs -f /dev/sdb1

#设置系统启动时自动挂载

#查看磁盘分区uuid,找到需要挂载磁盘的UUID

blkid

#将uuid添加到fstab,挂载在/data目录下(注意:/data必须存在)

vim /etc/fstab

#ext4类型

加上: UUID=...   /data    ext4   defaults   1  2

#xfs类型

加上: UUID=...   /data    xfs   rw,noatime,inode64,allocsize=16m   1  1

#重新挂载/etc/fstab文件中的记录

mount –a(或者单独挂载mount /dev/sdb1 /data)

#查看磁盘分区情况(T是查看文件类型)

df –hT

(3)修改的主机名(需每台修改)

#rhel6.x版本修改主机名

#查看主机名

hostname

#修改主机名,重启生效

vim /etc/sysconfig/network

#添加以下内容:

HOSTNAME=<hostname>

#其中<hostname>在各台机器上分别设为xiaoya01、xiaoya02

#rhel7.x版本修改主机名

#查看主机名

hostname

#修改主机名,重启生效

#方法一:直接编辑/etc/hostname文件 #新增内容:主机名

vim /etc/hostname

#添加以下内容:

<hostname>

#其中<hostname>在各台机器上分别设为awaken01、awaken02...

#方法二:使用nmtui图形工作设置,重启生效

(4)设置IP地址(需每台修改)

#查看网卡是否连接网络

ethtool eth0(speed显示速度,即连接网络,显示unknown为未连接网络)

#方法一(推荐):在图形界面中的设置ip地址(左上>系统>首选项>网络连接)

配置ip时,注意勾中“自动连接”

#方法二:使用setup命令设置ip,设置后重新启动网卡。

setup

#先关闭网卡

ifdown eth0

#再重新启动

ifup eth0

注意:配置ip时如果出现device eth0 does not seem to be present, delaying initialization错误,请

1、vim /etc/sysconfig/network-scripts/ifcfg-eth0

   ifcfg-eth0的配置文件里保存了以前的MAC地址,就把这一行删除掉在重启网卡

ONBOOT=yes

2、rm -rf /etc/udev/rules.d/70-persistent-net.rules

3、reboot

#方法三(推荐):可直接修改/etc/sysconfig/network-scripts/ifcfg-eth0文件修改ip

注意:在实际环境中,可将服务器一半网卡接入网络中,并分别配置ip

(5)设置防火墙(需每台修改)

#rhel6.x设置防火墙

#查看防火墙状态   service iptables status

#关闭防火墙       service iptables stop

#关闭开机启动     chkconfig iptables off

#rhel7.x设置防火墙

#查看防火墙状态   systemctl status firewalld

#显示防火墙状态   firewall-cmd --state

#临时关闭防火墙   systemctl stop firewalld

#永久关闭防火墙   systemctl disable firewalld

#永久开启防火墙   systemctl enable firewalld

(6)关闭selinux服务(需每台修改)

#永久关闭SELINUX

需修改/etc/selinux/config配置文件,修改配置为SELINUX=disabled

#临时关闭SELINUX

setenforce 0

三、Greenplum安装

====环境准备====

(1)修改linux系统参数(每个节点都需要配置)

vim /etc/sysctl.conf

#将sysctl.conf中的内容替换为如下(测试环境中绿色部分去一个0):

kernel.shmmax = 5000000000

kernel.shmmni = 4096

kernel.shmall = 40000000000

kernel.sem = 250 5120000 100 20480

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.default.rp_filter = 1

net.ipv4.conf.default.arp_filter = 1

net.ipv4.conf.all.arp_filter = 1

net.ipv4.ip_local_port_range = 1025 65535

net.core.netdev_max_backlog = 10000

vm.overcommit_memory = 2

vm.swappiness = 1

#执行sysctl -p生效

sysctl -p

(2)修改文件开启个数限制(每个节点都需要配置)

#在/etc/security/limits.conf配置文件末尾处增加如下内容:

vim /etc/security/limits.conf

* soft    nofile 65536

* hard    nofile 65536

* soft    nproc 131072

* hard    nproc 131072

* soft    core unlimited

注意:对于RedHat6.x系统,还需要将/etc/security/limits.d/90-nproc.conf文件中的1024修改为131072。

vim /etc/security/limits.d/90-nproc.conf

注意:对于RedHat7.x系统,还需要将/etc/security/limits.d/20-nproc.conf文件中的4096修改为131072。

vim /etc/security/limits.d/20-nproc.conf

(3)修改linux磁盘I/O调度策略(每个节点都需要配置) 【测试环境可忽略】

#查看某个驱动器的I/O调度策略

cat /sys/block/sda/queue/scheduler

noop anticipatory [deadline] cfq

#修改磁盘I/O调度策略

vim /boot/grub/menu.lst

#在kernel一行最后追加“elevator=deadline”

注意:修改该配置文件需谨慎,错误的修改会导致重启操作系统失败。

(4)配置设备块大小(每个节点都需要配置)

#修改系统的read-ahead设置:

vim /etc/rc.d/rc.local

#sof在文件尾部追加:

blockdev --setra 65536 /dev/sd*

#重启,查看是否生效

blockdev --getra /dev/sda

(5)配置hosts文件(每个节点都需要配置)

vim /etc/hosts

127.0.0.1 localhost localhost.localdomain   #注意:此行勿删

192.168.202.10  xiaoya01

192.168.202.11  xiaoya02

#注意:如果实际环境中,一台服务器多个ip,那么需要都写入hosts中,如:

192.168.202.10 xiaoya01

192.168.202.11 xiaoya01

192.168.202.12 xiaoya02

192.168.202.13 xiaoya02

(6)在GP主节点上创建数据节点文件(一个含mstar,一个不含)

vim /data/hostfile

xiaoya01

xiaoya02

vim /data/hostfile_seg

xiaoya02

====集群安装====

(7)解压Greenplum安装包

unzip greenplum-db-4.3.6.2-build-1-RHEL5-x86_64.zip

(8)运行Greenplum安装文件

#运行安装文件

./greenplum-db-4.3.6.2-build-1-RHEL5-x86_64.bin

#安装程序会提示接收GPDB许可协议,输入yes即可。

#安装程序会提示输入安装路径,输入一个绝对安装路径,如:

/data/greenplum/greenplum-db

(9)安装节点

#交换ssh密钥

unset OPENSSL_CONF

source /data/greenplum/greenplum-db/greenplum_path.sh

gpssh-exkeys -f /data/hostfile

#使用刚刚创建的hostfile文件运行gpdeginstall命令。使用-u和-p参数在所有主机

上创建GP系统用户(gpadmin)并设置该用户的密码。例如:

gpseginstall -f /data/hostfile -u gpadmin -p gpadmin

#注意,此步骤完成后会在各个数据节点中创建和主节点相同的目录,如: /data/greenplum/greenplum-db

如果没有创建说明安装失败,请重复:步骤6)

#确认安装,检查能否无密码登录,安装包是否被解压到各节点上面

su – gpadmin

source /data/greenplum/greenplum-db-4.3.6.2/greenplum_path.sh

gpssh –f /data/hostfile –e ls –l $GPHOME

如果成功登录并且未提示输入密码,则安装成功。否则需要重新交换ssh密钥:

unset OPENSSL_CONF

gpssh-exkeys -f /data/hostfile

#验证

ssh xiaoya02

(10)创建数据存储区域

#在Master主机上创建数据目录位置,以root身份执行下面的命令

su -

mkdir /data/greenplum/master

#修改目录的所有权信息。例如:

chown gpadmin:gpadmin /data/greenplum/master

#使用gpssh命令,在所有Segment主机上创建Primary的数据存储位置。

#使用刚刚创建的host_file_seg文件指定Segment主机列表。例如:

su -

source /data/greenplum/greenplum-db/greenplum_path.sh

gpssh -f /data/hostfile_seg -e 'mkdir /data/greenplum/primary'

gpssh -f /data/hostfile_seg -e 'chown gpadmin:gpadmin /data/greenplum/primary'

如果创建时报ssh失败,需要重新交换root用户的ssh密钥:

su –

source /data/greenplum/greenplum-db/greenplum_path.sh

unset OPENSSL_CONF

gpssh-exkeys -f /data/hostfile

如果交换ssh密钥时,又报错

“Permission denied (publickey,gssapi-keyex,gssapi-with-mic,password).”,有可能是SELinux没关闭,可执行下面命名关闭:

setenforce 0

(11)同步系统时钟【测试环境可忽略】

#在Master主机,以root登录编辑/etc/ntp.conf文件

vim /etc/ntp.conf

server 10.6.220.20 (10.6.220.20是数据中心NTP服务器的IP地址)

#各Segment主机上的时钟以master为准

vim /etc/ntp.conf

server xiaoya01

#在Master主机,使用NTP守护进程同步所有Segment主机的系统时钟

gpssh -f /data/hostfile_seg -v -e 'ntpd'

#开启ntpd服务,并设置开机自动运行

/etc/init.d/ntpd start

chkconfig --level 35 ntpd on

(12)检查系统环境【测试环境可忽略】

#检查操作系统配置

#以gpadmin用户登录Master主机

su - gpadmin

#加载GP安装目录的greenplum_path.sh文件

source /data/greenplum/greenplum-db/greenplum_path.sh

#检查系统环境

gpcheck -f /data/hostfile -m xiaoya01

在gpcheck完成检查所有主机的OS参数之后,可能会给出对OS参数的修改意见,这些修改应该在GPDB系统初始化之前修改完成。

====集群初始化====

(13)创建GPDB 配置文件

#创建GPDB配置文件,以gpadmin登录

su – gpadmin

source /data/greenplum/greenplum-db/greenplum_path.sh

#拷贝gpinitsystem_config文件

cp $GPHOME/docs/cli_help/gpconfigs/gpinitsystem_config /home/gpadmin/ gpinitsystem_config

#修改gpinitsystem_config文件

chmod 777 gpinitsystem_config

vim gpinitsystem_config

declare -a DATA_DIRECTORY=(/data/greenplum/primary /data/greenplum/primary /data/greenplum/primary /data/greenplum/primary)

MASTER_HOSTNAME=xiaoya01

MASTER_DIRECTORY=/data/greenplum/master

(14)运行初始化命令

#创建GPDB配置文件,以gpadmin登录

su – gpadmin

source /data/greenplum/greenplum-db/greenplum_path.sh

gpinitsystem -c gpinitsystem_config -h /data/hostfile_seg

#命令将自动检查安装信息,确认可以连接到每个HostName,可以访问配置文件中指定的每个目录。如果检查都通过了,将会提示确认配置信息。例如:

> Continue with Greenplum creation? Yy/Nn

#输入y以开始初始化

#在成功安装初始化结束时,命令将会启动GPDB系统,并可以看到如下提示信息:

=> Greenplum Database instance successfully created.

#注意(1):

CenterOS系统在初始化时如报:“Failed Update port number to 40001”。

解决方法:

1.所有节点安装ed # rpm ed-1.1-3.3.el6.x86_64.rpm(该软件包在/os目录下)

附ed下载地址:

http://www.filewatcher.com/d/CentOS/x86_64/Applications/Text/ed-1.1-3.3.el6.x86_64.rpm.73652.html

  1. 清除初始化系统的信息

/bin/bash ~/gpAdminLogs/backout_gpinitsystem_gpadmin_<timestamp>

  1. 重新初始化系统

gpinitsystem -c gpinitsystem_config -h /data/hostfile_seg

#注意(2):

如遇到其它初始化错误,可参考“Greenplum4.2.2管理员指南-2015修订.pdf”第154页最后的“初始化故障排除”和“使用撤销脚本”章节。

(15)设置GP环境变量

#创建GPDB配置文件,以gpadmin登录

su – gpadmin

#打开用户启动文件

vim ~/.bashrc

添加新行

source /data/greenplum/greenplum-db/greenplum_path.sh

export MASTER_DATA_DIRECTORY=/data/greenplum/master/gpseg-1

保存后exit退出,再使用su – gpadmin 可生效

(16)启动GP

#停止gp

gpstop –a –M fast

#启动gp

gpstart -a

#查看状态

gpstate

#重启gp

gpstop -r

(17)GP建库

#启动gp

gpstart -a

#查看当前所有库

psql –l

#使用postgres库

psql postgres

#创建数据库

create database xiaoya;

#添加其他客户端访问gpdb(比如说其他电脑上的etl\tomcat连接gp, 参考文档第33页)

vim  /data/greenplum/master/gpseg-1/pg_hba.conf

#增加客户端单个ip地址访问

host     all         gpadmin         192.168.1.10/32       trust

#增加客户端某一网段ip地址访问

host     all         gpadmin         192.168.1.0/24       trust

#重新加载pg_hba.conf文件使修改生效

gpstop –u

#使用root用户创建文件空间

mkdir /data/greenplum/warehouse

mkdir /data/greenplum/warehouse/master

mkdir /data/greenplum/warehouse/primary

chown -R gpadmin:gpadmin /data/greenplum/warehouse

#注意:每台机器都需要创建文件空间,可使用

su -

source /data/greenplum/greenplum-db/greenplum_path.sh

gpssh -f /data/hostfile_seg -e 'mkdir /data/greenplum/warehouse'

gpssh -f /data/hostfile_seg -e 'chown gpadmin:gpadmin /data/greenplum/warehouse'

或者

scp -r /data/greenplum/warehouse/ root@192.168.1.101:/data/greenplum/warehouse/

命令复制,注意授权给gpadmin用户)

#来进行创建文件空间(接上面注意)。

#使用gpadmin用户登录到master主机

su – gpadmin

#创建一个文件空间的配置文件

gpfilespace –o gpfilespace

#将会提示输入一个文件空间的名称、primary文件系统位置、master文件系统位置,如:

enter a name for this filespace> fastdisk

primary location 1> /data/greenplum/warehouse/primary

primary location 2> /data/greenplum/warehouse/primary

master location> /data/greenplum/warehouse/master

#再次执行该命令,基于之前生成的配置文件创建文件空间:

gpfilespace --config /home/gpadmin/gpfilespace

#创建表空间:

psql xiaoya

create tablespace warehouse filespace fastdisk;

#创建表:create table test(c1 text, c2 text);

#查看表:\d

#查看表结构:\d test

#退出psql:\q

#使用pgAdmin创建表

create table test2

(

  a1 varchar(100),

  a2 varchar(100)

)WITH (appendonly=true, orientation=column) TABLESPACE warehouse DISTRIBUTED RANDOMLY;

(18)使用ETL进行DM到GP的数据迁移

#找到 dmetl4\gploaderp\loader.ini文件

修改:IP=192.168.202.10(为dmetl服务器的ip地址)

修改:AUTOSTART=1(为dmetl自动启动gpfdist服务)

#在etl数据中添加Greenplum数据库数据源

数据库类型:Greenplum

主机名:192.168.202.10

用户名:gpadmin

密码:gpadmin

端口:5432

默认数据库:xiaoya

#建议:大数据量使用“Greenplum快速装载”节点、小数据可以用“数据表”节点。

(19)GP外部表简单使用(需要启动gpfdist服务)

-- 创建分隔符为(竖线)的外部表

create external table ext_person(

  name varchar,

  addr varchar

) location ('gpfdist://192.168.1.200:8081/111.txt')

format 'text' (delimiter '|' NULL '' escape 'off') ENCODING 'UTF8';

-- 创建分隔符为(\u0001)的外部表

create external table ext_person(

  name varchar,

  addr varchar

) location ('gpfdist://192.168.1.200:8081/111.txt')

format 'text' (delimiter E'\001' NULL '' escape 'off') ENCODING 'UTF8'

-- 创建(CSV)的外部表

create external table ext_person(

  name varchar,

  addr varchar

) location ('gpfdist://192.168.1.200:8081/test/1.txt')

format 'CSV';

(三)服务启动与关闭

(1)启动Greenplum服务(只用启动主节点服务)

#切换gp用户

su - gpadmin

#启动gp服务

gpstart –a

#切换gp用户

su - gpadmin

#停止gp服务

gpstop –a –M fast

#查看gp服务

ps -ef|grep greenplum

#开启2个gpfdist服务(必须开启

#注意:需要把“/data”和“tomcat”目录授权给gpadmin

chown gpadmin:gpadmin /data

chown gpadmin:gpadmin /home/tomcat6/webapps/ROOT

#开启gpfdist服务

su – gpadmin

gpfdist –d /data –p 8082 –l /data/log.txt &

回车2次

gpfdist –d /home/tomcat7/webapps/ROOT –p 8083 –l / home/tomcat6/log.txt &

回车2次

(四)linux常用命令参考

序号

命令

描述

1

more /proc/cpuinfo |grep 'physical id' |sort|uniq|wc -l

查看物理cpu个数

2

more /proc/cpuinfo |grep 'cpu cores' |uniq

查看每个物理cpu的核数

3

more /proc/cpuinfo |grep 'processor' | wc -l

查看逻辑cpu的个数

4

more /proc/cpuinfo |grep name|cut -f2 -d: | uniq -c

查看cpu型号

5

df -h

查看磁盘空间

6

du -sh 目录名

查看指定目录大小

7

free -g

查看内存使用情况

8

top

查看进程

9

kill -9 进程号

强制关闭进程

10

ethtoo ethX

查询网卡参数

11

shutdown -h now、init0

立刻关机

12

shutdown -r now、reboot、init6

立即重启

13

Export LANG=zh_CN

设置系统语言

14

ps –ef|grep 进程名

查看进行

15

netstat -ntl|grep 端口号

查看端口占用情况

16

uanme –a

cat /proc/version

查看linux内核版本(2种方法)

17

tar -zxvf 文件名

解压.gz

18

rpm -ivh文件名

安装rpm

19

./dmserver /data/dmdbms/data/DAMENG/dm.ini -noconsole

启动DM数据库

20

常用vi命令:

列出行号:set nu

复制一行:yy

粘贴:p

跳转到第1行:1y

跳转到最后一行:yy

查找:/(如:/abc 查询 abc 开头的单词,输入n下一个   shift+n上一个)

21

mkdir -p /parent/sub1/sub2

创建多级目录

22

lsof -i :5236

查看端口状态

23

head -d 10 log.txt

查看日志文件前10行

24

date -s "2018-04-25 9:05"

clock -w

设置时间

写入cmos

25

ls -R

递归列出所有子目录

26

Ls -r

列出下级子目录

27

lsb_release –a,即可列出所有版本信息,适用于所有发行版;

cat /etc/redhat-release,适合redhat系的linux;

cat /etc/issue,适用于所有linux发行版。

查看linux系统版本(3种方法)

28

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值