文章目录

  • 主机与软件
  • 环境准备
    • 禁SELinux和防火墙
    • 修改Host
    • 修改内核参数
    • 加载XFS文件系统
    • 安装依赖
    • 修改读块大小
    • 设置io的调度算法
    • 安装ntp服务(可选,该手册未执行这步)
  • 安装
    • 创建用户
    • ssh免密登录到其他主机
    • 安装Greenplum
      • root用户
      • gpadmin用户
  • 操作
    • 创建用户
    • 配置远程登录
  • 安装监控
  • 新增节点
    • Segment
    • Standby
  • 优化

主机与软件

IP 主机名 角色
192.168.0.106 host106 Master
192.168.0.107 host107 Segment
192.168.0.108 host108 Segment
192.168.0.109 host109 Segment

CentOS 7.5.1804

greenplum-db-5.18.0-rhel7-x86_64.zip

greenplum-cc-web-4.6.1-LINUX-x86_64.zip

环境准备

以下内容需要在所有服务器都执行

禁SELinux和防火墙

$ SELinuxstatus: disabled
或者
$ vi /etc/selinux/config
SELINUX=disabled$ /sbin/chkconfig --list iptables
$ /sbin/chkconfig iptables off$ systemctl status firewalld
$ systemctl stop firewalld.service
$ systemctl disable firewalld.service

修改Host

vi /etc/hosts
192.168.0.106 host106
192.168.0.107 host107
192.168.0.108 host108
192.168.0.109 host109

修改内核参数

$ vi /etc/sysctl.confkernel.shmmax = 10737418240
kernel.shmmni = 4096
kernel.shmall = 2621440
kernel.sem = 500 2048000 200 40960
kernel.sysrq = 1
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.ipv4.ip_local_port_range = 10000 65535
net.core.netdev_max_backlog = 10000
net.core.rmem_max = 2097152
net.core.wmem_max = 2097152
vm.overcommit_memory = 2
vm.swappiness = 10
vm.zone_reclaim_mode = 0
vm.dirty_expire_centisecs = 500
vm.dirty_writeback_centisecs = 100
vm.dirty_background_ratio = 0
vm.dirty_ratio = 0
vm.dirty_background_bytes = 1610612736
vm.dirty_bytes = 4294967296# kernel.shmmax
# 配置了最大的内存segment的大小 ------>这个设置的比SGA_MAX_SIZE大比较好。
# 16G 内存,16*1024*1024*1024*90% = 15461882265,
# kernel.shmall
# 全部允许使用的共享内存大小,
# 15461882265/4k(getconf PAGESIZE可得到) = 3774873。$ sysctl -p$ vi /etc/security/limits.conf* soft nofile 524288
* hard nofile 524288
* soft nproc 131072
* hard nproc 131072

加载XFS文件系统

mount -o rw,noatime,inode64,allocsize=16m /dev/mapper/centos-home /home# 格式化XFS
fdisk /dev/mapper/centos-home
mkfs.xfs /dev/mapper/centos-home

安装依赖

yum install -y net-tools which openssh-clients openssh-server less zip unzip iproute.x86_64

修改读块大小

# 参看
/sbin/blockdev --getra devname
# 修改
/usr/sbin/blockdev --setra 16384 /dev/sda

设置io的调度算法

# 每个磁盘
echo deadline > /sys/block/devname/queue/scheduler# 或
grubby --update-kernel=ALL --args="elevator=deadline"

安装ntp服务(可选,该手册未执行这步)

$ yum install ntp -y
$ vi /etc/ntp.conf
serer 127.127.1.0

安装

只需在Master节点进行就可

创建用户

groupadd -g 530 gpadmin
useradd -g 530 -u 530 -m -d /home/gpadmin -s /bin/bash gpadmin
chown -R gpadmin:gpadmin /home/gpadmin
echo "gpadmin" | passwd --stdin gpadmin

ssh免密登录到其他主机

ssh-keygen -t rsa -f /etc/ssh/ssh_host_rsa_key
ssh-keygen -t ecdsa -f /etc/ssh/ssh_host_ecdsa_key
ssh-keygen -t ed25519 -f /etc/ssh/ssh_host_ed25519_key
/usr/sbin/sshd
systemctl start sshd.service

安装Greenplum

root用户

# 解压
$ tar -xzf greenplum-db-5.18.0-rhel7-x86_64.zip
$ ./greenplum-db-5.11.3-rhel7-x86_64.bin# 设置安装路径
/home/gpadmin/greenplum

注:如果运行安装报tar错误,可以vi greenplum-db-5.11.3-rhel7-x86_64.bin进行不影响原意的修改,然后保存。

$ cd /home/gpadmin/greenplum
$ source ./greenplum_path.sh$ vi all_hosts
host106
host107
host108
host109$ vi seg_hosts
host107
host108
host109$ gpssh-exkeys -f all_hosts
$ gpseginstall -f all_hosts -u gpadmin -p gpadmin$ gpssh -f all_hosts
mkdir -p /home/gpadmin/greenplum/gpdata/gpmaster
mkdir -p /home/gpadmin/greenplum/gpdata/gpdatap1
mkdir -p /home/gpadmin/greenplum/gpdata/gpdatap2
mkdir -p /home/gpadmin/greenplum/gpdata/gpdatam1
mkdir -p /home/gpadmin/greenplum/gpdata/gpdatam2# 未执行下面一步
$ gpssh -f all_hosts -v -e 'ntpd'$ gpcheck -f all_hosts -m localhostchown -R gpadmin:gpadmin /home/gpadmin

gpadmin用户

# 环境变量(su - gpadmin)
$ vi /home/gpadmin/.bashrc
source /home/gpadmin/greenplum/greenplum_path.sh
export MASTER_DATA_DIRECTORY=/home/gpadmin/greenplum/gpdata/gpmaster/gpseg-1
export GPPORT=5432$ source /home/gpadmin/.bashrc$ cp docs/cli_help/gpconfigs/gpinitsystem_config gpinitsystem_config
$ vi gpinitsystem_config
declare -a DATA_DIRECTORY=(/home/gpadmin/greenplum/gpdata/gpdatap1 /home/gpadmin/greenplum/gpdata/gpdatap2)
MASTER_DIRECTORY=/home/gpadmin/greenplum/gpdata/gpmaster
declare -a MIRROR_DATA_DIRECTORY=(/home/gpadmin/greenplum/gpdata/gpdatam1 /home/gpadmin/greenplum/gpdata/gpdatam2)# 初始化
$ gpinitsystem -c gpinitsystem_config -h seg_hosts# 启动关闭
gpstart -a
gpstop -agpstop -M fast# 连接数据库
$ psql -d postgres
select * from pg_database;

操作

创建用户

$ psql -d postgres
create user ysr superuser password '123456';

配置远程登录

# $ find / -name pg_hba.conf
$ su - gpadmin
$ vi ~/greenplum/gpdata/gpmaster/gpseg-1/pg_hba.conf
host    bigdataDB   lzsp   192.168.0.1/24   md5
# 更新配置
$ gpstop -u# 格式如下:
local database user auth-method [auth-options]
host database user CIDR-address auth-method [auth-options]
hostssl database user CIDR-address auth-method [auth-options]
hostnossl database user CIDR-address auth-method [auth-options]
host database user IP-address IP-mask auth-method [auth-options]
hostssl database user IP-address IP-mask auth-method [auth-options]
hostnossl database user IP-address IP-mask auth-method [auth-options]# [local] - 使用unix-domain socket连接
# [host] - 使用TCP/IP连接,host包含SSL和non-SSL连接
# [hostssl] - 使用TCP/IP连接, 只接受SSL加密连接
# [hostnossl] - 使用TCP/IP连接, 接受non-ssl连接
# [database] - 数据库名称,all表示全部数据库,多个数据库用逗号分隔
# [user] - 数据库用户,all表示全部数据库,多个数据用逗号分隔,+表示role或group的成员,@表示来源于外部文件
# [CIDR-address] - CIDR地址,如:172.20.143.89/32 ,"/"前面是ip地址,后面是子网掩码 (仅用于 host, hostssl, and hostnossl)
# [IP-address]/[IP-mask] - 跟CIDR-address是一样,只是2种表示方式 (仅用于 host, hostssl, and hostnossl)
# [auth-method] - 包含选项有: trust/reject/md5/password/gss/sspi/krb5/ident/ldap/radius/cert/pam
#   使用较多的: trust(不需要任何验证)
#                reject(拒绝任何请求)
#                md5(需要提供MD5加密的密码)
#                password(非加密的密码)
#                ident(OS用户本地连接)

安装监控

$ su - gpadmin
$ vi ~/greenplum/gpdata/gpmaster/gpseg-1/postgresql.conf# 取消注释
gp_enable_gpperfmon=on
gpperfmon_port=8888
gp_external_enable_exec=on# 增加
gpperfmon_log_alert_level=warning# 安装gpperfmon数据库
$ gpperfmon_install --enable --password gpmon --port 5432# 重启
$ gpstop -r
$ ps -ef | grep gpmmon# 检查gp监控是否监测到greenplum集群中的每台主机
$ psql -d 'gpperfmon' -c 'select * from system_now;'$ ./gpccinstall-4.6.1
# 修改安装目录
# /home/gpadmin/greenplum-web$ vi ~/.bashrc
source /home/gpadmin/greenplum-web/greenplum-cc-web-4.6.1/gpcc_path.sh
$ source ~/.bashrc$ gpcc start# http://IP:28080
# 进行访问 用户名/密码 gpmon/gpmon

新增节点

Segment

  • 在新增的每台节点上执行【环境准备】的内容;
  • 在新增的每台节点上执行【创建用户】;
  • 在其中一台进行安装,然后scp到其他节点;
  • 在新增的每台节点上执行【创建目录】,并chown目录;
  • 在新增的每台节点上,配置环境变量;
  • 在已有的主节点,进行免密操作(针对所有节点,修改all_hosts文件);
    gpssh-exkeys -f all_hosts_file
    
  • 初始化新扩展(在master上操作)
vi hosts_expand
host10
host11gpexpand -f hosts_expandWould you like to initiate a new System Expansion Yy|Nn (default=N):
> y
How many new primary segments per host do you want to add? (default=0):
> 4Enter new primary data directory 1:
> /app/data/gp1Enter new primary data directory 2:
> /app/data/gp2Enter new primary data directory 3:
> /app/data/gp3Enter new primary data directory 4:
> /app/data/gp4Enter new mirror data directory 1:
> /app/data/gpm1Enter new mirror data directory 2:
> /app/data/gpm2Enter new mirror data directory 3:
> /app/data/gpm3Enter new mirror data directory 4:
> /app/data/gpm4# 会生成gpexpand_inputfile_20171208_005718,需要修改后才能通过配置文件扩展数据库# trjdb是对应的数据库名
gpexpand -i gpexpand_inputfile_20171208_005718 -D trjdb# 假如上一步失败了,怎么办?
# 启动限制模式,回滚。
gpstart -R
gpexpand --rollback -D trjdb
gpstart -a
# 然后找问题继续上一步,直到成功。# 可以采用脚本进行表重分布
gpexpand -d 60:00:00

Standby

# 如果在GP已有集群中的机器中选择一台来搭建standby,
# 了解master节点用了哪些filespace.
postgres=# select a.dbid,a.content,a.role,a.port,a.hostname,b.fsname,c.fselocation from gp_segment_configuration a, pg_filespace b,pg_filespace_entry c where a.dbid=c.fsedbid and b.oid=c.fsefsoid order by content;# 了解master的即可,可以看到除了pg_system,还有一个filespace叫ssd1。# 进入初始化standby的步骤
# 根据第三步查到的信息,规划standby master filespace数据目录;
$ mkdir /disk1/digoal/gpdata
$ mkdir /disk1/digoal/new_p# 如果在不同的主机创建standby master,则建议使用同样的端口和目录结构。
# 如下:
$ gpinitstandby -F pg_system:/data01/gpdata/master_pgdata/gpseg-1 -s digoal_host199092.zmf ...
Do you want to continue with standby master initialization? Yy|Nn (default=N):
> y
...digoal=# select * from gp_segment_configuration where content='-1';# 如果在同一台主机创建standby master,则需要使用不同的端口和目录结构。
# 如下:
# 指定不同的filespace路径,不同的监听端口。
$ gpinitstandby -F pg_system:/disk1/digoal/gpdata/gpseg-2,ssd1:/disk1/digoal/new_p/gp-2 -P 1922 -s digoal_host.sqa.zmf# 启动standby
$ gpinitstandby -n# 查看standby延迟,查看pg_stat_replication 视图即可。
digoal=# select pg_switch_xlog();digoal=# select * from pg_stat_replication ;
digoal=# select * from pg_stat_replication ;

优化

$ su - gpadmin
$ vi /home/gpadmin/greenplum/gpdata/gpmaster/gpseg-1/postgresql.confmax_connections = 200
shared_buffers = 1600MB
max_prepared_transactions = 300
work_mem = 640MB# log
log_filename = 'pg-%Y%m%d.log'
log_truncate_on_rotation = on
log_min_messages = panic
log_statement = 'ddl'

Greenplum集群安装相关推荐

  1. Greenplum集群安装配置及最佳实践

    Greenplum集群安装配置及最佳实践 目录 Greenplum集群安装配置及最佳实践 1 目录 1 1 总体介绍 2 1.1 硬件平衡 2 1.2 高可用 2 1.3 部署方案 2 1.3.1 G ...

  2. Greenplum集群部署安装指南

    目录 一.官方安装链接 二.Greemplum安装文件下载 三.数据库安装步骤 1.准备工作 (1)修改hostname (2)关闭SELinux (3)关闭防火墙 (4)配置/etc/hosts ( ...

  3. Greenplum集群Master与Standby相互切换

    Greenplum集群Master与Standby相互切换 1 概述 1 2 查看集群的基本信息 2 2.1 查看集群的配置信息 2 2.2 快速查看down segments节点 2 2.3 查看M ...

  4. 2021年大数据HBase(二):HBase集群安装操作

    全网最详细的大数据HBase文章系列,强烈建议收藏加关注! 新文章都已经列出历史文章目录,帮助大家回顾前面的知识重点. 目录 系列历史文章 前言 HBase集群安装操作 一.上传解压HBase安装包 ...

  5. hadoop集群安装

    一.简述 本次集群安装基于4台虚拟集群下进行. hadoop版本使用 2.6.4 操作系统为 centos6.5 jdk版本为 jdk-7u67-linux-x64.tar.gz 二.准备 创建had ...

  6. mysql集群安装(centos)

    永不放弃,一切皆有可能!!! 只为成功找方法,不为失败找借口! mysql集群安装(centos) mysql cluster : 1. 基于NDB Cluster 的分布式数据库系统 2. mysq ...

  7. redis3.0.0 集群安装详细步骤

    2019独角兽企业重金招聘Python工程师标准>>> redis3.0.0 集群安装详细步骤 博客分类: 缓存 Redis集群部署文档(centos6系统) (要让集群正常工作至少 ...

  8. ZooKeeper伪分布式集群安装及使用

    为什么80%的码农都做不了架构师?>>>    ZooKeeper伪分布式集群安装及使用 让Hadoop跑在云端系列文章,介绍了如何整合虚拟化和Hadoop,让Hadoop集群跑在V ...

  9. KafKa集群安装、配置

    一.事前准备 1.kafka官网:http://kafka.apache.org/downloads. 2.选择使用版本下载. 3.kafka集群环境准备:(linux) 192.168.145.12 ...

最新文章

  1. Spark的RDD序列化
  2. 为什么我的vc6.0建立工程时显示不能访问类查文件类信息,类查看信息不可用
  3. GLUEscript(wxJavascript)
  4. 《Python编程从入门到实践》记录之列表解析
  5. 三.rocketmq-console
  6. linux下命令行安装oracle 11g数据库
  7. 计算机音乐名侦探柯南简谱,《名侦探柯南》主题旋律|卡林巴琴简谱专用谱...
  8. 电脑开热点手机搜不到连不上
  9. 过QQ游戏大厅的SX保护
  10. 这有清理C盘空间的妙招,学会了就不怕内存满了
  11. MyEclipse8.5开发环境配置,SVN插件安装问题(转载)
  12. 新手做数据分析的5大误区,一定要避开!
  13. 双非计算机保研北邮经验贴|纯干货(面向平民)
  14. 数据库——《对数据进行排序》
  15. EFI和Legacy启动方式
  16. 维基解密网店被封,呼吁全球抵制Coinbase
  17. 什么叫Research?Welcome to the real world
  18. 利用Matlab进行图像变换(傅里叶变换、余弦变换)
  19. Office EXCEL
  20. 迪士尼影视动画票房创新高

热门文章

  1. IBM SPSS Modeler数据库内建模
  2. 新浪SAE新增了普通开发者认证
  3. Special Judge(特判程序)在OnlineJudge(在线判题系统)中的使用方法
  4. 关于php页面无缘无故不能访问的一个问题
  5. FFmpeg 搭建本地屏幕录制环境
  6. justify-content容器属性
  7. [DWR(Ajax)]DWR使用笔记
  8. smalltalk_设计模式smalltalk和阅读代码的失落艺术
  9. async awit 异步调用的理解及应用
  10. 网易笔试题:地牢逃脱