CentOS 7 安装 Greenplum6 (附 dotNET Core 示例)
Mysql 在面对大数据量的时候,还是表现有些吃力,所以产品中需要扩展能支持海量数据的数据库,这里选择的数据库为 Greenplum6 ,Greenplum 底层使用的是开源数据库 PostgreSQL 。本文会介绍怎样在 CentOS 7 中安装 Greenplum6,并使用 dotNET Core 程序进行连接访问。
环境
- CentOS:7.6
- Greenplum:6.15
- dotNET Core:3.1
- NpgSql:5.0.4
安装 Greenplum
1、执行命令 vi /etc/selinux/config
修改配置文件来禁用 SELinux ,如下图:
修改配置文件后,需要重启服务器生效。
2、执行命令 vi /etc/sysctl.conf
修改 OS 参数,在配置文件最后累加下面内容:
1 | # kernel.shmall = _PHYS_PAGES / 2 # See Note 1 |
修改配置文件后,执行 sysctl -p
使其生效。
3、执行命令 vi /etc/security/limits.conf
修改配置,内容如下:
1 | * soft nofile 524288 |
4、执行命令 vi /etc/security/limits.d/20-nproc.conf
修改配置,内容如下:
1 | * soft nofile 524288 |
修改完成后,重启系统使其生效。执行 ulimit -u
查看每个用户可用的最大进程数,如果返回值为 131072 说明正确。
5、执行下面的命令来设置预读块、I/O调度程序:
1 | /sbin/blockdev --setra 16384 /dev/sda* |
6、修改配置文件 /etc/systemd/logind.conf
,将 RemoveIPC
设置为 no
,如下图:
修改完后,执行命令 service systemd-logind restart
重启服务。
7、执行下面命令添加用户 gpadmin :
1 | groupadd gpadmin |
8、修改配置文件 /etc/sudoers
,允许 gpadmin
用户无密码使用 sudo
命令,添加内容如下图:
1 | gpadmin ALL=(ALL) NOPASSWD:ALL |
9、安装 Greenplum
从 https://github.com/greenplum-db/gpdb/releases 下载对应的 rpm 文件, 如下图:
在目录 /usr/local
目录中创建 greenplum
目录,将下载好的 rpm 文件复制到该目录中。
执行 rpm -ivh /usr/local/greenplum/open-source-greenplum-db-6.15.0-rhel7-x86_64.rpm
进行 Greenplum 6 的安装。执行命令时可能会出现下面的错误提示:
原因是有些依赖项没有被安装,依次执行下面的命令进行依赖项的安装:
1 | yum install -y apr |
依赖安装成功后,重新执行 rpm -ivh /usr/local/greenplum/open-source-greenplum-db-6.15.0-rhel7-x86_64.rpm
进行安装。成功安装后执行 chown -R gpadmin:gpadmin /usr/local/greenplum-db*
进行账户 gpadmin 的权限的设置。
10、执行命令 hostnamectl set-hostname gpdb
将主机名修改为 gpdb 。
11、修改 hosts 文件
执行 vi /etc/hosts
进行 hosts 文件的修改,如下图:
11、设置 gpadmin 账户的 ssh 免密登录
首先执行命令 su - gpadmin
切换到 gpadmin 账户。
在 /home/gpadmin
目录中创建文件 all_hosts ,内容为上面修改的主机名 gpdb ,然后执行下面命令:
1 | source /usr/local/greenplum-db/greenplum_path.sh |
12、执行下面命令使变量生效,在 gpadmin 账户下执行:
1 | su - gpadmin |
13、执行命令 vi /home/gpadmin/.bashrc
编辑该文件进行环境变量的配置,下面内容追加在文件最后:
1 | source /usr/local/greenplum-db/greenplum_path.sh |
14、执行下面命令进行数据目录的创建:
1 | mkdir -p /home/gpadmin/master |
执行命令 chown -R gpadmin:gpadmin /home/gpadmin/*
进行目录的授权。
15、初始化 Greenplum
首先复制配置文件到 /home/gpadmin 目录中:
1 | su - gpadmin # 切换到 gpadmin 账户 |
修改所需参数,执行命令 vi /home/gpadmin/gpconfigs/gpinitsystem_config
修改配置文件,在文件最后追加下面内容:
1 | declare -a DATA_DIRECTORY=(/home/gpadmin/data/gp1 /home/gpadmin/data/gp2 /home/gpadmin/data/gp3 /home/gpadmin/data/gp4) |
执行下面命令进行初始化操作:
1 | gpinitsystem -c /home/gpadmin/gpconfigs/gpinitsystem_config -h all_hosts |
执行过程中会出现交互,输入 y 继续即可,正常如下图:
16、设置远程连接配置
执行命令 vi /home/gpadmin/master/gpseg-1/postgresql.conf
修改配置,将 #listen_addresses = ‘*’ 前面的 # 取消,如下图:
执行命令 vi /home/gpadmin/master/gpseg-1/pg_hba.conf
修改配置,在文件最后追加下面内容:
1 | host all gpadmin 0.0.0.0/0 md5 |
17、修改密码和测试连接,在 gpadmin 账户下执行
1 | su - gpadmin # 切换到 gpadmin 账户 |
使用 Navicat 进行连接测试:
dotNET Core 示例
1、使用 VS2019 创建控制台项目 GreenplumDemo 。
2、安装 NuGet 包 NpgSql 。
3、使用 Navicat 连接上数据库,执行下面的 SQL 脚本进行表和数据的创建:
1 | CREATE TABLE user_test(user_name varchar(100)); |
4、GreenplumDemo 控制台项目添加如下代码:
1 | using System; |
只要你会使用 ADO.NET ,那么使用 Npgsql 就不存问题。
希望本文对您有所帮助。