设为首页 收藏本站
查看: 1148|回复: 0

[经验分享] Greenplum 在Linux下的安装(centOS,RedHat)

[复制链接]

尚未签到

发表于 2018-4-27 13:59:30 | 显示全部楼层 |阅读模式
Greenplum
on Linux

         网传的Greenplum安装教程多生搬硬套,很多不必要的东西也会列出来,导致环境的配置极其麻烦;官方的安装部署又显得太凌乱,100多页,让人难以消化。本文介绍了Greenplum分布式下的安装(Linux系统下:CentOS),教程精炼,是博主自己亲手搭建经历多次失败之后的总结,其中标注了多处细节,可大大提升安装者的安装成功率。


一.
Greenplum 支持的操作系统

SuSE
Linux SLES 10 update

CentOS
5.0 or higher

RedHat
Enterprise Linux 5.0 or higher

Solars
X86 v10 update 7 or higher

Mac
OS 10.5 or higher



本教程的系统是CentOS
6.6
,除了Mac
OS
的配置有所区别,其他的系统可以参照本文进行部属。


二.调整参数
1编辑/etc/sysctl.conf,以下是最小配置(把没有的输进去,不一样的修改之)
            vim /etc/sysctl.conf

kernel.shmmax = 500000000
kernel.shmmni = 4096
kernel.shmall = 4000000000
kernel.sem = 250 512000 100 2048
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

(2)修改文件打开数等限制
编辑/etc/security/limits.conf,添加一下几行(注意*也需要添加)
* soft nofile 65536
* hard nofile 65536
* soft nproc 131072
* hard nproc 131072  



(3)在正式安装之前关闭防火墙(包括从节点)
检测防火墙
#
/sbin/chkconfig --list iptables

关闭状态:iptables
0:off 1:off 2:off 3:off 4:off 5:off 6:off

使用以下命令关闭
/sbin/chkconfig
iptables off

修改/etc/selinux/config文件
SELINUX=disabled
出现以下情形则关闭成功(每太机器都要关闭)
DSC0000.png



4.编辑/boot/grub/grub.conf新增elevator=deadline[root
@bigdata03 ~]# more /boot/grub/grub.conf...elevator=deadline
crashkernel=auto ...



三、Linux环境下的安装


在此,我用的是VMware虚拟机,一共三台,一个主节点(mdw)两个从节点(sdw1sdw2
1. 在主节点上安装greenplum
1)下载greenplum(没有特定centOS版本的,选择第一条即可)
https://network.pivotal.io/products/pivotal-gpdb#/releases/669/file_groups/348

DSC0001.png

2)新建greenplum用户
    在root用户下:
useradd
gpadmin

passwd  yourpassword


3)将下载的gp解压并进行安装:
unzip
greenplum-db-*.*.*.*-
build-1-RHEL5-x86_64.zip
    得到greenplum-db-*.*.*.*-build-1-RHEL5-x86_64.bin文件,将其拷贝到/usr/local文件夹下进行安装(因为官网默认在此目录安装,为了不至于后面配置参数之类的太麻烦,我们也在这个目录下安装)。
/bin/bash
greenplum-db-*.*.*.*-
build-1-RHEL5-x86_64.bin
执行以上命令进行安装,过程中可能要按照提示输入几次yes

4)修改Greenplum所有者
#
chown -R gpadmin /usr/local/greenplum-db

#
chgrp       -R gpadmin /usr/local/greenplum-db

#
chown -R gpadmin /usr/local/greenplum-db-*.*.*.*

#
chgrp-R gpadmin /usr/local/greenplum-db-*.*.*.*



5)配置环境变量:
    其环境变量在/usr/local/greenplum-db/greenplum_path.sh文件中也有,可以参考
    打开/etc/profile对环境变量修改:
vim
/etc/profile

    添加以下文件:
        GPHOME=/usr/local/greenplum-db-4.3.6.2
        PATH=$GPHOME/bin:$GPHOME/ext/python/bin:$PATH
        export
GPHOME

        export
PATH



6)设置Master主机上的数据目录,指定数据存放位置,空间要足够。
#
mkdir /gpmaster

#
chown -R gpadmin /gpmaster

#
chgrp-R gpadmin /gpmaster

切记,在设置这个文件夹后需要修改gpadmin的环境变量,否则初始化GP的时候会找不到master的存储文件夹
gpadmin用户下:
vim
~/.bashrc

在末尾添加:
        MASTER_DATA_DIRECTORY=/gpmaster
        export
MASTER_DATA_DIRECTORY

之后记得     source ~/.bashrc


2.在各个区段服务器上安装GP
可以在每台机器上采用和主机master一样的安装方法,这样的话机器一多了就很麻烦,在此就不介绍这种方法了,参照主节点的安装即可;我们直接通过master主机对每台segment安装GP
1)对每台主机修改主机名(这个步骤我是单独到每台机器上去修改的):
修改主机名要在两个地方做修改:
a.
/etc/hosts
文件下:
vim
/etc/hosts

将第一行:127.0.0.1 localhost localhost.localdomainlocalhost4 localhost4.localdomain4
改为:  127.0.0.1   localhost sdw1localhost4 localhost4.localdomain4
(这里的sdw1表示segment1节点,其他机器类似,这里主节点叫mdw
b.        修改 /etc/sysconfig/network
vim
/etc/sysconfig/network

然后修改成下图形式,退出后加上一行命令
hostname
mdw

mdw是主节点的主机名,从节点是sdw1sdw2
DSC0002.png





2)在主节点中添加对应Segment服务器的IP与主机名
vim
/etc/hosts

在末尾添加如下内容
主节点IP主节点名
从节点IP从节点名
从节点IP从节点名

如图:
DSC0003.png

3)两个文件!!!
新建一个all_hosts文本和一个all_segs文本,编辑内容:
all_hosts
mdw
sdw1
sdw2
DSC0004.png
all_segs
sdw1
sdw2
DSC0005.png
也就是分别存储了所有节点和所有从节点的主机名(后面会经常用的)。


4)登陆gpadmin用户
执行
$source
/usr/local/greenplum-db/greenplum_path.sh

$gpssh-exkeys
-f /home/gpadmin/all_hosts
   (all_hosts是刚刚我们建立的文本)
出现以下提示,输入root密码:
5)出现以下提示,输入root密码:
***Enter
password for
root@hostname:
<root_password>

结果是下图就对了:
DSC0006.png

6
a.为每个区段建立gpadmin用户
gpssh
-f  /home/gpadmin/allsegs  '/usr/sbin/useradd gpadmin -d
/home/gpadmin -s bin/bash'

b.建立密码
gpssh
-f  /home/gpadmin/allsegs  'echo “gpadmin_password” | passwd
gpadmin –1'



7)复制greenplum软件到segment
host

a.主节点上创建安装GPtar文件
cd/usr/local
gtar
-cvf /home/gpadmin/gp.tar  greenplum-db-*.*.*.*

b.goscp命令将其安装到各个segment
source
/usr/local/greenplum-db/greenplum_path.sh

gpscp-f  /home/gpadmin/all_segs  /home/gpadmin/gp.tar =:/usr/local
启动gpssh会话
gpssh-f  /home/gpadmin/all_segs
gpssh下解压
=>
gtar - -directory  /usr/local-xvf/usr/local/gp.tar

建立gp当前版本目录连接:
=>
ln -s /usr/local/greenplum-db-*.*.*.*/usr/local/greenplum-db

8)修改目录所有者
=>chown-R gpadmin /usr/local/greenplum-db
=>chgrp-R
gpadmin /usr/local/greenplum-db

=>chown-R
gpadmin /usr/local/greenplum-db-*.*.*.*

=>chgrp-R
gpadmin /usr/local/greenplum-db-*.*.*.*



9)建立segment上的存储区
=>
=>mkdir/home/gpadmin/primary   #主文件
=>mkdir/home/gpadmin/mirror  #镜像文件
修改权限和所有者(同上一步(8))
10)退出gpssh交互模式
=>exit


3.初始化GP
1)同步时钟
gpadmin下:
检查时钟:gpssh-f  /home/gpadmin/all_hosts  -v  data
同步:gpssh-f  /home/gpadmin/all_hosts  -v  ntpd
出错就以root再次执行


2)系统检测:
gpcheckos-f  /home/gpadmin/all_hosts
此步骤会修复一些问题,不再列出


3)将/data/greenplum-db-4.2.1.0/docs/cli_help/gpconfigs/gpinitsystem_config/home/gpadmin/gpconfigs目录(没有就新建个)下然后编辑:
vigpinitsystem_config


# FILE NAME: gpinitsystem_config
# Configuration file needed by the gpinitsystem
################################################
#### REQUIRED PARAMETERS
################################################
#### Name of this Greenplum system enclosed in quotes.
ARRAY_NAME="EMC Greenplum DW"
#### Naming convention for utility-generated data directories.
SEG_PREFIX=gpseg
#### Base number by which primary segment port numbers
#### are calculated.
PORT_BASE=40000
#### File system location(s) where primary segment data directories
#### will be created. The number of locations in the list dictate
#### the number of primary segments that will get created per#### physical host (if multiple addresses for a host are listed in
#### the hostfile, the number of segments will be spread evenly across
#### the specified interface addresses).
declare -a DATA_DIRECTORY=(/home/gpadmin/primary)
#### OS-configured hostname or IP address of the master host.
MASTER_HOSTNAME=mdw
#### File system location where the master data directory
#### will be created.
MASTER_DIRECTORY=/gpmaster
#### Port number for the master instance.
MASTER_PORT=5432
#### Shell utility used to connect to remote hosts.
TRUSTED_SHELL=ssh
#### Maximum log file segments between automatic WAL checkpoints.
CHECK_POINT_SEGMENTS=8
#### Default server-side character set encoding.
ENCODING=UNICODE
################################################
#### OPTIONAL MIRROR PARAMETERS
################################################
#### Base number by which mirror segment port numbers
#### are calculated.
#MIRROR_PORT_BASE=50000
#### Base number by which primary file replication port
#### numbers are calculated.
#MIRROR_REPLICATION_PORT_BASE=51000
#### File system location(s) where mirror segment data directories
#### will be created. The number of mirror locations must equal the
#### number of primary locations as specified in the
#### DATA_DIRECTORY parameter.
##declare -a MIRROR_DATA_DIRECTORY=(/home/gpadmin/mirror /home/gpadmin/mirror /data1/mirror /data2/mirror /data2/mirror /data2/mirror)
declare -a MIRROR_DATA_DIRECTORY=(/home/gpadmin/mirror)
################################################
#### Create a database of this name after initialization.
#DATABASE_NAME=name_of_database
DATABASE_NAME=gpexmp
#### Specify the location of the host address file here instead of
#### with the the -h option of gpinitsystem.
MACHINE_LIST_FILE=/home/gpadmin/all_segs

4)初始化数据库:
gpinitsystem-c /home/gpadmin/gpconfigs/gpinitsystem_config
会出现很多info或者warn,如果有以下信息,说明初始化成功,
然后输入Y
DSC0007.png

5)刚刚我们编辑gpinitsystem_config文件时,修改了下面两句
#DATABASE_NAME=name_of_database
DATABASE_NAME=gpexmp
这里在初始化之后建立了一个叫example的数据库,我们可以进行测试:
gpadmin下:
执行以下查询
Psql-d  gpexmp
Gpexmp=#
select current_timestamp;


DSC0008.png


好了,如果出现以上结果就说明你安装成功了,可以对数据库进行操作了!恭喜!!!
  

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-452800-1-1.html 上篇帖子: Centos 7新手上路 下篇帖子: CentOS安装Samba文件服务器
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表