首先去官网下载centos7:https://www.centos.org/download/,选择其中一个镜像下载即可,网上随意下载安装过程有风险!
安装系统注意事项:
1.选择英文安装过程(安装数据库到最后可能出现本地语言等问题)
2.选择Minimal Install版(尝试过图形化版本,重启后登陆会出现登陆不成功,跳回登陆界面的情况)
安装系统完成后对centos系统进行配置:
-
用yum安装net-tools,perl(可选)
#yum install net-tools –y #yum install perl
-
关闭防火墙和SELINUX
2.1关闭防火墙,因为是centos7开始firewalld取代了iptables
先查看#systemctl status firewalld
确认firewalld开机自动启动以关闭
# systemctl is-enabled firewalld
停止firewalld
# systemctl stop firewalld
关闭firewalld的开机自动启动
# systemctl disable firewalld
2.2查看SELinuxstatus
#sestatus
如果不是disabled,则需要修改参数:
vi /etc/selinux/config
修改SELINUX= disabled
-
接下来执行一些linux系统推荐配置,理论上不配置也不影响使用,只不过影响性能
vi /etc/sysctl.conf kernel.shmmax = 2000000000 kernel.shmmni = 4096 kernel.shmall = 16000000000 kernel.sem = 1000 2048000 400 8192 --------主要是单机性能差才会翻倍设置 xfs_mount_options = rw,noatime,inode64,allocsize=16m kernel.shmmax = 500000000 kernel.shmmni = 4096 kernel.shmall = 4000000000 kernel.sem = 250 512000 100 2048 ---翻2翻 kernel.sysrq = 1 kernel.core_uses_pid = 1 kernel.msgmnb = 65536 kernel.msgmax = 65536 kernel.msgmni = 2048 net.ipv4.tcp_syncookies = 1 net.ipv4.ip_forward = 0 net.ipv4.conf.default.accept_source_route = 0 net.ipv4.tcp_tw_recycle = 1 net.ipv4.tcp_max_syn_backlog = 4096 net.ipv4.conf.all.arp_filter = 1 net.ipv4.ip_local_port_range = 1025 65535 net.core.netdev_max_backlog = 10000 net.core.rmem_max = 2097152 net.core.wmem_max = 2097152 vm.overcommit_memory = 2
更改文件限制
vi /etc/security/limits.conf
在文件末尾添加如下:
* soft nofile 65536 * hard nofile 65536 * soft nproc 131072 * hard nproc 131072
磁盘io调度算法有多种:CFQ,AS,deadline推荐deadline,通过命令指定重启后的调度算法
如果是centos7,可以运行如下命令:# grubby --update-kernel=ALL --args="elevator=deadline"
设置预读块的值为16384
# /sbin/blockdev --getra /dev/sda ------------查看预读块,默认大小为8192 # /sbin/blockdev --setra 16384 /dev/sda ------------设置预读块大小16G
修改hosts文件确保几个主机之间能够互相识别,本次安装单机集群:
一个master,其余为segment,修改/etc/hosts文件
vi /etc/hosts
127.0.0.1 mdw
127.0.0.1 sdw1
127.0.0.1 sdw2
上述完成之后,重启系统之后开始进入安装数据库的步骤:(重点)
数据库安装软件:deepgreendb.16.30.rh6.x86_64.180607.bin可以去官网下载
本次安装目录在/usr/local下
(1)创建gpadmin组合用户
[root@localhost ~]# groupdel gpadmin
[root@localhost ~]# userdel gpadmin
[root@localhost ~]# groupadd -g 530 gpadmin
[root@localhost ~]# useradd -g 530 -u 530 -m -d /home/gpadmin -s /bin/bash gpadmin
[root@localhost ~]# passwd gpadmin
(2)安装
[root@localhostlocal]# chmod u+x ./deepgreendb.16.30.rh6.x86_64.180607.bin
[root@localhostlocal]# ./deepgreendb.16.30.rh6.x86_64.180607.bin
安装后的整体目录如下:
[root@localhost deepgreendb]# chown -Rgpadmin:gpadmin /usr/local/deepgreendb----文件夹附权限
(3)安装成功后开始配置:
[root@localhost local]# source/usr/local/deepgreendb/greenplum_path.sh
创建一个文件:hostfile_exkeys
[root@localhostdeepgreendb]# vi hostfile_exkeys
mdw
sdw1
sdw2
里面内容与etc/hosts节点的内容一样
[root@localhost deepgreendb]# gpseginstall -f hostfile_exkeys -u gpadmin -p gpadmin
----------用于创建master和segment节点的用户名和密码
切换到gpadmin用户进行操作:
[root@localhost deepgreendb]# su - gpadmin
[gpadmin@localhost~]$ source /usr/local/deepgreendb/greenplum_path.sh
使用gpssh工具来测试无密码登录所有主机,结果如下图:
[gpadmin@localhost ~]$ cd/usr/local/deepgreendb
[gpadmin@localhost deepgreendb]$ gpssh -fhostfile_exkeys -e ls -l $GPHOME
如果提示使用密码,请运行以下命令以重做SSH
[gpadmin@localhost deepgreendb]$gpssh-exkeys -f hostfile_exkeys
上述步骤完成后,创建Master数据存储区域
[root@localhost~]# mkdir -p /data/master
[root@localhost~]# chown gpadmin /data/master
[root@localhost deepgreendb]# vi hostfile_gpssh_segonly ----只含有segment节点
sdw1
sdw2
vi hostfile_gpssh_segonly这步主要是为了使用gpssh工具创建数据目录,单机安装一般手动
创建segment主机上创建主数据和镜像数据目录:
[root@localhost deepgreendb]# mkdir -p/data1/primary
[root@localhost deepgreendb]# mkdir -p/data2/primary
[root@localhost deepgreendb]# mkdir -p/data2/mirror
[root@localhost deepgreendb]# mkdir -p/data1/mirror
[root@localhost deepgreendb]# chown -R gpadmin /data1
[root@localhost deepgreendb]# chown -R gpadmin /data2
----------------------------------------------------------------------------------------------------
[root@localhost deepgreendb]# su - gpadmin
[gpadmin@localhost ~]$ cd/usr/local/deepgreendb
[gpadmin@localhost deepgreendb]$ vi hostfile_gpinitsystem
sdw1
sdw2
从安装软件的模板中拷贝一份gpinitsystem_config文件到当前目录:
[gpadmin@localhostdeepgreendb]$ cp docs/cli_help/gpconfigs/gpinitsystem_config .
[gpadmin@localhost deepgreendb]$ vi~/.bashrc
source /usr/local/deepgreendb/greenplum_path.sh
export MASTER_DATA_DIRECTORY=/data/master/gpseg-1
export PGPORT=5432
export PGUSER=gpadmin
export PGDATABASE=test
[gpadmin@localhost deepgreendb]$ source ~/.bashrc
完成上述步骤建议快照下系统,下面进行最后一步,运行初始化工具初始化数据库:
[gpadmin@localhost deepgreendb]$ gpinitsystem -c gpinitsystem_config -h hostfile_gpinitsystem
安装成功,进行操作即可!
访问数据库psql
-d postgres
输入查询语句select
datname,datdba,encoding,datacl from pg_database;
显示信息如下:
备注:
1、设置客户端连接数据
1.1给数据库用户创建密码
1.2修改/master/gpseg-1目录下的pg_hba.conf配置文件
添加
host all dpadmin(数据库用户) 192.168.0.0/16 md5
2、执行gpssh -fhostfile_exkeys -e ls -l $GPHOME出错解决方法
执行gpssh -fhostfile_exkeys -e ls -l $GPHOME出现如下错误:
/lib64/libcrypto.so.10: version `OPENSSL_1.0.2’ not found (required by /home/dpadmin/deepgreendb/lib/libcrypto.so.10) ”
原因:数据库安装目录下的common.so.1.0.0文件与操作系统中的OPENSSL_1.0.2文件不兼容
解决方法:可以使用软连接,将安装目录下的libcrypto.so.10文件替换成系统本身自带的文件
mv /home/dpadmin/deepgreendb/lib/libcrypto.so.10 /home/dpadmin/deepgreendb/lib/libcrypto.so.10.bak
ln -s /lib64/libcrypto.so.1.0.2k /home/dpadmin/deepgreendb/lib/libcrypto.so.10
3、Greenplum数据库文档地址
https://gp-docs-cn.github.io/docs/admin_guide/ddl/ddl-table.html