Greenplum6安装部署实战

本文档详细记录了在3台虚拟机上安装Greenplum6.10的过程,包括系统参数配置、防火墙关闭、主机文件配置、账号免密设置、安装、数据存储区域设定及数据库初始化等关键步骤。


说明

  • 拿自己的3台虚拟机(1主2从),花了4天时间,参照官方文档,装了一套Greenplum6.10(下载链接:https://pan.baidu.com/s/1_GFVanc64ionI5X28W1A2A
    提取码:v42d )。
  • 默认情况下,一些文件操作的命令均需要在所有节点、单独执行

1.系统参数配置

1.1 关闭防火墙

-- 以root用户执行
systemctl stop firewalld.service
systemctl disable firewalld.service
-- 查看状态
systemctl status firewalld 

1.2 配置hosts文件

-- 添加 mdw、sdw1和sdw2 节点信息
vi /etc/hosts

127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.211.3	mdw
192.168.211.4	sdw1
192.168.211.5	sdw2

1.3 配置参数

1.3.1 sysctl.conf

/etc/sysctl.conf

# kernel.shmall = _PHYS_PAGES / 2 # See Shared Memory Pages
kernel.shmall = 197951838
# kernel.shmmax = kernel.shmall * PAGE_SIZE 
kernel.shmmax = 810810728448
kernel.shmmni = 4096
vm.overcommit_memory = 2 # See Segment Host Memory
vm.overcommit_ratio = 95 # See Segment Host Memory
net.ipv4.ip_local_port_range = 10000 65535 # See Port Settings
kernel.sem = 500 2048000 200 4096
kernel.sysrq = 1
kernel.core_uses_pid = 1
kernel.msgmnb = 65536
kernel.msgmax = 65536
kernel.msgmni = 2048
net.ipv4.tcp_syncookies = 1
net.ipv4.conf.default.accept_source_route = 0
net.ipv4.tcp_max_syn_backlog = 4096
net.ipv4.conf.all.arp_filter = 1
net.core.netdev_max_backlog = 10000
net.core.rmem_max = 2097152
net.core.wmem_max = 2097152
vm.swappiness = 10
vm.zone_reclaim_mode = 0
vm.dirty_expire_centisecs = 500
vm.dirty_writeback_centisecs = 100
vm.dirty_background_ratio = 0 # See System Memory
vm.dirty_ratio = 0
vm.dirty_background_bytes = 1610612736
vm.dirty_bytes = 4294967296

1.3.2 20-nproc.conf

设置OS文件和进程的最大数量

/etc/security/limits.d/20-nproc.conf	
# 注意:这里的 * 也是内容 
* soft nofile 524288
* hard nofile 524288
* soft nproc 131072
* hard nproc 131072

2.账号免密配置

2.1 添加gpadmin账号

添加gpadmin账号,不能以root启动Greenplum

-- 添加用户组gpadmin
groupadd gpadmin
-- 添加账户gpadmin
useradd gpadmin -r -m -g gpadmin
-- 设置gpadmin的密码
passwd gpadmin
New password: <changeme>
Retype new password: <changeme>

-r : 建立系统账号
-m : 自动建立用户的登入目录
-g : 指定用户所属的群组

2.2 生成sshkey

账号切换为gpadmin ,生成sshkey

su gpadmin
ssh-keygen -t rsa -b 4096

Generating public/private rsa key pair.
Enter file in which to save the key (/home/gpadmin/.ssh/id_rsa):
Created directory '/home/gpadmin/.ssh'.
Enter passphrase (empty for no passphrase):
Enter same passphrase again: 

2.3 设置sudo权限

Grant sudo access to the gpadmin user

-- 切换为root
sudo - root 
-- 执行命令
visudo
-- 取消如下行的注销
%wheel        ALL=(ALL)       NOPASSWD: ALL

3. 开始安装

3.1 分发安装文件

预先下载好安装文件,复制到所有机器的/home/gpadmin/

下载链接,请参考:

https://network.pivotal.io/products/pivotal-gpdb#/releases/158026/file_groups/1083

3.2 yum安装

也可以使用yum安装,默认会被安装 在 /usr/local/

yum install -y greenplum-db-6.10.0-rhel7-x86_64.rpm

3.3 设置文件权限

修改安装文件的归属权限为gpadmin,不能用默认的root

$ sudo chown -R gpadmin:gpadmin /usr/local/greenplum*
$ sudo chgrp -R gpadmin /usr/local/greenplum*

3.4 设置免密

  • 在主节点,切换为gpadmin

  • 设置会话的临时环境变量

  • 添加 pgadmin的 public key 到所有其它机器

  • 执行完成后,确认/home/gpadmin/.ssh/known_hosts 有新内容

    su - gpadmin
    
    source /usr/local/greenplum-db-6.10.0/greenplum_path.sh    
    
    -- 依次执行命令: 1-N
    ssh-copy-id sdw1
    ssh-copy-id sdw2
    
    cat /home/gpadmin/.ssh/known_hosts
    
  • 分发至所有节点 N-N

    -- 编辑文件
    vi /home/gpadmin/hostfile_exkeys
    -- 参照 /etc/hosts,添加如下节点内容
    mdw
    sdw1
    sdw2
    
    -- 执行命令
    gpssh-exkeys -f /home/gpadmin/hostfile_exkeys 
    

3.5 确认安装完成

-- 在主节点下:
su - gpadmin

gpssh -f /home/gpadmin/hostfile_exkeys -e 'ls -l /usr/local/greenplum-db-6.10.0'

-- 如果还提示要输入密码,则redo ssh key exchange 
gpssh-exkeys -f hostfile_exkeys

4.设置数据存储区域

4.1 创建目录

-- 在主节点 ,root登录 
mkdir -p /data/master
chown gpadmin:gpadmin /data/master

-- 所有Segment,root登录
mkdir -p /data
chown gpadmin:gpadmin /data

4.2 副主节点下

– 此处安装 没有副节点,忽略

source /usr/local/greenplum-db/greenplum_path.sh 
gpssh -h smdw -e 'mkdir -p /data/master'
gpssh -h smdw -e 'chown gpadmin:gpadmin /data/master'

4.3 Segment设置

  • 主节点下,root 登录
su - root 
vi /home/gpadmin/hostfile_gpssh_segonly
-- 只添加Segment的内容
sdw1 
sdw2

-- 执行如下命令
source /usr/local/greenplum-db/greenplum_path.sh 
gpssh -f /home/gpadmin/hostfile_gpssh_segonly -e 'mkdir -p /data/primary'
gpssh -f /home/gpadmin/hostfile_gpssh_segonly -e 'mkdir -p /data/mirror'
gpssh -f /home/gpadmin/hostfile_gpssh_segonly -e 'chown -R gpadmin /data/*'
gpssh -f /home/gpadmin/hostfile_gpssh_segonly -e 'mkdir -p /data/primary'
  • sshRoot设置

    1)vi /etc/ssh/sshd_config,将PermitRootLogin的值改成yes,并保存
    PermitRootLogin yes
    
    2)service sshd restart 
    

5. 数据库初始化

5.1 配置hostfile_gpinitsystem

A Greenplum Database system must contain a master instance and at least two segment instances (even if setting up a single node system)

-- 只包含segment节点,主节点,pgadmin 登录
vi /home/gpadmin/hostfile_gpinitsystem

sdw1
sdw2

5.2 配置gpinitsystem_config

-- 先拿到备份:
cp $GPHOME/docs/cli_help/gpconfigs/gpinitsystem_config /home/gpadmin/gpconfigs/gpinitsystem_config
--修改为:
ARRAY_NAME="Greenplum Data Platform"
SEG_PREFIX=gpseg
PORT_BASE=6000 
-- 修改1
declare -a DATA_DIRECTORY=(/data/primary)
MASTER_HOSTNAME=mdw 
-- 修改2
MASTER_DIRECTORY=/data/master 
MASTER_PORT=5432 
TRUSTED SHELL=ssh
CHECK_POINT_SEGMENTS=8
ENCODING=UNICODE

5.3 执行初始化

-- 先把主节点的 /data 改为可写入 chmod
chmod -R 777 /data

--在/home/gpadmin下执行- 这是无 standby master时
gpinitsystem -c gpconfigs/gpinitsystem_config -h gpconfigs/hostfile_gpinitsystem

-- 如果是带standby的:则
gpinitsystem -c gpconfigs/gpinitsystem_config -h gpconfigs/hostfile_gpinitsystem -s tandby_master_hostname -S

--保存配置信息,可以作为新cluster的输入参数
gpinitsystem -c gpconfigs/gpinitsystem_config -O gpconfigs/config_template 

-- 查看状态
gpstate 
-- 启动Greenplum
gpstart -a 

5.4 TimeZone 设置

$ gpconfig -s TimeZone
$ gpconfig -c TimeZone -v 'US/Pacific'

5.5 设置环境变量 MASTER_DATA_DIRECTORY

-- 在主节点,gpadmin下
vi ~/.bashrc

-- 追加:
source /usr/local/greenplum-db/greenplum_path.sh
export MASTER_DATA_DIRECTORY=/data/master/gpseg-1

-- 生效:
source ~/.bashrc

-- If you have a standby master host, copy your environment file to the standby master as well. For example:
$ cd ~
$ scp .bashrc standby_hostname:`pwd`

6. psql连接

psql -h mdw -p 5432 -d postgres

-- 看下版本

demo=# select version();
                                                                                                version              
                                                                                  
---------------------------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------
 PostgreSQL 9.4.24 (Greenplum Database 6.10.0 build commit:cced3a78d1a0650ba21205438955d2df06644bc8) on x86_64-unknow
n-linux-gnu, compiled by gcc (GCC) 6.4.0, 64-bit compiled on Aug  5 2020 23:41:43
(1 row)


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值