当前位置: 首页>前端>正文

greenplum7 linux 要求 greenplum安装部署

目录

一、前期准备

1、确定服务器

2、修改主节点hosts

3、为所有主机创建gp用户

4、修改系统内核/etc/sysctl.conf文件(所有节点)

5、 修改系统资源限制(所有节点)

6、查看防火墙和selinux,关闭selinux防火墙如果无用也关闭(获取开发指定端口)

二、Greenplum安装

1、安装greenplum(每个节点都需要安装)

方法一(推荐)

方法二

2、配置greenplum环境变量

3、配置免密登录

4、创建数据存储区域

5、校验你的硬件以及网络性能

6、创建Greenplum Database配置文件

7、初始化数据库

8、Greenplum数据库操作

1)集群操作

2)数据库登录退出


一、前期准备

1、确定服务器

我这里一共使用3台服务器,其中一台作为master,另外两台作为segment

IP

主机名

角色

10.170.1.1

h_xx01

master

10.170.1.2

h_xx02

segment

10.170.1.3

h_xx03

segment

注:这里的主机名为后续gp数据库之间通信的关键,所以如果你的服务器echo $HOSTNAME为空,那么需要你自己添加,方法网上有很多,这里不赘述了。

2、修改主节点hosts

注:只需要修改master节点即可

vi /etc/hosts

127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4

::1 localhost localhost.localdomain localhost6 localhost6.localdomain6

10.170.1.1 h_xx01

10.170.1.2 h_xx02

10.170.1.3 h_xx03

3、为所有主机创建gp用户

我这里使用的用户名为gpadmin

groupadd gpadmin 
useradd gpadmin -r -m -g gpadmin 
passwd gpadmin 
New password: <changeme> 
Retype new password: <changeme>

4、修改系统内核/etc/sysctl.conf文件(所有节点)

vi /etc/sysctl.conf

kernel.shmall = 197951838 #控制可以使用的共享内存的总页数 kernel.shmmax = 810810728448 #定义单个共享内存段的最大值,建议值为多于物理内存的一半,可取的最大值为物理内存值 -1byte  kernel.shmmni = 4096 #默认值4096 vm.overcommit_memory = 2 #说明在最后
kernel.sem = 500 2048000 200 40960
kernel.sysrq = 1 #设置为1表示开启sysrp功能
kernel.core_uses_pid = 1
kernel.msgmnb = 65536
kernel.msgmax = 65536
kernel.msgmni = 2048
net.ipv4.tcp_max_syn_backlog = 4096 #所能接受SYN同步包的最大客户端数量
net.ipv4.conf.all.arp_filter = 1
net.ipv4.ip_local_port_range = 1025 65535
net.core.netdev_max_backlog = 10000
net.ipv4.tcp_tw_recycle = 1 #表示开启TCP连接中TIME-WAIT sockets的快速回收,默认为0,表示关闭

保存后执行sysctl -p,让以上修改生效

说明:

vm.overcommit_memory可选值:0,1,2。

0,:表示内核将检查是否有足够的可用内存供应用进程使用;如果有足够的可用内存,内存申请允许;否 则,内存申请失败,并把错误返回给应用进程。

1:表示内核允许分配所有的物理内存,而不管当前的内存状态如何。

2: 表示内核允许分配超过所有物理内存和交换空间总和的内存

kernel.shmall参考值:

当内存为 12G 时, kernel.shmall = 3145728

当内存为 16G 时, kernel.shmall = 4194304

当内次为 32G 时, kernel.shmall = 8388608

当内存为 64G 时, kernel.shmall = 16777216

当内存为 128G 时, kernel.shmall = 33554432

kernel.sem 参数说明

500 信号集容纳最大信号数量  

2048000 所有信号的最大数量

200 调用单个信号集中最大信号数量

40960 信号集的最大值

kernel.msgmni:表示系统内最大消息队列个数 kernel.msgmnb:表示单个消息队列的最大容量 kernel.msgmax:表示消息队列中单个消息的最大容量

net.core.netdev_max_backlog 表示当每个网络接口 接受数据包的速率比内核处理这些包的速率快时,允许发送到队列的数据包的最大数目

5、 修改系统资源限制(所有节点)

vi /etc/security/limits.conf

* soft nofile 524288 
* hard nofile 524288 
* soft nproc 131072 
* hard nproc 131072

6、查看防火墙和selinux,关闭selinux防火墙如果无用也关闭(获取开发指定端口)

二、Greenplum安装

1、安装greenplum(每个节点都需要安装)

方法一(推荐)

gp数据库在安装是需要以下依赖包 apr apr-util openssh openssh-clients openssh-server
因此在安装数据库前使用yum方式安装依赖包
yum -y install apr apr-util openssh openssh-clients openssh-server
再安装数据库
rpm -ivh --prefix=/greenplum/gp open-source-greenplum-db-6.20.4-rhel7-x86_64.rpm
说明:--prefix=/greenplum/gp 为指定的安装路径,可自己修改

方法二

这种方式无需考虑依赖包的情况,但是实际安装时会发现装了很多无用的依赖包
sudo yum -y install greenplum-db-6.20.4-rhel7-x86_64.rpm --installroot=/greenplum/gp
说明:--installroot=/greenplum/gp 指定安装路径

2、配置greenplum环境变量

 注:这一步可以省略,但是在执行gp的相关命令前要source greenplum_path.sh

在这里我配置的方式比较偷懒,使用root用户直接在 /etc/profile文件末添加

vi /etc/profile 在末尾添加
source /greenplum/gp/greenplum-db-6.20.4/greenplum_path.sh

3、配置免密登录

在master服务器上使用gpadmin用户执行
source /greenplum/gp/greenplum-db-6.20.4/greenplum_path.sh
ssh-keygen -t rsa -b 4096

-bash-4.4$ ssh-keygen -t rsa -b 4096
Generating public/private rsa key pair.
Enter file in which to save the key (/greenplum/.ssh/id_rsa): 回车
Enter passphrase (empty for no passphrase): 回车
Enter same passphrase again: 回车
直接回车即可,如果输入密码还需要使用密码才可以打开key
使用ssh-copy-id命令添加gpadmin用户的公共密钥到集群中其余子节点的authorized_hosts SSH文件
执行命令
ssh-copy-id 主机名
根据提示输入yes,然后输入gpadmin设置的密码
创建文件,记录所有节点主机名
使用gpadmin创建免密互通主机名文件hostfile_exkeys(文件名自己随便起),该文件中记录所有记得主机名
执行如下命令为gpadmin用户配置免密SSH
source /greenplum/gp/greenplum-db-6.20.4/greenplum_path.sh
gpssh-exkeys -f hostfile_exkeys 
当你看到[INFO] completed successfully 表示完成

进行免密操作测试
gpssh -f hostfile_exkeys -e 'pwd'
假如安装成功,您应该可以没有密码打断的登录到所有的子节点,所有子节点都应该展示他们的路径,并且目录是gpadmin用户拥有的权限

4、创建数据存储区域

为主节点上创建数据存储区域,简单理解为创建一个目录用于存储主节点数据
mkdir /greenplum/gp/data_master
为子节点创建数据存储区域
创建一个文件segfile(文件名自定义),文件中记录所有从节点服务器的主机名
使用gpssh工具在所有从主机上创建主数据和镜像数据目录:
source /greenplum/gp/greenplum-db-6.20.4/greenplum_path.sh
gpssh -f segfile -e 'mkdir -p /greenplum/gp/primary'
gpssh -f segfile -e 'mkdir -p /greenplum/gp/mirror'
gpssh -f segfile -e 'chown -R gpadmin:gpadmin /greenplum/gp/primary'
gpssh -f segfile -e 'chown -R gpadmin:gpadmin /greenplum/gp/mirror'
上面命令中的路径和目录可依据需要自己随便取,但是在gp配置文件中,使用的目录名是primary和mirror

5、校验你的硬件以及网络性能

Greenplum提供了一个管理工具叫做gpcheckperf,它可以被用来测试以下性能:

校验网络性能

gpcheckperf -f segfile -r N -d /tmp > subnet1.out

校验磁盘I/O性能和内存带宽

gpcheckperf -f segfile -r ds -D -d /greenplum/gp/primary

gpcheckperf -f segfile -r ds -D -d /greenplum/gp/mirror

这个工具可能会花费好一会来进行测试,因为它将在节点间复制大量的文件,当它结束时,你将会看见磁盘读写的总结果

====================
==  RESULT 2022-05-31T16:19:35.393088
====================

 disk write avg time (sec): 1080.70
 disk write tot bytes: 540826861568
 disk write tot bandwidth (MB/s): 477.46
 disk write min bandwidth (MB/s): 233.77 [h_xx02]
 disk write max bandwidth (MB/s): 243.69 [h_xx03]
 -- per host bandwidth --
    disk write bandwidth (MB/s): 233.77 [h_xx02]
    disk write bandwidth (MB/s): 243.69 [h_xx03]


 disk read avg time (sec): 421.41
 disk read tot bytes: 540826861568
 disk read tot bandwidth (MB/s): 1223.95
 disk read min bandwidth (MB/s): 608.91 [h_xx02]
 disk read max bandwidth (MB/s): 615.04 [h_xx03]
 -- per host bandwidth --
    disk read bandwidth (MB/s): 608.91 [h_xx02]
    disk read bandwidth (MB/s): 615.04 [h_xx03]


 stream tot bandwidth (MB/s): 20407.00
 stream min bandwidth (MB/s): 10011.20 [h_xx02]
 stream max bandwidth (MB/s): 10395.80 [h_xx03]
 -- per host bandwidth --
    stream bandwidth (MB/s): 10395.80 [h_xx02]
    stream bandwidth (MB/s): 10011.20 [h_xx03]

6、创建Greenplum Database配置文件

在$GPHOME/docs/cli_help/gpconfigs/目录下有一个名为gpinitsystem_config的文件,
这个配置文件告诉gpinitsystem 工具你想如何配置greenplum数据库
复制 gpinitsystem_config 文件 For example:
cp gpinitsystem_config 你的路径
设置所有必须的参数以及可选参数
PORT_BASE=40000
declare -a DATA_DIRECTORY=(/data/primary) #可写多个,用空格分隔
MASTER_HOSTNAME=master
MASTER_DIRECTORY=/data/master
MASTER_PORT=5432
MIRROR_PORT_BASE=50000
declare -a MIRROR_DATA_DIRECTORY=(/data/mirror) #可写多个,用空格分隔
DATABASE_NAME=gpdb

7、初始化数据库

使用gpinitsystem命令来进行数据库的初始化
gpinitsystem -c gpinitsystem_config -h segfile
这个工具将会验证你的设置信息,并且确保它能够连接到每一个节点,访问你在配置文件中指定的数据目录。假如所有的预查都成功了,那么工具将会提示你确认你的配置,如下:
=> Continue with Greenplum creation? Yy/Nn
输入y并回车开始初始化
在成功设置的最后,工具将会启动你的greenplum数据库系统,你应该会看见
=> Greenplum Database instance successfully created.

8、Greenplum数据库操作

1)集群操作

停止和启动集群
gpstop#停止
gpstart –a #启动
gpstop –ra #重启
gpstate -e #查看mirror的状态
gpstate -f #查看standby master的状态
gpstate -s #查看整个GP群集的状态
gpstate -i #查看GP的版本
gpstate --help #帮助文档,可以查看gpstate更多用法

2)数据库登录退出

登录数据库
$ psql -d gpdb -p 20001 -U gpadmin
退出数据库
gpdb=# \q

https://www.xamrdz.com/web/2d61944722.html

相关文章: