GreenPlum5安装记录

GreenPlum5安装记录

安装前准备

挂载磁盘
# fdisk -l
# 查看磁盘信息
# df -h
# 查看磁盘使用
# 创建本地文件夹
mkdir /data1
# 格式化磁盘
mkfs -t ext4 /dev/vdb
# 挂载
mount /dev/vdb /data1
# 开机自动挂载
# vim /etc/fstab
/dev/vdb                                  /data1                  ext4    defaults        0 0
# 执行
mount -a
​
关闭SELINUX

cat /etc/selinux/config

SELINUX=disabled

依次执行:systemctl stop firewalld.servicesystemctl disable firewalld.service。 查看防火墙状态`systemctl status firewalld.service

配置hosts

集群中建议如下命名,方便统一管理:

  • mdw: Master

  • smdw: Master Standby

  • sdw0: Segment 1 ……

  • sdwn: Segment n

172.26.78.203 mdw sdw3
172.26.78.204 sdw1
172.26.78.205 sdw2 smdw
操作系统参数设置

vim /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
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.conf.default.arp_filter = 1
net.core.netdev_max_backlog = 10000
vm.overcommit_memory = 2
kernel.msgmni = 2048
net.ipv4.ip_local_port_range = 1025 65535

sysctl -p #生效

文件打开配置

vim /etc/security/limits.conf

* soft nofile 65536
* hard nofile 65536
* soft nproc 131072
* hard nproc 131072
磁盘预读参数

每个磁盘设备文件都应预读(blockdev)的值16384。

# blockdev --getra /dev/vdb
blockdev --setra 16384 /dev/vdb
deadline算法修改
# Centos7上
# grubby --update-kernel=ALL --args="elevator=deadline"
# grubby --info=ALL
# 查看
cat /sys/block/*/queue/scheduler
# 设置磁盘IO算法
echo deadline > /sys/block/磁盘/queue/scheduler
禁用透明大页面(THP)
grubby --update-kernel=ALL --args="transparent_hugepage=never"
cat /sys/kernel/mm/*transparent_hugepage/enabled
# always [never]
禁用 RemoveIPC

默认值 systemd 设置 RemoveIPC = YES非系统用户帐户注销时删除IPC连接。这将导致Greenplum数据库实用程序gpinitsystem因信号错误而失败。

cat  /etc/systemd/logind.conf
SSH连接数限制
# 某些Greenplum数据库管理实用程序包括 gpexpand, gpinitsystem和 gpaddmirrors,利用系统之间的安全外壳(SSH)连接来执行其任务。这些实用程序可能会超出主机的未认证连接的最大阈值。发生这种情况时,您会收到以下错误: ssh_exchange_identification:连接被远程主机关闭
vim /etc/ssh/sshd_config
Max Startups 10:30:200
service sshd restart
# start标识允许的最大未认证SSH连接尝试次数。一旦达到未经身份验证的连接尝试的起始次数,SSH守护程序将拒绝 后续连接尝试的速率百分比。 “完全”标识未认证连接尝试的最大数量,之后所有尝试都将被拒绝。
创建用户
groupadd gpadmin
useradd gpadmin -r -m -g gpadmin
passwd gpadmin # gpadmin
​
# 改变安装文件角色
chown -R gpadmin /usr/local/greenplum*
chgrp -R gpadmin /usr/local/greenplum*
​
# 搜索(ALL  后添加内容如下
vim /etc/sudoers 
# gpadmin ALL=(ALL)       ALL
下载软件
yum install -y unzip zip

安装进行

安装greenplum
  1. 使用root登录,在将成为Greenplum数据库主控主机的计算机上。如果您在主控主机上没有root访问权限,请运行二进制安装程序作为 gpadmin 用户并将软件安装到您具有写入权限的目录中。

  2. 将二进制安装分发文件下载或复制到主控主机。二进制安装程序分发文件名具有格式 Greenplum的-DB- - 的.zip 哪里 类似于 rhel7-x86_64的 (Red Hat 64位)或 SLES11-x86_64的 (SuSe Linux 64位)。

  3. 解压缩安装程序文件:

    unzip greenplum-db-<version>-<platform>.zip
    
  4. 使用启动安装程序

    # 为三台主机新建文件夹,后
    mkdir -p /data1/greenplum
    /bin/bash greenplum-db-<version>-<platform>.bin
    
  5. 安装

# mkdir /data1/greenplum
# 选择安装目录
/data1/greenplum/greenplum-db-5.21.3
# 安装
./greenplum-db-5.21.3-rhel7-x86_64.bin
********************************************************************************
Do you accept the Pivotal Database license agreement? [yes|no]
********************************************************************************
​
yes
​
********************************************************************************
Provide the installation path for Greenplum Database or press ENTER to 
accept the default installation path: /usr/local/greenplum-db-5.21.3
********************************************************************************
​
/data1/greenplum/greenplum-db-5.21.3
​
********************************************************************************
Install Greenplum Database into /data1/greenplum/greenplum-db-5.21.3? [yes|no]
********************************************************************************
​
yes
​
********************************************************************************
/data1/greenplum/greenplum-db-5.21.3 does not exist.
Create /data1/greenplum/greenplum-db-5.21.3 ? [yes|no]
(Selecting no will exit the installer)
********************************************************************************
​
yes
​
Extracting product to /data1/greenplum/greenplum-db-5.21.3
​
********************************************************************************
Installation complete.
Greenplum Database is installed in /data1/greenplum/greenplum-db-5.21.3
​
Pivotal Greenplum documentation is available
for download at http://gpdb.docs.pivotal.io
********************************************************************************
​
启动安装
  1. 切换到gpadmin用户
source /data1/greenplum/greenplum-db/greenplum_path.sh
  1. 配置文件准备

    所有的角色主机的host

    vim all_hosts

    mdw
    smdw
    sdw0
    sdw1
    sdw2
    

    vim seg_hosts

    sdw0
    sdw1
    sdw2
    

    vim diffrent_hosts 所有不同主机的hosts

    sdw0
    sdw1
    sdw2
    
  2. 应用免密登录

# 多节点执行
chown -R gpadmin /data1/greenplum/greenplum*
chgrp -R gpadmin /data1/greenplum/greenplum*
# 执行免密
gpssh-exkeys -f all_hosts
​
  1. 把主节点安装好的程序压缩分发到每个子节点
# 主节点打包
cd /data1/greenplum/
sudo tar -cf gp5.tar greenplum-db-5.21.3/
# 仅保留不同的主机名,并且除去master
cp /home/gpadmin/all_hosts /home/gpadmin/diffrent_hosts
# 更改
sudo chown -R gpadmin:gpadmin /data1/greenplum/
# 分发到各个节点
gpscp -f /home/gpadmin/all_hosts gp5.tar =:/data1/greenplum/
​
# 分发后到各个节点后到相应目录
cd /data1/greenplum/
tar xf
ln -s greenplum-db-5.21.3 greenplum-db
​
# 登录
gpssh -f /home/gpadmin/all_hosts
​
mkdir -p /data1/greenplum/data/{master,primary,mirror}

检查节点间连通性

gpcheckperf -f /home/gpadmin/all_hosts -r N -d /tmp
-------------------
--  NETPERF TEST
-------------------
​
====================
==  RESULT
====================
Netperf bisection bandwidth test
mdw -> sdw1 = 725.740000
sdw2 -> mdw = 714.190000
sdw1 -> mdw = 682.740000
mdw -> sdw2 = 720.160000
​
Summary:
sum = 2842.83 MB/sec
min = 682.74 MB/sec
max = 725.74 MB/sec
avg = 710.71 MB/sec
median = 720.16 MB/sec
​

复制配置文件

sudo cp /data1/greenplum/greenplum-db/docs/cli_help/gpconfigs/gpinitsystem_config .

开始安装

source /data1/greenplum/greenplum-db/greenplum_path.sh
gpinitsystem -c /home/gpadmin/gpinitsystem_config -h /home/gpadmin/seg_hosts -s smdw -S -D -v
配置source

vim ~/.bash

进阶操作

数据迁移

gpcopy数据迁移,测试不能迁移默认库

全库迁移
gpcopy --source-host 172.16.0.7 --source-port 5432 --source-user gpadmin --dest-host 172.16.0.3 --dest-port 5432 --dest-user gpadmin --full --drop
迁移相应数据库
gpcopy --source-host 172.16.0.7 --source-port 5432 --source-user gpadmin --dest-host 172.16.0.3 --dest-port 5432 --dest-user gpadmin --dbname postgres --truncate
正式环境迁移
gpcopy --source-host 172.16.0.3 --source-port 5432 --source-user gpadmin --dest-host 172.16.0.4 --dest-port 5432 --dest-user 'gpadmin!QAZ2wsx' --full --drop
dump迁移方法
pg_dump 数据库 -Ugpadmin -W  -f  数据库.dmp   
pg_dump postgres2 -Ugpadmin -W  -f  postgres2.dmp  
# 导入迁移的库到cabbeen库
nohup psql -f cabbeen.dmp cabbeen &

常用操作

命令操作
启动
# master节点
su gpadmin
cd ~
gpstart
停止
gpstart
# 作用:  开启gp数据库,将启动所有postgres数据库监听进程(master+所有segment)。gpstart总是运行在master上的
gpstop
# 作用:  用来停止或重启数据库,将停止所有postgres进程(master+所有segment)。gpstop总是运行在master上的默认情况下,系统将等待所有事务结束后再关闭,并且如果有任何活跃的连接都将不会停掉数据库。
gpstop -r
# 作用:  一旦数据库被成功关闭的话,将重启数据库系统。    
gpstop -u
# 作用:  将pg_hba.conf文件重新上传 并运行master中的postgresql.conf 文件的参数,期间不会中断服务。已建立连接的用户将不会使用最新配置,重连后将应用最新。部分服务配置参数是需要重启整个系统才能被激活(gpstop -r)。
gpstop -M fast
# 作用:  在快速模式下,停库。所有活跃事务将中断或回滚,所有活跃连接被取消。

master进入维护模式

gpstart -m
# 维护模式(maintenance mode) 指的是 仅仅启动master。用途 => 在不影响segment用户数据的情况下,仅用utility mode连接到master,并且在system catalog中编辑设定。

配置访问
# 以下在master节点操作
# 配置为0.0.0.0/0 md5 方式去验证
vim /data1/greenplum/data/master/gpseg-1/pg_hba.conf
# 刷新配置
gstop -u
# 进入数据库
psql -d postgres
# 创建超级管理员
create user cabbeenc superuser password 'cabbeen';
#退出
\q

重装指南

快速重装

如果有重要数据,重装前请备份。

 # master节点快速停止机器
 gpstop -M fast
 # 删除目录,可以使用gssh 也可以用xshelld的会话同时发送
 rm -rf /data1/greenplum/data/
 mkdir -p /data1/greenplum/data/{master,primary,mirror}
 chown -R gpadmin:gpadmin /data1/greenplum/


总结

进程分配不到内存,CPU占满
  • 8核32G机器,3节点 1master+1standly master+3segengt节点(每个安装4个segment primary)。在复杂sql时,导致CPU飙升和内存不够分配。
Greenplum的union all为串行执行
  • 在greenplum中在业务场景中测试,10个Union all 2s,20个6s,30个8s,60个18s,200个53s。备注:pg中是一个branch一个branch的,分区表也有类似的问题。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值