Greenplum集群安装
文章目录
- 主机与软件
- 环境准备
- 禁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集群安装相关推荐
- Greenplum集群安装配置及最佳实践
Greenplum集群安装配置及最佳实践 目录 Greenplum集群安装配置及最佳实践 1 目录 1 1 总体介绍 2 1.1 硬件平衡 2 1.2 高可用 2 1.3 部署方案 2 1.3.1 G ...
- Greenplum集群部署安装指南
目录 一.官方安装链接 二.Greemplum安装文件下载 三.数据库安装步骤 1.准备工作 (1)修改hostname (2)关闭SELinux (3)关闭防火墙 (4)配置/etc/hosts ( ...
- Greenplum集群Master与Standby相互切换
Greenplum集群Master与Standby相互切换 1 概述 1 2 查看集群的基本信息 2 2.1 查看集群的配置信息 2 2.2 快速查看down segments节点 2 2.3 查看M ...
- 2021年大数据HBase(二):HBase集群安装操作
全网最详细的大数据HBase文章系列,强烈建议收藏加关注! 新文章都已经列出历史文章目录,帮助大家回顾前面的知识重点. 目录 系列历史文章 前言 HBase集群安装操作 一.上传解压HBase安装包 ...
- hadoop集群安装
一.简述 本次集群安装基于4台虚拟集群下进行. hadoop版本使用 2.6.4 操作系统为 centos6.5 jdk版本为 jdk-7u67-linux-x64.tar.gz 二.准备 创建had ...
- mysql集群安装(centos)
永不放弃,一切皆有可能!!! 只为成功找方法,不为失败找借口! mysql集群安装(centos) mysql cluster : 1. 基于NDB Cluster 的分布式数据库系统 2. mysq ...
- redis3.0.0 集群安装详细步骤
2019独角兽企业重金招聘Python工程师标准>>> redis3.0.0 集群安装详细步骤 博客分类: 缓存 Redis集群部署文档(centos6系统) (要让集群正常工作至少 ...
- ZooKeeper伪分布式集群安装及使用
为什么80%的码农都做不了架构师?>>> ZooKeeper伪分布式集群安装及使用 让Hadoop跑在云端系列文章,介绍了如何整合虚拟化和Hadoop,让Hadoop集群跑在V ...
- KafKa集群安装、配置
一.事前准备 1.kafka官网:http://kafka.apache.org/downloads. 2.选择使用版本下载. 3.kafka集群环境准备:(linux) 192.168.145.12 ...
最新文章
- Spark的RDD序列化
- 为什么我的vc6.0建立工程时显示不能访问类查文件类信息,类查看信息不可用
- GLUEscript(wxJavascript)
- 《Python编程从入门到实践》记录之列表解析
- 三.rocketmq-console
- linux下命令行安装oracle 11g数据库
- 计算机音乐名侦探柯南简谱,《名侦探柯南》主题旋律|卡林巴琴简谱专用谱...
- 电脑开热点手机搜不到连不上
- 过QQ游戏大厅的SX保护
- 这有清理C盘空间的妙招,学会了就不怕内存满了
- MyEclipse8.5开发环境配置,SVN插件安装问题(转载)
- 新手做数据分析的5大误区,一定要避开!
- 双非计算机保研北邮经验贴|纯干货(面向平民)
- 数据库——《对数据进行排序》
- EFI和Legacy启动方式
- 维基解密网店被封,呼吁全球抵制Coinbase
- 什么叫Research?Welcome to the real world
- 利用Matlab进行图像变换(傅里叶变换、余弦变换)
- Office EXCEL
- 迪士尼影视动画票房创新高