greenplum安装配置

振鹭11个月前技术文章378
一、配置服务器安装环境
1、修改服务器内核参数(所有节点)
编辑sysctl.conf,需要设置共享内存Greenplum数据库使用共享内存在属于同一postgres实例的postgres进程之间进行通信。kernel.shmall设置可以在系统范围内使用的共享内存总量(以页为单位)。kernel.shmmax设置单个共享内存段的最大大小(以字节为单位)。根据系统的物理内存和页面大小设置kernel.shmall和kernel.shmax值。通常,两个参数的值都应为系统物理内存的一半。使用操作系统变量_PHYS_PAGES和PAGE_SIZE设置参数。
vim /etc/sysctl.conf

kernel.shmmax = 500000000
kernel.shmmni = 4096
kernel.shmall = 4000000000
2、修改服务器文件限制参数文件(所有节点)
vim /etc/security/limits.conf

* soft nofile 65536
* hard nofile 65536
* soft nproc 131072
* hard nproc 131072
3、关闭防火墙(所有节点)
systemctl stop firewalld
systemctl disable firewalld
4、设置selinux为disabled
vim /etc/selinux/config

selinux=disabled
5、创建用户和用户组
groupadd gpadmin      (创建用户组gpadmin)
useradd gpadmin -g gpadmin         (创建用户gpadmin由gpadmin用户组管理)
passwd gpadmin   (修改登录密码)


二、greenplum数据库的安装和部署

1、安装master节点
rpm -Uvh greenplum-db-5.20.0-rhe16-x86_64.rpm
greenplum将自动安装在/usr/local/greenplum-db-目录下
安装完成后,把greenplum安装目录权限授权给gpadmin用户:
chown -R gpadmin /usr/local/greenplum-db-<version>
chgrp -R gpadmin /usr/local/greenplum-db-<version>
2、安装其他节点
一个master节点的安装完成之后,我们要在其他节点安装greenplum。
首先,要以root用户执行gpseginstall命令,这个命令会将当前节点greenplum的安装文件复制到其他指定节点上
涉及的操作包括在:这些节点创建greenplum操作用户,设置默认密码,设置greenplum的安装目录权限,在节点间交换ssh key
具体方法如下:
(1)以root用户登录master节点,执行以下命令source命令应用环境变量
source /usr/local/greenplum-db-5.20.0/greenplum_path.sh
(2)创建一个文件名为hostfile_exkeys的文本文件,其中包含所有节点,比如master丶standby master丶segment节点的主机名(本次安装只安装master+segment节点)
vim hostfile_exkeys

master
seg1
seg2
(3)运行gpseginstall命令,使用-f选项指定包含各节点操作列表的文件,该命令会把greenplum二进制文件复制安装到其他节点,并且创建greenplum操作用户和密码。
gpseginstall -f hostfile_exkeys   (关键命令)
(4)完成上述步骤之后,需要验证是否已经正确安装greenplum。以gpadmin用户运行以下命令
source /usr/local/greenplum-db-5.20.0/greenplum_path.sh
然后,使用命令查看各节点是否已经安装greenplum
gpssh -f hostfile_exkeys -e ls -l $GPHOME
如果安装成功,不需要用户手动输入其他节点的登录密码,就会显示所有安装节点的安装目录,这些节点都应该有相同的安装目录,并且这些目录都属于goadmin用户。
如果要求输入登录密码,就需要重新执行ssh key交换命令
gpssh-exkeys -f hostfile_exkeys
3、初始化greenplum数据库
通常,要初始化一个greenplum数据库,首先要创建一个新的初始化配置文件,并根据实际情况修改相关参数;然后,使用gpinitsystem脚本来初始化数据库,该命令会在master节点丶standby节点,以及所有的segment节点上初始化数据库。初始化完成后,用户就可以使用greenplum数据库对数据进行各种操作
(1)vim一份配置文件
vim /home/gpadmin/gpconfigs/gpinitsystem_config
将下面参数添加进去,具体参数值请根据自己情况修改
ARRAY_NAME="Greenplum DW"
SEG_PREFIX=gpseg
PORT_BASE=6000 
declare -a DATA_DIRECTORY=(/data1/primary )
MASTER_HOSTNAME=master   --(注意是真实的host名)
MASTER_DIRECTORY=/data1/master 
MASTER_PORT=5432 
TRUSTED SHELL=ssh
CHECK_POINT_SEGMENTS=8
ENCODING=UNICODE
如果没有创建相关目录,可以使用gpssh命令批量创建,并修改所有者为goadmin用户(如果已经创好相应目录请忽略)
gpssh -f hostfile_exkeys -e mkdir -p /data1/primary
gpssh -f hostfile_exkeys -e chown gpadmin /data1/primary
gpssh -f hostfile_exkeys -e chgrp gpadmin /data1/primary
(2)初始化命令
cd~
gpinitsystem -c gpconfigs/gpinitsystem_config -h gpconfigs/hostfile_gpinitsystem
(3)设置gpadmin用户的环境变量,不然每次切换用户都得重新应用环境变量
vim /home/gpadmin/.bash_profile
source /usr/local/greenplum-db-5.20.0/greenplum_path.sh 
export MASTER_DATA_DIRECTORY=/data1/gpadmin/master/gpseg-1
export GPPORT=5432
export PGDATABASE=postgres
source /home/gpadmin/.bash_profile
三、测试登录preenplum
[gpadmin@master ~]$ *psql*
psql (8.3.23)
Type “help” for help.

postgres=# create table demo (id int) distributed by (id);
CREATE TABLE
postgres=# insert into demo values(1);
INSERT 0 1


相关文章

MySQL 8.0 新特性:Persisted System Variables

MySQL 8.0 新特性:Persisted System Variables

一、前言MySQL 5.7 之前我们修改参数变量后,需要将其手动写入到服务端配置文件中,否则重启后又恢复原有的配置,在 8.0 中可以在 MySQL 客户端直接将参数持久化,节省在服务器操作的步骤,下...

kafka部署建议

1       集群部署规范1.1      Cpu规格与挂盘数量的关系 &nb...

Hive3 on spark 集成

Hive3 on spark 集成

前置条件hadoop yarn环境正常oracle jdk 1.8版本1、spark2 下载准备https://archive.apache.org/dist/spark/spark-2.4.5/sp...

Kubernetes日志收集

Kubernetes日志收集

关于容器日志Docker的日志分为两类,一类是Docker引擎日志;另一类是容器日志。引擎日志一般都交给了系统日志,不同的操作系统会放在不同的位置。本文主要介绍容器日志,容器日志可以理解是运行在容器内...

MySQL 小版本升级

MySQL 小版本升级

MySQL 版本一般不需要经常升级,如果需要使用某个新特性或者修改 BUG 就不得不升级小版本。1. 环境调研当前数据库版本和需要升级到某个版本,如果升级需求 5.6.22+ 那么我们直接下载 5.6...

Elasticsearch如何使用内存

ES作为一个JAVA程序,其对内存的使用和管理依赖底层JVM。因而设置内存时需要遵从JAVA的普适原则,如-xmx和-xms设置为相同值等。在JVM的基础上,ES对内存的使用可按功能分为以下几大部分:...

发表评论    

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。