greenplum数据库安装

Posted 盒马coding

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 6 安装配置详解

Greenplum 6 安装配置详解

Greenplum 实时数据仓库实践——Greenplum安装部署

Greenplum 实时数据仓库实践——Greenplum安装部署

Greenplum环境搭建 05GPSS扩展安装并使用GPKafka实现Kafka数据导入Greenplum数据库(安装包网盘分享)

在 OSX 上安装 Chorus 的 GreenPlum