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

被折叠的 条评论
为什么被折叠?



