【greenplum】greenplum集群安装过程

1. 环境

操作系统: CentOS 7.9

cat /etc/centos-release
CentOS Linux release 7.9.2009 (Core)

GreenPlum: 6.24.6

机器规格:4U8G,磁盘100G

IP主机名端口备注
192.168.13.141mdw15432master host
192.168.13.142mdw25342standby host
192.168.13.143sdw1主: 6000-6001
镜像:7000-7001
segment host1,
2个主实例,2个镜像实例
192.168.13.144sdw2主: 6000-6001
镜像:7000-7001
segment host2,
2个主实例,2个镜像实例

2. 安装

2.1 下载安装包

去官网https://network.tanzu.vmware.com/products/vmware-greenplum#/releases/1327978/file_groups/14628 下载
下载后是一个rpm包:greenplum-db-6.24.6-rhel7-x86_64

2.2 安装前准备

2.2.1 主机名设置

按照机器规格中的主机,每个节点修改自己的主机名。

GreenPlum中,习惯将Master机器叫做mdw,Segment机器叫做sdw,dw(Data warehouse).

hostnamectl set-hostname mdw1
hostnamectl set-hostname mdw2
hostnamectl set-hostname sdw1
hostnamectl set-hostname sdw2

2.2.2 修改/etc/hosts

所有节点执行。

cat >> /etc/hosts <<"EOF"
192.168.13.141  mdw1
192.168.13.142  mdw2
192.168.13.143  sdw1
192.168.13.144  sdw2
EOF

2.2.3 创建用户

四个节点上都需要创建用户

groupadd -g 1530 gpadmin
useradd -g 1530 -u 1530 -m -d /home/gpadmin -s /bin/bash gpadmin
chown -R gpadmin:gpadmin /home/gpadmin
# 修改gpadmin用户的密码为gpadmin
echo "gpadmin:gpadmin" | chpasswd

2.2.4 创建host文件

所有节点上创建all_hosts文件

su - gpadmin
mkdir -p /home/gpadmin/conf/

cat > /home/gpadmin/conf/all_hosts <<"EOF"
mdw1
mdw2
sdw1
sdw2
EOF

所有节点上创建seg_hosts文件

su - gpadmin

cat > /home/gpadmin/conf/seg_hosts <<"EOF"
sdw1
sdw2
EOF

2.2.5 配置互信

集群ssh免密,做互信的配置,只在master节点 192.168.13.141上操作

# 1.生成秘钥对
ssh-keygen -t rsa

# 2.分发公钥
su - gpadmin
ssh-copy-id gpadmin@mdw1
ssh-copy-id gpadmin@mdw2
ssh-copy-id gpadmin@sdw1
ssh-copy-id gpadmin@sdw2

配置之后,在gpadmin就可以直接ssh {hostname}连接到目标主机,而不用输入密码。

2.2.6 关闭防火墙

所有节点执行

systemctl status firewalld
systemctl stop firewalld
systemctl disable firewalld

2.2.7 修改内核配置参数(所有节点)

所有节点执行

cat <<EOF > /etc/sysctl.conf
# kernel.shmall = _PHYS_PAGES / 2
kernel.shmall = 742216
# kernel.shmmax = kernel.shmall * PAGE_SIZE
kernel.shmmax = 3040116736
kernel.shmmni = 4096
vm.overcommit_memory = 2
vm.overcommit_ratio = 95
net.ipv4.ip_local_port_range = 10000 65535
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
EOF

重启使配置生效

sysctl -p

2.2.8 配置资源限制参数

/etc/security/limits.conf
系统默认的ulimit -n查出来的句柄数是1024,安装greenplum过程中,发现会报文件句柄数建议设置为65535,否则会安装失败。

* soft nofile 65535
* hard nofile 65535

关闭当前会话,重新登录,配置生效

2.3 安装GreenPlum

2.3.1 安装依赖包

yum install net-tools -y
yum install libcgroup-tools -y

yum install -y apr apr-util bash bzip2 curl krb5 libcurl libevent libxml2 libyaml zlib openldap openssh openssl openssl-libs perl readline rsync R sed tar zip krb5-devel

2.3.2 安装rpm包

安装rpm包

rpm -ivh greenplum-db-6.24.6-rhel7-x86_64.rpm

授权安装路径给gpadmin

chown -R gpadmin:gpadmin /usr/local/greenplum*

2.3.3 目录创建

##创建目录,用作集群数据的存储目录,所有节点操作
mkdir -p /greenplum/data/
chown -R gpadmin:gpadmin /greenplum


-- 所有节点
echo ". /usr/local/greenplum-db/greenplum_path.sh" >> /home/gpadmin/.bashrc

-- master配置
echo "export MASTER_DATA_DIRECTORY=/greenplum/data/master/gpseg-1" >> /home/gpadmin/.bashrc
echo "export PGDATABASE=postgres" >> /home/gpadmin/.bashrc

# 使配置文件生效
source /home/gpadmin/.bashrc

2.3.4 使用gpssh-exkeys打通所有服务器

使用gpssh-exkeys将所有机器的通道打开,这样在每台机器之间跳转,就不需要输入密码。否则在下一步做数据库初始化时,会让一直输入密码,使数据库初始化失败。

su - gpadmin
cd /home/gpadmin/conf
source /usr/local/greenplum-db/greenplum_path.sh
gpssh-exkeys -f all_hosts

执行结果:
在这里插入图片描述

2.3.5 数据库初始化

在master节点和standby节点上,创建数据目录

su - gpadmin
mkdir -p /greenplum/data/master

在segment节点上创建主实例数据库目录和镜像数据目录

mkdir -p /greenplum/data/primary
mkdir -p /greenplum/data/mirror

在master节点上配置数据库初始化配置文件

su - gpadmin
cat > /home/gpadmin/conf/initgp_config <<"EOF"
#指定primary segment的数据目录,多个目录表示一台机器有多个segment
declare -a DATA_DIRECTORY=(/greenplum/data/primary /greenplum/data/primary)
# mirror的数据目录,和主数据一样,一个对一个,多个对多个
declare -a MIRROR_DATA_DIRECTORY=(/greenplum/data/mirror /greenplum/data/mirror)
#数据库代号
ARRAY_NAME="rptgp"
#segment前缀
SEG_PREFIX=gpseg
#primary segment 起始的端口号
PORT_BASE=6000
MIRROR_PORT_BASE=7000
MASTER_PORT=5432
MASTER_HOSTNAME=mdw1
MASTER_DIRECTORY=/greenplum/data/master
DATABASE_NAME=rptgpdb
MACHINE_LIST_FILE=/home/gpadmin/conf/seg_hosts
EOF

执行初始化命令

su - gpadmin
gpinitsystem -c /home/gpadmin/conf/initgp_config -e=gpadmin -s mdw2 -P 5432 -S /greenplum/data/master/gpseg-1 -m 200 -b 256MB

gpinitsystem 参数含义

参数含义
-cgpinitsystem_config
-esuperuser_password
-sstandby_master_host,可选
-Pstandby_master_port,可选
-Sstandby_master_datadir,可选
-m等同于–max_connections=<number>,设置允许连接到master的最大客户端连接数。
-b等同于–shared_buffers=,设置1个Greenplum server实例共享内存缓存大小。

2.3.6 验证集群

(1) 通过查看端口检查服务是否启动

netstat -tulnp | grep 5432

(2) 通过sql查询

查询从节点

psql postgres -c 'SELECT * FROM pg_stat_replication;'

登录创建的数据库,查看端口

psql -d rptgpdb
# 显示数据库实例端口
show port;
# 显示监听地址
show listen_addresses;
# 查询seg的配置信息
select * from gp_segment_configuration order by 1;

(3) 通过工具查询
查看集群状态

gpstate -s

3. 参考资料

需要注册vmware账号才能下载

  • 开源版安装包:https://github.com/greenplum-db/gpdb
  • 官方版安装包:https://network.pivotal.io/products/vmware-greenplum#/releases/1163282/file_groups/9837
  • 官方版安装包:https://network.tanzu.vmware.com/products/vmware-greenplum#/releases/1327978/file_groups/14628
  • greenplum安装教程: https://zhuanlan.zhihu.com/p/642000988
  • greenplum安装部署:https://blog.csdn.net/msh6453/article/details/124892605
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值