greenplum数据库安装
Posted 小徐xfg
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了greenplum数据库安装相关的知识,希望对你有一定的参考价值。
3.1.3 修改系统参数
3.1.3.1 修改hostname
临时修改
# hostnamectl set-hostname test-cn-01
永久修改
# vi /etc/sysconfig/network
# Created by anaconda
HOSTNAME=test-cn-01
以下是对所有的节点进行修改
vi /etc/hosts
192.168.***.*** gpmaster
192.168.***.*** gpstandby
192.168.***.*** gpsdw1
192.168.***.*** gpsdw2
192.168.***.*** gpsdw3
3.1.3.2 关闭防火墙,确保各个主机可以访问端口号
以下是对所有的节点进行修改
iptables -F
setenforce 0
sed -ri "/^SELINUX/cSELINUX=disabled" /etc/selinux/config
systemctl stop firewalld
systemctl disable firewalld
3.1.3.3 修改sysctl.conf参数
/etc/sysctl.conf 配置参数详解请查看:
vi /etc/sysctl.conf
kernel.shmmax = 34000000000
kernel.shmmni = 8192
kernel.shmall = 34000000000
kernel.sem = 1000 8192000 400 8192
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.all.arp_filter = 1
net.ipv4.ip_local_port_range = 1025 65535
net.core.netdev_max_backlog = 10000
net.core.rmem_max = 2097152
net.core.wmem_max = 2097152
vm.overcommit_memory = 2
vm.swappiness = 1
kernel.pid_max = 655350
立即生效
# sysctl -p
3.1.3.4 修改文件打开限制(所有主机)
limits.conf内核参数详解:
https://blog.csdn.net/xfg0218/article/details/91554032
# vi /etc/security/limits.conf #追加
* soft nofile 65536
* hard nofile 65536
* soft nproc 131072
* hard nproc 131072
3.1.3.5 禁用内存大页(所有主机)
以下是所有机器都要操作
# vi /etc/rc.local #追加,禁用大页
if test -f /sys/kernel/mm/transparent_hugepage/enabled; then
echo never > /sys/kernel/mm/transparent_hugepage/enabled
fi
if test -f /sys/kernel/mm/transparent_hugepage/defrag; then
echo never > /sys/kernel/mm/transparent_hugepage/defrag
fi
3.1.3.6 grubby命令添加
#修改 :
grubby --update-kernel=ALL --args="transparent_hugepage=never"
验证:
grubby --info=ALL
重启后验证办法:
cat /sys/kernel/mm/*transparent_hugepage/enabled
always [never]
3.1.3.7 修改读块大小
# /usr/sbin/blockdev --setra 16384 /dev/sda #此处sda磁盘要改成本机磁盘路径
方法1: 修改 /etc/rc.local
# echo deadline > /sys/block/sda/queue/scheduler #此处sda磁盘要改成本机磁盘路径
# chmod u+x /etc/rc.d/rc.local
方法2:使用grubby命令添加(RHEL 7.x or CentOS 7.x ):
grubby --update-kernel=ALL --args="elevator=deadline"
# 验证
grubby --info=ALL
3.1.3.8 I/O设置
以下参数需谨慎,需要配合运维人员来修改
XFS挂载选项
rw , nodev , noatime , nobarrier , inode64
设置blockdev预读尺寸
/sbin/blockdev --setra 16384 /dev/sdb
/dev/sdb : gp数据存放的目录的磁盘
设置磁盘I/O调度器为deadline
echo deadline > /sys/block/sbd/queue/scheduler
3.1.3.9 安装依赖包(所有机器都需要安装)
yum install -y git wget cmake3 rsync coreutils glib2 lrzsz sysstat e4fsprogs xfsprogs ntp zlib
yum install -y zlib-devel openssl openssl-libs openssl-devel pam pam-devel tcl-devel smartmontools
yum install -y OpenIPMI-tools openldap openldap-devel logrotate libcurl-devel htop perl-Env libffi-devel libtool
yum install -y libaio ed net-tools gcc gcc-c++ glibc-static make curl-devel bzip2-devel psutils psutils-perl
yum install -y liblockfile liblockfile-devel libevent libevent-devel vim-common vim-enhanced perl perl-devel
yum install -y perl-ExtUtils-Embed readline readline-devel apr apr-devel apr-util apr-util-devel libxml2
yum install -y libxml2-devel libxslt libxslt-devel bison bison-develbison-runtime flex flex-devel isomd5sum
yum install -y isomd5sum-devel libyaml libyaml-devel
yum install -y python python-devel python-isomd5sum python-setuptools python-py
yum install -y python-lockfile
yum install -y python-paramiko
yum install --y -enablerepo=centosplus openssl-devel bzip2 zip unzip
3.1.3.10 检测安装完的参数
# vi /etc/ld.so.conf
include ld.so.conf.d/*.conf
/usr/local/lib
/usr/local/lib64
# ldconfig
3.1.3.11 关闭CPU的numa
在操作系统中关闭,可以直接在/etc/grub.conf的kernel行最后添加numa=off,如下所示:
kernel /vmlinuz-2.6.32-220.el6.x86_64 ro root=/dev/mapper/VolGroup-root rd_NO_LUKS LANG=en_US.UTF-8 rd_LVM_LV=VolGroup/root rd_NO_MD quiet SYSFONT=latarcyrheb-sun16 rhgb crashkernel=auto rd_LVM_LV=VolGroup/swap rhgb crashkernel=auto quiet KEYBOARDTYPE=pc KEYTABLE=us rd_NO_DM numa=off
3.1.3.12 关闭irqbalance
irqbalance 用于优化中断分配,它会自动收集系统数据以分析使用模式,并依据系统负载状况将工作状态置于 Performance mode 或 Power-save mode。
查看状态
$ service irqbalance status
关闭服务
$ service irqbalance stop
3.1.3.12 JDK安装
请先安装好JDK版本
3.2 GP集群安装
3.2.1 创建 gpadmin 用户
以root用户,在以下所有的节点上创建gpadmin用户,并设置密码
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
3.2.2 解压Greenplum软件
切换到root用户下解压ZIP文件
解压并安装
tar -zxvf greenplum-db-5.11.1-rhel7-x86_64.zip
./greenplum-db-5.11.1-rhel7-x86_64.bin
按提示输入回车或 yes 这一步会将默认安装到/usr/local/下,建立软连接 greenplum-
db
ln -s greenplum-db greenplum-db-5.11.1
RPM文件按照以下操作
rpm -ivh greenplum-db-6.1.0-rhel7-x86_64.rpm
准备中... ################################# [100%]
正在升级/安装...
1:greenplum-db-6.1.0-1.el7 ################################# [100%]
安装完之后查看安装后的文件
# ll /usr/local/greenplum-db
greenplum-db/ greenplum-db-6.1.0/
3.2.3 设置 gpadmin 用户环境
使用gpadmin用户配置以下换将变量
vi .bashrc 和 vi .bash_profile
source /usr/local/greenplum-db/greenplum_path.sh
设置完后记得 source 一下使其立即生效。
source .bashrc
source .bash_profile
3.2.4 准备 gpadmin 节点配置文件(仅 master节点)
vi ./config/all_host
gpmaster
gpstandby
gpsdw1
gpsdw2
gpsdw3
3.2.5 建立节点之间互信
分别为root和gpadmin用户建立互信
source /usr/local/greenplum-db/greenplum_path.sh
gpssh-exkeys -f /home/gpadmin/gpconfig/all_host
[STEP 1 of 5] create local ID and authorize on local host
... /root/.ssh/id_rsa file exists ... key generation skipped
[STEP 2 of 5] keyscan all hosts and update known_hosts file
[STEP 3 of 5] retrieving credentials from remote hosts
... send to gpsdw1
... send to gpsdw2
... send to gpsdw3
[STEP 4 of 5] determine common authentication file content
[STEP 5 of 5] copy authentication files to all remote hosts
... finished key exchange with gpsdw1
... finished key exchange with gpsdw2
... finished key exchange with gpsdw3
[INFO] completed successfully
3.2.6 为其他主机安装greenplum
使用 root 账户,gpadmin 用户无权限
gpseginstall-f/home/gpadmin/gpconfig/all_host -u gpadmin -p 123456(gpadmin
密码)
验证安装
gpssh -f /home/gpadmin/gpconfig/all_host -e ls -l $GP_HOME
其他节点安装greenplum安装包
gpscp -f /home/gpadmin/gpconfig/all_hostgreenplum-db-5.11.1-rhel7-x86_64.bin=:/filepath
其他机器安装greenplum
gpssh -f /home/gpadmin/gpconfig/all_host
==> cd filepath
==> ./greenplum-db-5.11.1-rhel7-x86_64.bin
3.2.7 创建储存目录
切换为 root 用户
# su -
# source /usr/local/greenplum-db/greenplum_path.sh
创建primary节点目录
# gpssh -f /home/gpadmin/all_host -e 'mkdir -p /data/gpmaster'
# gpssh -f /home/gpadmin/all_host -e 'mkdir -p /data/primary’
# gpssh -f /home/gpadmin/all_host -e 'mkdir -p /data/primary’
# gpssh -f /home/gpadmin/all_host -e 'mkdir -p /data/primary'
# gpssh -f /home/gpadmin/all_host -e 'mkdir -p /data/primary'
*********
创建mirror节点目录
# gpssh -f /home/gpadmin/all_host -e 'mkdir -p /data/mirror’
# gpssh -f /home/gpadmin/all_host -e 'mkdir -p /data/mirror’
# gpssh -f /home/gpadmin/all_host -e 'mkdir -p /data/mirror'
# gpssh -f /home/gpadmin/all_host -e 'mkdir -p /data/mirror'
**********
设置目录的权限
# gpssh -f /home/gpadmin/all_host -e 'chown -R gpadmin:gpadmin /data'
3.2.8 设置初始化配置文件
复制初始化文件到配置目录下
/usr/local/greenplum-db-$version/docs/cli_help/gpconfigs/gpinitsystem_config/home/gpadmin/config
$version : 注意版本信息
vim/home/gpadmin/config/gpinitsystem_config
#集群名称
ARRAY_NAME="GPDev Data Platform"
#segment 命名前缀
SEG_PREFIX=gpseg
PORT_BASE=40000
#最大连接数
MASTER_MAX_CONNECT=1000
#数据目录
declare -a DATA_DIRECTORY=(/data/gpsegment/data/gpsegment
/data/gpsegment/data/gpsegment/data/gpsegment
/data/gpsegment/data/gpsegment/**** /data/gpsegment)
#master 主机名
MASTER_HOSTNAME=gpmaster
#master 路径
MASTER_DIRECTORY=/data/gpmaster
MASTER_PORT=5432
TRUSTED_SHELL=ssh
CHECK_POINT_SEGMENTS=8
ENCODING=UNICODE
MIRROR_PORT_BASE=50000
REPLICATION_PORT_BASE=41000
MIRROR_REPLICATION_PORT_BASE=51000
#镜像数据目录
MIRROR_PORT_BASE=7000
declare -a MIRROR_DATA_DIRECTORY=(/data/gpsegment/data/gpsegment
/data/gpsegment/data/gpsegment/data/gpsegment/data/gpsegment
/data/gpsegment/**** /data/gpsegment)
# 增加测试数据库
DATABASE_NAME=test
#segment 主机列表
MACHINE_LIST_FILE=/home/gpadmin/gpconfig/all_host
3.2.9 验证操作系统的设置
gpcheck –f/home/gpadmin/gpconfig/all_host-m master
3.2.10 初始化数据库
3.2.10.1 配置环境变量并初始化集群
切换为 gpadmin 用户
# su - gpadmin
设置环境变量(所有节点)
vi /home/gpadmin/.bash_profile和/home/gpadmin/.bashrc在最后添加
source /usr/local/greenplum-db/greenplum_path.sh
export MASTER_DATA_DIRECTORY=/data/gpmaster/gpseg-1
export GPPORT=5432
初始化数据库(仅 master 节点)
$ gpinitsystem -c /home/gpadmin/gpconfig/gpinitsystem_config -h
/home/gpadmin/gpconfig/all_host-s standby-hostname
注意:
1、集群的安装方式分为grouped模式和spread模式
2、执行初始化命令:gpinitsystem,默认的节点分布方式为grouped
3、gpinitsystem加上-S,节点分布方式为spread
4、standby-hostname为standby节点的IP地址
以上是关于greenplum数据库安装的主要内容,如果未能解决你的问题,请参考以下文章
Greenplum环境搭建 05GPSS扩展安装并使用GPKafka实现Kafka数据导入Greenplum数据库(安装包网盘分享)
Greenplum 实时数据仓库实践——Greenplum安装部署