Greenplum(4.3.73)集群安装手册
1. 概述
本文档仅限于指导Greenplum 4.3.7.3(对应安装包greenplum-db-4.3.7.3-build-2-RHEL5-x86_64.bin)版本在CentOS6.5 系统进行集群式安装指导。其他greenplum版本和centos系统不保证可以顺利安装完成。
本例集群为3台服务器,包括1个master节点,2个数据节点,每个数据节点设置1个segment和1个mirror
服务器ip |
服务器名称 |
用途 |
192.168.21.1 |
mdw |
Master节点 |
192.168.21.2 |
sdw1 |
数据节点 |
192.168.21.3 |
sdw2 |
数据节点 |
注:本文中的主机ip和服务器名称为举例说明,安装请以情况操作
2. 系统参数调整
2.1 以root用户登录,修改所有集群服务器(master和所有node)的OS参数。
关闭防火墙
#service iptables stop
#chkconfig iptables off
打开 /etc/selinux/config 设置
SELINUX=disabled
在/etc/sysctl.conf文件中修改一下参数后重启或者以sysctl –p 命令是参数生效(注意备份原配置文件):
kernel.shmmax = 500000000
kernel.shmmni = 4096
kernel.shmall = 4000000000
kernel.sem = 250 5120000 100 2048
#SEMMSL SEMMNS SEMOPM SEMMNI
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.default.rp_filter = 1
net.ipv4.conf.default.arp_filter = 1
net.ipv4.conf.all.arp_filter = 1
net.ipv4.ip_local_port_range = 1025 65535
net.core.netdev_max_backlog = 10000
vm.overcommit_memory = 2
打开/etc/security/limits.conf 在文件的末尾追加如下内容:
* soft nofile 65536
* hard nofile 65536
* soft nproc 131072
* hard nproc 131072
* soft core unlimited
以root用户登录,在所有集群服务器(master和所有node)上创建用户及用户组
#groupadd gpadmin
#useradd -g gpadmin gpadmin
#passwd gpadmin
#New password: <输入想要的密码回车>
#Retype new password: <再次输入想要的密码回车>
注意设置每台的密码
3. 数据库安装
以root用户登录在所有集群服务器进行解压安装
#unzip greenplum-db-4.3.7.3-build-2-RHEL5-x86_64.zip
#./greenplum-db-4.3.7.3-build-2-RHEL5-x86_64.bin
默认路径是/usr/local,需要输入[yes|no]的地方一律输入yes 回车
最终会看到“Installation complete”的字样, Greenplum数据库已经安装到/usr/local/greenplum-db下了。
Greenplum的环境变量已经在greenplum_path.sh中设置了,我们须要source一下
# source /usr/local/greenplum-db/greenplum_path.sh
主结点和从结点的全部执行完前三步后开始执行第四步
4. 初始化集群
以root用户登录所有集群服务器改变greenplum安转目录的owner为gpadmin:
#chown -R gpadmin /usr/local/greenplum-db
#chgrp –R gpadmin /usr/local/greenplum-db
以root用户登录master服务器编辑 /etc/hosts文件追加如下内容:(ip地址和服务器名以实际为准)
192.168.21.1 mdw
192.168.21.2 sdw1
192.168.21.3 sdw2
切换成gpadmin用户在master服务器,创建包含所有主机名的文件 /home/gpadmin/all_hosts内容如下:
mdw
sdw1
sdw2
以gpadmin用户在master服务器创建含segment 主机名的文件 /home/gpadmin/seg_hosts内容如下:
sdw1
sdw2
以gpadmin用户在master服务器和所有主机建立信任关系
$source /usr/local/greenplum-db/greenplum_path.sh
$ gpssh-exkeys -f /home/gpadmin/all_hosts
如果这一步提示密码错误,则需要进行下面的配置,在/etc/ssh /sshd_config
文件下追加下面内容,所有的GP结点都小设置。
如果使用上述方法还是提示密码错误:可以通过,在gpadmin用户下执行ssh-keygen命令来生成密钥对,然后将公钥拷贝到所有节点的认真文件。注意:所有的服务器都到做这个操作。
以gpadmin用户在master服务器通过gpssh命令创建master和segment主机上的数据存放目录
$cd /home/gpadmin
$ gpssh -f all_hosts
Note: command history unsupported on this machine ...
=>
输入pwd回车应该可以看到3台服务器的当前目录,说明通道建立成功,可以同步操作了。
=> pwd
[sdw2] /home/gpadmin
[sdw1] /home/gpadmin
[ mdw] /home/gpadmin
分别创建master目录、primary节点目录、mirror节点目录,此处创建的目录用于存储数据库数据,需根据实际情况指定创建目录的位置。
=> mkdir -p /ids/gpadmin/masterdata
=> mkdir -p /ids/gpadmin/segmentdata
=> mkdir -p /ids/gpadmin/segdatamirror
注意:以上存储gp数据的目录以实际情况为准。
mkdir: cannot create directory `/ids/gpadmin': Permission denied
mkdir gpadmin
chown gpadmin:gpadmin gpadmin
=> mkdir /ids/gpadmin/masterdata
=> mkdir /ids/gpadmin/segmentdata
=> mkdir /ids/gpadmin/segdatamirror
ctrl+d 退出
exit 退出
以gpadmin用户在master服务器同步时钟
gpssh -f /home/gpadmin/all_hosts -v ntpd
以gpadmin用户在master服务器将MASTER_DATA_DIRECTORY加入环境中,修改gpadmin用户的.bash_profile:
打开文件/home/gpadmin/.bash_profile在最后追加如下内容:
source /usr/local/greenplum-db/greenplum_path.sh
MASTER_DATA_DIRECTORY=/ids/gpadmin/masterdata/gpseg-1
export MASTER_DATA_DIRECTORY
export PGPORT=5432
export PGDATABASE=postgres
注意:MASTER_DATA_DIRECTORY目录请以实际情况为准
执行如下命令: source /home/gpadmin/.bash_profile
以gpadmin用户在master服务器创建/home/gpadmin/gpinitsystem_config文件,并追加如下内容:
ARRAY_NAME="EMC Greenplum DW"
SEG_PREFIX=gpseg
PORT_BASE=33000
declare -a DATA_DIRECTORY=(/ids/gpadmin/segmentdata /ids/gpadmin/segmentdata)
MASTER_HOSTNAME=gp-22
MASTER_DIRECTORY=/ids/gpadmin/masterdata
MASTER_PORT=5432
MACHINE_LIST_FILE=/home/gpadmin/seg_hosts
TRUSTED_SHELL=ssh
CHECK_POINT_SEGMENTS=8
ENCODING=UNICODE
MIRROR_PORT_BASE=43000
REPLICATION_PORT_BASE=34000
MIRROR_REPLICATION_PORT_BASE=44000
declare -a MIRROR_DATA_DIRECTORY=(/ids/gpadmin/segdatamirror /ids/gpadmin/segdatamirror)
注意:DATA_DIRECTORY,MIRROR_DATA_DIRECTORY,MASTER_DIRECTORY 请以实际为准
以gpadmin用户在master服务器运行配置文件初始化greenplum数据库:
$gpinitsystem -c /home/gpadmin/gpinitsystem_config
这个初始化过程中,会提示:Continue with Greenplum creation Yy/Nn输入Y 或者y
初始化成功后,Greenplum会自动启动,可以这么查看进程
$ps -e|grep postgres
如果有进程则说明启动成功,同理可去其他数据节点服务器使用该命名查看是否节点启动成功能工。
至此greenplum的集群已经安装成功且启动完成。
如果失败,去他指定的log查看日志
gpcheck -f /home/gpadmin/all_hosts -m gp-23
登录数据库
$psql postgres
设置密码
修改数据库管理员密码
postgres=# alter role gpadmin with password 'XXXXX';
修改任意远程客户端可登录gp数据库:
vi /ids/gpadmin/masterdata/gpseg-1/pg_hba.conf
在文件的最后追加如下内容保存并关闭
host all all 0.0.0.0/0 md5
vi /ids/gpadmin/masterdata/gpseg-1/postgres.conf
去掉#listen_addresses = '*' 前面的 # 保存退出
执行命令使配置生效
pg_ctl reload -D /ids/gpadmin/masterdata/gpseg-1/
创建个简单用户:
create role cloud password ‘cloud’;
赋值管理员权限给cloud用户
grant gpadmin to cloud;
注意:/home/gpadmin/masterdata目录根据安装实际目录路径决定
greenplum安装错误搜集:
1 在进行指定配置文件初始化时报错,查看日志文件信息为向节点插入端口=40000时不成功
解决办法:greenplum数据库是适用ed编辑器来进行文件编辑的。所以需要在linux系统上安装好ed编辑器。安装办法yum -y install ed
其他greenplum 管理方面的命令请自行寻找相关手册或文档学习。
Greenplum(4.3.73)集群安装手册的更多相关文章
- Greenplum 5.21.1 集群安装部署
简单来说GPDB是一个分布式数据库软件,其可以管理和处理分布在多个不同主机上的海量数据.对于GPDB来说,一个DB实例实际上是由多个独立的PostgreSQL实例组成的,它们分布在不同的物理主机上,协 ...
- 『GreenPlum系列』GreenPlum 4节点集群安装(图文教程)
目标架构如上图 一.硬件评估 cpu主频,核数推荐CPU核数与磁盘数的比例在12:12以上Instance上执行时只能利用一个CPU核资源进行计算,推荐高主频 内存容量 网络带宽重分布操作 R ...
- 【Oracle 集群】Oracle 11G RAC教程之集群安装(七)
Oracle 11G RAC集群安装(七) 概述:写下本文档的初衷和动力,来源于上篇的<oracle基本操作手册>.oracle基本操作手册是作者研一假期对oracle基础知识学习的汇总. ...
- kafka2.9.2的伪分布式集群安装和demo(java api)测试
目录: 一.什么是kafka? 二.kafka的官方网站在哪里? 三.在哪里下载?需要哪些组件的支持? 四.如何安装? 五.FAQ 六.扩展阅读 一.什么是kafka? kafka是LinkedI ...
- Ubuntu_10.04下Hadoop-0.20.2集群配置手册
Ubuntu_10.04下Hadoop-0.20.2集群配置手册 一.软硬件环境的准备 下面的文章来自hadoopor.com,我先交待一下我自己的环境: 两台机器,每台机器上面两个虚机(vmware ...
- Nginx+Tomcat+MemCached 集群配置手册
系统实施文档 Nginx+Tomcat+MemCached 集群配置手册 目 录 第1章 概述 1.1 目标 互联网的快速发展带来了互联网系统的高负载和高可用性, 这要求我们在设计系统架 ...
- zookeeper 介绍与集群安装
zookeeper 介绍 ZooKeeper是一个分布式开源框架,提供了协调分布式应用的基本服务,它向外部应用暴露一组通用服务——分布式同步(Distributed Synchronization). ...
- Kibana安装(图文详解)(多节点的ELK集群安装在一个节点就好)
对于Kibana ,我们知道,是Elasticsearch/Logstash/Kibana的必不可少成员. 前提: Elasticsearch-2.4.3的下载(图文详解) Elasticsearch ...
- Mdrill集群安装
Mdrill集群安装 mdrill是阿里妈妈-adhoc-海量数据多维自助即席查询平台下的一个子项目.旨在帮助用户在几秒到几十秒的时间内,分析百亿级别的任意维度组合的数据.mdrill是一个分布式的在 ...
随机推荐
- Win32汇编学习(8):菜单
这次我们将在我们的应用程序中加入一个菜单. 理论: 菜单可以说是WINDOWS最重要的元素之一.有了它,用户可以方便地选择操作命令.用户只要细读一下所有的菜单项就可以明了应用程序所提供的大概功能,而且 ...
- Linux I/O 调度算法
IO调度器的总体目标是希望让磁头能够总是往一个方向移动,移动到底了再往反方向走,这恰恰就是现实生活中的电梯模型,所以IO调度器也被叫做电梯. (elevator)而相应的算法也就被叫做电梯算法.而Li ...
- jQuery validator plugin之Methods
step method Makes the element require a given step. step( value ) value Type: Number Step value requ ...
- JDK1.8 新特性
jdk1.8新特性知识点: Lambda表达式 函数式接口 *方法引用和构造器调用 Stream API 接口中的默认方法和静态方法 新时间日期API https://blog.csdn.net/qq ...
- HADOOP HA 踩坑 - org.apache.hadoop.hdfs.qjournal.protocol.JournalNotFormattedException: Journal Storage Directory /mnt/data1/hadoop/dfs/journal/hdfscluster not formatted
报错:在journalnode的log中: org.apache.hadoop.hdfs.qjournal.protocol.JournalNotFormattedException: Journal ...
- git pull代码冲突。怪异问题,了解一下
当远程仓库代码与本地代码产生冲突,无法 pull,且决定放弃本地代码的时候. 或者, 碰见我这种不知道什么问题的情况, pull 成功了,但是远程仓库代码和本地代码竟然也不一样. 天呐,网管常规操作, ...
- SELinux 的初始和基本操作
SELinux 主要作用就是最大限度地减小系统中服务进程可访问的资源(最小权限原则). 设想一下,如果一个以 root 身份运行的网络服务存在 0day 漏洞,黑客就可以利用这个漏洞,以 root 的 ...
- Importing Maven projects' has encountered a problem
导入项目是报错,这个是maven问题--Importing Maven projects' has encountered a problem ---------------------------- ...
- Luffy之购物车页面搭建
前面已经将一些课程加入购物车中,并保存到了后端的redis数据库中,此时做购物车页面时,我们需要将在前端向后端发送请求,用来获取数据数据 购物车页面 1.首先后端要将数据构建好,后端视图函数如下代码: ...
- CKEditor富文本编辑器
CKEditor 富文本即具备丰富样式格式的文本.在运营后台,运营人员需要录入课程的相关描述,可以是包含了HTML语法格式的字符串.为了快速简单的让用户能够在页面中编辑带格式的文本,我们引入富文本编辑 ...