1.服务器配置
主机名 |
主机IP |
规格 |
数据盘-1 |
数据盘-2 |
说明 |
gp-master01 |
172.26.2.171 |
4 vCPU 8 GiB 40GB系统盘 |
ESSD 100GB |
|
segment节点,创建2个segment( 每个节点的磁盘独立) |
gp-segment01 |
172.26.2.172 |
4 vCPU 8 GiB 40GB系统盘 |
ESSD 200GB |
ESSD 200GB |
segment节点,创建2个segment( 每个节点的磁盘独立) |
gp-segment02 |
172.26.2.173 |
4 vCPU 8 GiB 40GB系统盘 |
ESSD 200GB |
ESSD 200GB |
master节点,暂不考虑standby节点 |
2.系统配置
2.1 配置主机名(所有节点)
注:这里的主机名为后续gp数据库之间通信的关键,为方便管理需统一主机名命名规范,如上表所示。
2.2 为所有主机创建gp用户(所有节点)
2.3 修改系统内核/etc/sysctl.conf文件(所有节点)
编辑文件vim /etc/sysctl.conf
说明:
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 表示当每个网络接口 接受数据包的速率比内核处理这些包的速率快时,允许发送到队列的数据包的最大数目
2.4 修改系统资源限制(所有节点)
- 编辑文件
vim /etc/security/limits.conf
2.5 关闭selinux和防火墙(所有节点)
2.6 磁盘分区挂载
2.6.1 安装lvm软件(所有节点)
2.6.2 gp-master01节点磁盘分区挂载
查看磁盘列表
创建PV
- 创建VG
创建LV
挂载LV到目录
开机自动挂载
2.6.3 gp-segment01节点磁盘分区挂载
查看磁盘列表
创建PV
创建VG
创建LV
挂载LV到目录
开机自动挂载
2.6.4 gp-segment02节点磁盘分区挂载
查看磁盘列表
创建PV
创建VG
创建LV
挂载LV到目录
开机自动挂载
3.Greenplum安装
3.1 安装依赖(所有节点)
3.2 安装greenplum(每个节点都需要安装)
3.2.1 下载安装包
3.2.2 安装数据库
3.2.3 配置greenplum环境变量(用户:gpadmin)
3.2.4 配置免密登录(用户:gpadmin)
- 将本机的公钥复制到各个节点机器的authorized_keys文件中
使用gpssh-exkeys 工具,打通n-n的免密登陆
3.2.5 校验你硬件以及网络性能
Greenplum提供了一个管理工具叫做gpcheckperf,它可以被用来测试以下性能:
这个工具可能会花费好一会来进行测试,因为它将在节点间复制大量的文件,当它结束时,你将会看见磁盘读写的总结果
3.3 集群初始化(用户:gpadmin)
3.3.1 编写初始化配置文件
3.3.2 根据需要修改参数
注意:To specify PORT_BASE, review the port range specified in the net.ipv4.ip_local_port_range parameter in the /etc/sysctl.conf file.
主要修改的参数:
3.3.3 集群初始化
3.3.4 安装成功后配置
3.3.5 客户端登录GP
客户端认证是由一个配置文件(通常名为pg_hba.conf
)控制的, 它存放在数据库集群的数据目录里。HBA的意思是host-based authentication
, 也就是基于主机的认证。在initdb初始化数据目录的时候, 它会安装一个缺省的pg_hba.conf文件。不过我们也可以把认证配置文件放在其它地方
3.3.6 客户端尝试登录