下载 https://network.pivotal.io/products/pivotal-gpdb#/releases/574280/file_groups/2410
1.8 配置YUM源,安装必备的包
配置本地yum源
cd /etc/yum.repos.d/
rm -rf *.repo
vi os.repo
[CentOS6]
name=Enterprise Linux 6
baseurl=file:///media/CentOS_6.9_Final
enabled=1
gpgcheck=0
yum clean all
yum repolist 检查是否配置正确
–该rpm包就在Package路径下
yum install -y lrzsz tree xfsprogs --XFS系统文件命令
yum install -y krb5-devel libyaml
1.2 关闭FIREWALL和Disable SElinux (3台机器) sestatus 光标行dd删除一行,之后大写O在光标行之上插入一行
vi /etc/selinux/config
SELINUX=disabled
关闭防火墙 检查 chkconfig --list | grep ip
chkconfig iptables off
chkconfig ip6tables off
1.1 配置 vi /etc/hosts (3台机器) G最后一行 $行尾
192.168.56.190 dsj dsj
192.168.56.191 dsj1 dsj1
192.168.56.192 dsj2 dsj2
(主机ip地址 主机名 hostlist配置中的名字)
cat /etc/sysconfig/network
1.5 控制文件 将原有的 kernel.shmmax 和 kernel.shmall 注释了 修改后 sysctl -p 使之生效 (3台机器)
[root@dsj ~]# vi /etc/sysctl.conf
kernel.shmmax = 500000000
kernel.shmmni = 4096
kernel.shmall = 4000000000
kernel.sem = 250 512000 100 2048
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
#vm.overcommit_memory 参数为0,1,2 0:表示内核将检查是否有足够的可用内存供应用进程使用;
1:表示内核允许分配所有的物理内存
2:表示内核允许分配超过所有物理内存和交换空间总和的内存
(必须为2,否则后续检查不通过)
[root@dsj ~]# vi /etc/security/limits.conf (3台机器)
End of file
- soft nofile 65536
- hard nofile 65536
- soft nproc 131072
- hard nproc 131072
[root@dsj ~]# vi /etc/security/limits.d/90-nproc.conf [将1024 修改为131072] (3台机器)
- soft nproc 131072
将所有用户限制调大
ulimit -u 用普通用户查看
1.3 设置预读块的值为65536 (3台机器) 需重启
vi /etc/rc.local
/sbin/blockdev --setra 65536 /dev/sda
#所有磁盘都需要调整 /sda /sdb /sdc
/sbin/blockdev --getra /dev/sda
#查看预读块,默认大小为256 ,官网建议修改为16384,但实际应该为65536
1.4 调整IO性能为deadline (3台机器) 需重启
vi /boot/grub/grub.conf
kernel elevator=deadline rhgb quiet
修改kernel所在行,在最后配置中添加上 elevator=deadline 即可
IO性能: deadline 数据库性能最好
cfq 默认的算法:绝对公平算法
cat /sys/block/sda/queue/scheduler
1.10 ntp服务 配置
服务端
vi /etc/ntp.conf 注释所有的server端,增加如下配置
restrict 192.168.56.190 mask 255.255.255.240 nomodify notrap
service ntpd start --启动服务
chkconfig ntpd on --配置开机启动
检查 chkconfig --list | grep ntpd
客户端
vi /etc/ntp.conf 注释所有的server端,增加如下配置
server 192.168.56.190
service ntpd start 启动服务
chkconfig ntpd on --配置开机启动
检查 chkconfig --list | grep ntpd
ntpq -p --检查
1.6 创建用户和组 cat /etc/group (3台机器)
groupadd -g 530 gpadmin
useradd -g 530 -u530 -m -d /home/gpadmin -s /bin/bash gpadmin
passwd gpadmin
/tmp
rpm -ivh greenplum-db-6.4.0-rhel6-x86_64.rpm
chown -R gpadmin:gpadmin /usr/local/greenplum-db*
–切换到gpadmin用户
source /usr/local/greenplum-db/greenplum_path.sh
ssh-keygen
ssh-copy-id dsj1
ssh-copy-id dsj2
1.7 创建 hostlist (每台机器)
su - gpadmin
mkdir gpdata
cd gpdata
mkdir gpmaster gpdatap1 gpdatap2 gpdatam1 gpdatam2
cd ~
mkdir conf
cd conf
vi hostlist
dsj
dsj1
dsj2
vi seg_hosts
dsj1
dsj2
2.2 建立通信 (主节点) 密码 gpadmin 用户
source /usr/local/greenplum-db/greenplum_path.sh
gpssh-exkeys -f /home/gpadmin/conf/hostlist 密码gpadmin
source /usr/local/greenplum-db/greenplum_path.sh
gpssh -f /home/gpadmin/conf/hostlist -e ‘ls /usr/local/’
gpcheckperf -f /home/gpadmin/conf/seg_hosts -r N -d /tmp
cat >> /home/gpadmin/.bashrc << EOF
source /usr/local/greenplum-db/greenplum_path.sh
EOF
1.11 GP推荐使用XFS系统,如将数据组文件磁盘挂载后使用XFS文件系统
测试阶段未执行此步骤
mkfs.xfs -f /dev/sdb
vi /etc/fstab
/dev/sdb /data1 xfs rw,noatime,inode64,allocsize=16m 1 1
–快照2 环境已准备
2.1 安装
[root@]cd /home/gpadmin
[root@]$ ./greenplum-db-5.0.0-alpha.1-build-1-rhel6-x86_64.bin
/opt/greenplum/greenplum-db-5
全部为yes 直至安装完毕
chown -R gpadmin:gpadmin /opt/greenplum
2.3 环境变量 source .bash_profile (每台机器) gpadmin 用户
source /usr/local/greenplum-db/greenplum_path.sh
export MASTER_DATA_DIRECTORY=/home/gpadmin/gpdata/gpmaster/gpseg-1
export PGPORT=2345
export PGDATABASE=testdb
alias cl=“clear”
2.4 单点主机命令
vi /home/gpadmin/conf/gpinitsystem_config
[gpadmin@mdw ~]$ cat /home/gpadmin/conf/gpinitsystem_config 主节点
ARRAY_NAME=“Greenplum”
SEG_PREFIX=gpseg
PORT_BASE=33000
declare -a DATA_DIRECTORY=(/home/gpadmin/gpdata/gpdatap1 /home/gpadmin/gpdata/gpdatap2)
MASTER_HOSTNAME=dsj
MASTER_DIRECTORY=/home/gpadmin/gpdata/gpmaster
MASTER_PORT=2345
TRUSTED_SHELL=/usr/bin/ssh
MIRROR_PORT_BASE=43000
REPLICATION_PORT_BASE=34000
MIRROR_REPLICATION_PORT_BASE=44000
declare -a MIRROR_DATA_DIRECTORY=(/home/gpadmin/gpdata/gpdatam1 /home/gpadmin/gpdata/gpdatam2)
MACHINE_LIST_FILE=/home/gpadmin/conf/seg_hosts
初始化 主节点
gpinitsystem -c /home/gpadmin/conf/gpinitsystem_config -h /home/gpadmin/conf/seg_hosts -D
2.5 启动和停止数据库测试是否能正常启动和关闭
$ gpstart -a
$ gpstop -a
2.6 访问数据库
psql -d postgres
$ psql
CREATE DATABASE testdb;
\c testdb;
select datname,datdba,encoding,datacl from pg_database;
$ psql -d testdb
–修改密码 原来没有默认密码
create role dbuser with login password ‘postgres’;
select * from pg_shadow;
–查看集群状态
select a.dbid,a.content,a.role,a.port,a.hostname,b.fsname,c.fselocation
from gp_segment_configuration a,pg_filespace b,pg_filespace_entry c
where a.dbid=c.fsedbid
and b.oid=c.fsefsoid
order by content;
select * from gp_segment_configuration where content=’-1’;
–测试建表、插入数据、查询
create table test1(name text,id integer) DISTRIBUTED BY(name);
\d test1 查看表结构
insert into test1(name,id) values(‘test1’,1);
insert into test1(name,id) values(‘test2’,2);
select name,id from test1;
退出psgl:\q
#################################################
find / -name postgresql.conf
find / -name pg_hba.conf
4.3 修改 postgresql.conf 文件 修改数据库默认接收的监听地址与端口参数
cd /opt/pgsql/data
listen_addresses = ‘*’
4.4 修改 pg_hba.conf 文件 告诉数据库服务器允许什么样的客户端地址连接
在IPv4 local connections:配置端增加如下一行
host all all 192.168.56.0/24 md5
vim /data/master/gpseg-1/pg_hba.conf
host testdb dbuser 192.168.56.0/24 md5
host all all 192.168.56.0/24 md5
$psql -U dbuser -W -h 192.168.56.190 -d testdb
select * from pg_shadow;
GPCHECK_ERROR host(None): utility will not check all settings when run as non-root user
greenplum 默认安装的pg版本太低了,pgadmin4只支持9.2以上的版本




