系统配置

在对Greenplum进行部署之前,一定要先确认防火墙是处于关闭状态
1.关闭防火墙

vi /etc/selinux/config

# 禁用SELINUX
SELINUX=disabled

2.系统关闭防火墙

# 关闭防火墙
systemctl stop firewalld

# 禁用防火墙
systemctl disable firewalld.service

# 查看防火墙状态
systemctl status firewalld

3.设置系统参数,使用vim /etc/sysctl.conf进行编辑

net.ipv4.ip_forward = 0
net.ipv4.conf.default.accept_source_route = 0
kernel.sysrq = 1
kernel.core_uses_pid = 1
net.ipv4.tcp_syncookies = 1
kernel.msgmnb = 65536
kernel.msgmax = 65536
kernel.sem = 250 64000 100 512
kernel.shmmax = 810810728448 # kernel.shmmax = kernel.shmall * PAGE_SIZE 
kernel.shmmni = 4096
kernel.shmall = 197951838	#kernel.shmall = _PHYS_PAGES / 2 # See Shared Memory Pages
net.ipv4.tcp_tw_recycle = 1
net.ipv4.tcp_max_syn_backlog = 4096
net.core.netdev_max_backlog = 10000
vm.overcommit_memory = 2
net.ipv4.conf.all.arp_filter = 1

编辑修改之后,通过sysctl -p使配置生效

sysctl -p

4.系统资源限制配置,通过vim /etc/security/limits.conf进入limits文件进行配置

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

同样在编辑修改之后,使用ulimit -u使修改后的限制配置生效
5.创建用户并配置免密登录

# 建立用户组
groupadd gpadmin

# 创建新用户
useradd gpadmin -r -m -g gpadmin
passwd gpadmin

# 配置gpadmin用户的密码
New password: Aa456123(输入密码)
Retype new password: Aa456123(输入密码)
 
# 设置组
usermod -aG wheel gpadmin

使用visudo修改sudo权限

%wheel ALL=(ALL) NOPASSWD: ALL

配置完成之后重启服务

reboot

配置ip免密登录

# 切换到gpadmin用户
su - gpadmin

ssh-keygen -t rsa -b 4096(一直回车 无需输入 如果ssh连接节点时提示输入密码 删除密钥重新生成)
# 对ip设置免密登录
ssh-copy-id -i ~/.ssh/id_rsa.pub ip
#此处有提示,直接回车 无需输入

对ip设置免密登录时,如果无数据权限,使用sudo vim /etc/ssh/sshd_config进入配置文件进行修改

# 添加如下修改
PasswordAuthentication yes

修改文件后使用sudo systemctl restart sshd使配置文件重启失效

安装

1.安装依赖包

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

2.安时钟服务并且同步时钟(可不操作)

# 安装时钟
yum install ntp

# 同步时钟
ntpdate

3.下载Greenplum6.116.2依赖包

# 如果在下载时告知无法连接服务,可在wget后添加--no-check-certificate进行下载
wget https://github.com/greenplum-db/gpdb/releases/download/6.16.2/open-source-greenplum-db-6.16.2-rhel7-x86_64.rpm

4.执行安装

yum install open-source-greenplum-db-6.16.2-rhel7-x86_64.rpm

修改安装目录所属用户和组

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

读取greenplum_path.sh使环境变量失效

source /usr/local/greenplum-db-<version>/greenplum_path.sh

创建数据目录并对数据库初始化

创建数据目录

1.创建数据库目录并对gpadmin进行授权

#创建目录
mkdir /data
mkdir /data/gp1
mkdir /data/gp2
mkdir /data/master

2.将文件夹授权给gpadmin

chown -R gpadmin:gpadmin /data

3.配置服务器地址

mkdir  /home/gpadmin/gpconfigs
cd /home/gpadmin/gpconfigs

4.创建配置文件

vi hostfile_exkeys
#输入以下内容
本机ip

vi hostfile_gpinitsystem
#输入以下内容
本机ip

执行授权命令

chown -R gpadmin:gpadmin /home/gpadmin/gpconfigs

数据库初始化

1.配置用户环境变量

#切换到gpadmin用户
su  gpadmin
cd 

#编辑文件.bash_profile
vim .bash_profile

#插入以下内容
source /usr/local/greenplum-<version>/greenplum_path.sh
export MASTER_DATA_DIRECTORY=/data/master/gpseg-1
MASTER_HOSTNAME=master
export PGPORT=5432
export PGUSER=gpadmin
export PGDATABASE=gemii_dw

#保存后刷新执行
source /home/gpadmin/.bash_profile

#继续编辑配置文件
vim .bashrc
source /usr/local/greenplum-db-<version>/greenplum_path.sh
export MASTER_DATA_DIRECTORY=/data/master/gpseg-1
export PGPORT=5432
export PGUSER=gpadmin
export PGDATABASE=gemii_dw

#保存后执行
source /home/gpadmin/.bashrc

2.复制数据库配置文件

# 拷贝文件
cp /usr/local/greenplum-db-6.13.0/docs/cli_help/gpconfigs/gpinitsystem_config  /home/gpadmin/gpconfigs

vim /home/gpadmin/gpconfigs/gpinitsystem_config进入配置文件并进行修改

#配置数据目录
PORT_BASE=6500
declare -a DATA_DIRECTORY=(/data/gp1 /data/gp2)
#配置主机名称
MASTER_HOSTNAME=gpm
#配置数据库名称
DATABASE_NAME=gemii_dw
#配置集群列表
MACHINE_LIST_FILE=/home/gpadmin/gpconfigs/hostfile_gpinitsystem

3.初始化数据库

#初始化
gpinitsystem -c /home/gpadmin/gpconfigs/gpinitsystem_config

Continue with Greenplum creation Yy/Nn>   y

4.配置远程登录数据库

#此处使用root用户进行编辑
su root

vi /data/master/gpseg-1/pg_hba.conf

#输入以下内容
host    all    all     0.0.0.0/0    trust

配置完成远程登录或者添加角色登录之后,记得gpstop -u使数据库重启

遇到的问题

1.在执行初始化命令gpinitsystem -c /home/gpadmin/gpconfigs/gpinitsystem_config时报错,错误信息如下
在这里插入图片描述
解决:出现这个问题的原因是在配置用户环境变量时PGUSER与当前角色用户不匹配导致,图片如下:
在这里插入图片描述
2.设置免密登录之后如果还是让输入密码,可以尝试将生产的密钥删除重新生成,生成密钥时一直回车即可,无需输入

如果大家还碰到过其他的问题,欢迎大家留言分享

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐