GreenPlum-6.18.2 集群安装

一、基础环境

1、机器分布

IP

主机名

软件

服务

192.168.153.159

master01

GP-6.18.2

master

192.168.153.160

master02(standby)

GP-6.18.2

master

192.168.153.161

segment01

GP-6.18.2

segment

192.168.153.162

segment02

GP-6.18.2

segment

  • 服务器配置

系统内核版本

CPU/内存

磁盘

3.10.0-1160.6.1.el7.x86_64

8C*16G

300GB高效云盘

3.10.0-1160.6.1.el7.x86_64

8C*16G

300GB高效云盘

3.10.0-1160.6.1.el7.x86_64

20C*88G

8*7300GB本地盘

3.10.0-1160.6.1.el7.x86_64

20C*88G

8*7300GB本地盘

3、基础环境

#系统初始化配置

#vim /etc/sysctl.conf(将内容清空,粘贴下列配置)

kernel.shmall = 11322042

kernel.shmmax = 46375084032

#kernel.shmall = 1966483

#kernel.shmmax = 8054714368

kernel.shmmni = 4096

vm.overcommit_memory = 2

vm.overcommit_ratio = 95

net.ipv4.ip_local_port_range = 10000 65535

kernel.sysrq = 1

kernel.sem = 50100 128256000 50100 2560

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 = 3

vm.dirty_ratio = 10

vm.min_free_kbytes = 471956

#修改文件句柄数

#vim /etc/security/limits.conf(将内容清空,粘贴下列配置)

* soft nofile 524288

* hard nofile 524288

* soft nproc 131072

* hard nproc 131072

#关闭SEliunx

#vim /etc/selinux/config

SELINUX=disabled

4、安装依赖

#yum install zlib libevent bzip2 krb5-devel libyaml rsync zip ntp* ed apr-util -y

5、创建账户 

#创建gpadmin用户

#groupadd gpadmin

#赋予用户组

#useradd -g gpadmin -m -d /home/gpadmin -s /bin/bash gpadmin

#设置gpadmin用户密码

#password gpadmin

6、免密配置

#配置hosts文件

#vim /etc/hosts (并拷贝至集群所有节点)

192.168.153.159 master01

192.168.153.160 master02

192.168.153.161 segment01

192.168.153.161 segment02

  #配置密钥(root用户及gpadmin用户都需要进行免密配置)

   ssh-keygen –t rsa –b 2048 (一路回车键)

#分发master01节点秘钥至其他节点

       ssh-copy –I .ssh/id_rsa  hostname

7、下载软件

#greenplum-db-6.18.2-rhel7-x86_64.rpm

8、分区格式化

LVM 分区格式化

没有特殊要求的情况下,对数据盘进行分区使用lvm的方式。

#yum install lvm2-lvmetad && systemctl enable lvm2-lvmetad.service && systemctl start lvm2-lvmetad.service   // 安装并使用lvm

#fdisk -l   //查看磁盘

#fdisk /dev/vdb  //使用这种方式单分区最大2T。

#pvcreate /dev/vdb1  // 创建PV,即物理卷

#vgcreate vgdata /dev/vdb1   //创建VG,即卷组

#lvcreate -l 100%FREE -n lvdata vgdata   // 指定PE 的大小用于分区格式化

#mkfs.ext4 /dev/vgdata/lvdata //格式化为ext4文件系统

挂载磁盘

#mkdir /mnt/data/  && mount /dev/vgdata/lvdata /mnt/data

#echo /dev/vgdata/lvdata /mnt/data ext4 defaults 0 0 >> /etc/fstab

RAID10方式(这里指软raid)

生产环境使用的数据盘相对较大,为防止数据丢失,需要对磁盘做RAID 处理。这里使用mdadm 做软Raid10。

# yum install mdadm -y // 安装mdadm

将每4块盘组成一个raid0

#mdadm --create /dev/md1 -v --raid-devices=4 --level=raid10 /dev/vd{b..e}

#mdadm --create /dev/md2 -v --raid-devices=4 --level=raid10 /dev/vd{f..i}

格式化文件系统,使用xfs 文件系统(>4T)

#mkfs.xfs /dev/md1 &&   mkfs.xfs /dev/md2

挂载磁盘

#mkdir /mnt/data_{1..2}

#mount /dev/md1 /mnt/data_1  && mount /dev/md2 /mnt/data_2

#echo UUID=$(blkid /dev/md1 | awk 'BEGIN { FS="\"" } {print $2}') /mnt/data_1 xfs rw,nodev,noatime,nobarrier,inode64 0 0 >> /etc/fstab

#echo UUID=$(blkid /dev/md2 | awk 'BEGIN { FS="\"" } {print $2}') /mnt/data_2 xfs rw,nodev,noatime,nobarrier,inode64 0 0 >> /etc/fstab

附,删除raid10

  • 卸载raid10

#umount /mnt/md1

  • 停止服务

#mdadm -S /dev/md1

二、集群安装

第一部分单master集群安装部署

1、master 安装配置

1.1 安装greenplume RPM包

#rpm -ivh open-source-greenplum-db-6.18.0-rhel7-x86_64.rpm

默认安装目录/usr/local

1.2 赋权

#chown –R gpadmin.gpadmin /usr/local/greenplum-db-6.18

以下操作切换到 gpadmin用户操作

1.3 创建集群hostlist

#mkdir /home/gpadmin/ gpconfigs

编写GP的hosts配置文件

#cat gphosts_all

master01

master02

segment01

segment02

#cat gpseghosts_all

segment01

segment02

1.4 测试GP节点之间是否免密

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

#gpssh –f /home/gpadmin/conf/gphosts_all

=>pwd

1.5 创建资源目录

在Master节点创建master配文件目录

#mkdir –p /mnt/data_1/master

授权用户及用户组

    #chown –R gpadmin:gpadmin /mnt/data

在所有节点创建primary及mirror文件夹并授权(在master操作)

#gpssh –f /home/gpadmin/conf/gpseghosts_all

=>mkdir –p /mnt/data_1/{primary,mirror}

=>mkdir –p /mnt/data_2/{primary,mirror}

=>chown –R gpadmin:gpadmin /mnt/data_1

=>chown –R gpadmin:gpadmin /mnt/data_2

1.6 修改环境变量

# /home/gpadmin/.bash_profile

增加

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

export MASTER_DATA_DIRECTORY=/mnt/data_1/master/gpseg-1

2、segment 配置

2.1 安装greenplum

将master的greenplum拷贝到segment节点上,并作软连接

拷贝文件至segment所有节点

scp -r /usr/local/greenplum-db-6.18.2  root@hostname:/usr/local/

赋权segment节点文件

chown -R gpadmin:gpadmin /usr/local/greenplum-db-6.18.2

在segment节点创建软连接

ln -s /usr/local/greenplum-db-6.18.2 /usr/local/greenplum-db

2.2 配置环境变量

将master的/home/gpadmin/.bash_profile 拷贝到所有segment节点 

scp -r /home/gpadmin/.bash_profile  root@hostname:/home/gpadmin/.bash_profile

使配置文件生效

source /home/gpadmin/.bash_profile

3、初始化数据库

3.1 检查节点之间连通性

Master节点执行

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

3.2 执行初始化

gpinitsystem_config是初始化primary及mirror文件

cd /home/gpadmin/gpconfigs/

vim gpinitsystem_config

修改内容如下:

# FILE NAME: gpinitsystem_config

# Configuration file needed by the gpinitsystem

################################################

#### REQUIRED PARAMETERS

################################################

#### Name of this Greenplum system enclosed in quotes.

ARRAY_NAME="Greenplum Data Platform"

#### Naming convention for utility-generated data directories.

SEG_PREFIX=gpseg

#### Base number by which primary segment port numbers

#### are calculated.

PORT_BASE=6000

#### File system location(s) where primary segment data directories

#### will be created. The number of locations in the list dictate

#### the number of primary segments that will get created per

#### physical host (if multiple addresses for a host are listed in

#### the hostfile, the number of segments will be spread evenly across

#### the specified interface addresses).

declare -a DATA_DIRECTORY=(/mnt/data_1/primary /mnt/data_1/primary /mnt/data_2/primary /mnt/data_2/primary)

#### OS-configured hostname or IP address of the master host.

MASTER_HOSTNAME=master01

#### File system location where the master data directory

#### will be created.

MASTER_DIRECTORY=/mnt/data/master

#### Port number for the master instance.

MASTER_PORT=5432

#### Shell utility used to connect to remote hosts.

TRUSTED_SHELL=ssh

#### Maximum log file segments between automatic WAL checkpoints.

CHECK_POINT_SEGMENTS=8

#### Default server-side character set encoding.

ENCODING=UTF8

################################################

#### OPTIONAL MIRROR PARAMETERS

################################################

#### Base number by which mirror segment port numbers

#### are calculated.

MIRROR_PORT_BASE=7000

#### File system location(s) where mirror segment data directories

#### will be created. The number of mirror locations must equal the

#### number of primary locations as specified in the

#### DATA_DIRECTORY parameter.

declare -a MIRROR_DATA_DIRECTORY=(/mnt/data_1/mirror /mnt/data_1/mirror /mnt/data_2/mirror /mnt/data_2/mirror)

################################################

#### OTHER OPTIONAL PARAMETERS

################################################

#### Create a database of this name after initialization.

#DATABASE_NAME=name_of_database

#### Specify the location of the host address file here instead of

#### with the -h option of gpinitsystem.

#MACHINE_LIST_FILE=/home/gpadmin/gpconfigs/hostfile_gpinitsystem

初始化命令

#gpinitsystem -c gpinitsystem_config -h gpseghosts_all -O config_template

如果没有报错,则执行成功;如果有报错,则需要根据错误修复问题,并将创建的数据目录清理,重建后在执行该初始化命令

初始化数据库

#gpinitsystem -c gpinitsystem_config -h gpseghosts_all -S -O config_template

5、基础命令

5.1、数据库操作命令

gpstart  # 启动数据库

gpstop –r # 重启

gpstop –u # 重新加载配置文件,不重启数据库

gpstop  # 停止数据库

psql –d dbname # 连接数据库

5.2、集群检查命令

gpstate -e #查看mirror的状态

gpstate -f #查看standby master的状态

gpstate -s #查看整个GP群集的状态

gpstate -i #查看GP的版本

gpstate –m #查看集群mirror 配置和同步状态

gpstate –p #查看primary mirror 的安装目录和端口

gpstate --help #帮助文档,可以查看gpstate更多用法

第二部分 master standby 安装配置

1、基础安装

系统参数配置、依赖、软件、数据目录、免密登陆等 和master 保持一致。另外所有节点的hosts文件均需增加master2的ip地址映射。具体如下:

1:新建gpadmin用户,用户id与集群节点保持一直;

2:新建数据目录,chown gpadmin.gpadmin $DIR;

3:集群所有主机(Master节点和所有Segment节点)的hosts文件均需要添加Standby主机的信息。

4:完成系统初始化(关闭防火墙,selinux ,sysctl.conf ,limits.conf ...),具体参考greenplum 集群安装初始化安装步骤;

5:直接打通master节点 ssh 免密登陆新添加standby ;

6:standby节点 ssh 免密登陆集群其它节点,通过gpssh工具测试;

7:安装greenplum 软件包

8:检查新添加standby 节点安装目录权限,chown gpadmin.gpadmin $DIR

9:设置standby 节点gpadmin账户的环境变量,使之生效;

2、添加standby 节点

在确定上述基础安装没问题后,在master 节点执行添加standby 节点命令。

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

#gpinitstandby –s master2

3、集群验证

3.1 集群状态验证

master节点查看standby 状态

#gpstate –f

3.master standb节点切换

3.2.1、查看集群状态

#gpstate -f

3.2.2、模拟master1 down

# pg_ctl stop -s -m fast -D /opt/greenplum/data/master/gpseg-1

3.2.3、Standby 节点修改配置文件

#cat .bash_profile

export PGPORT=5432

3.2.4 激活standby (master2)节点为master 节点

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

#source /home/gpadmin/.bash_profile

#gpactivatestandby -d $MASTER_DATA_DIRECTORY

输入gpadmin 密码

3.2.5 验证

#gpstate –f

连接数据库验证

3.2.6 将master1 修改为standby 节点

Master1 将gpseg-1 目录移除

#/opt/greenplum/data/master/ && mv gpseg-1 gpseg-1.bak

Master2 上添加master1 为 standby 节点

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

# gpinitstandby -s master1

执行gpstate –s 查看

这里需要输入密码,因为之前没有做 master2 和master1 之间的认证。

第三部分 GPCC监控安装

1、GPCC 介绍

GPCC全称Greenplum Command Center,是Greenplum自带的一个监控工具,可以查看Greenplum服务器的CPU,磁盘,网络等信息,还可以查看执行的SQL语句,非常方便。

安装GPCC一定要与自己的Greenplum版本对应,否则不会正常工作。下面是一下安装需要用的一些链接地址:

VMware Tanzu Greenplum Command Center 安装文档

VMware Tanzu Greenplum Command Center 对应关系

https://network.pivotal.io/products/gpdb-command-center#/releases/895715 下载地址

2、GPCC 安装

2.1创建目录

#gpssh –f /home/gpadmin/conf/hostlist

=>mkdir –p /usr/local/greenplum-cc-6.5.0

=>chown –R gpadmin.gpadmin /usr/local/greenplum-cc-6.5.0

=>ln –s /usr/local/greenplum-cc-6.5.0 /usr/local/greenplum-cc

2.2 安装软件

解压后执行

#cd greenplum-cc-web-6.5.0-gp6-rhel7-x86_64

# gpccinstall-6.5.0 –W #-w 创建gpmon数据账户,并手动添加密码

安装完后,会看到在其他节点上也被安装。

   

2.3 配置认证

master pg_hba.conf

添加:

local   all     gpmon   md5

2.4 重载g配置文件

#gpstop –u

2.5 启动gpcc

# gpcc start –W  注意:如果存在 standby 节点,gpcc 可以在standby 启动(官方建议),

添加.pgpass

*:5432:gpperfmon:gpmon:xxxx

使用浏览器输入GPCC服务器地址,端口号28080登录WEB控制台,用户名密码默认为gpmon/123456

  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值