root gpadmin都需要做ssh免密登录
创建gpadmin
useradd gpadmin
passwd gpadmin
centos7普通用户ssh免密需要:
chmod 700 ~/.ssh
chmod 600 authorized_keys
yum install -y apr apr-util bzip2 libyaml rsync zip unzip ntp dos2unix
rpm -Uvh greenplum-db-6.7.1-rhel7-x86_64.rpm
mkdir -p /home/gphome/gpmaster
mkdir -p /home/gphome/primary
mkdir -p /home/gphome/mirror
mkdir -p /home/gpdata/gpmaster
chown -R gpadmin:gpadmin /home/gphome
chown -R gpadmin:gpadmin /home/gpdata
####修改系统参数
vi /etc/sysctl.conf
#修改下列配置,以下是最小配置
kernel.shmmax = 500000000
kernel.shmmni = 4096
kernel.shmall = 4000000000
kernel.sem = 500 1024000 200 4096
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
####修改完毕后重新载入
sysctl -p
####修改文件打开数等限制
vi /etc/security/limits.conf
#添加如下几行(注意*也需要添加)
vi /etc/security/limits.d/90-nproc.conf
#添加如下几行(注意*也需要添加)
vi hostfile_exkeys
#包含Master和Segment
gpm
gpc
vi hostfile_segments
#只包含Segment
gpc
source /usr/local/greenplum-db/greenplum_path.sh
gpssh-exkeys -f hostfile_exkeys
su - gpadmin
####修改环境变量
vi ~/.bash_profile
#增加如下内容
export GPHOME=/usr/local/greenplum-db
export MASTER_DATA_DIRECTORY=/home/gpdata/gpmaster/gpseg-1
source ${GPHOME}/greenplum_path.sh
####重新载入环境变量
source ~/.bash_profile
####以gpinitsystem_config文件为模板
cp $GPHOME/docs/cli_help/gpconfigs/gpinitsystem_config ./gpinit_config
####配置gpinit_config
vi gpinit_config
修改如下配置,每个segment上1个数据文件夹,没有配置镜像
declare -a DATA_DIRECTORY=(/home/gpdata/primary)
MASTER_DIRECTORY=/home/gpdata/gpmaster
ENCODING=UTF8
####初始化
gpinitsystem -c gpinit_config -h hostfile_segments
####设置监听IP和Port
vi ${MASTER_DATA_DIRECTORY}/postgresql.conf
#设置监听所有IP(这是一个非常宽松的限制,生产环境慎用)
listen_addresses = ‘*’
port = 5432
####设置数据库白名单
vi ${MASTER_DATA_DIRECTORY}/pg_hba.conf
#增加如下一条记录,允许用户密码模式(这是一个非常宽松的限制,生产环境慎用)
host all all 0.0.0.0/0 trust
####启动,-a参数跳过用户确认步骤
${GPHOME}/bin/gpstart -a
####停止
${GPHOME}/bin/gpstop -a -M fast
####重新载入配置文件(不需要重启)
${GPHOME}/bin/gpstop -u
#查看集群状态
gpstate -s
psql -h 127.0.0.1 -p 5432 -d postgres
常用命令:
查看数据库
\l
查看表
\dt
建用户
create user test_user with password ‘111111’;
建数据库
create database test_db with owner test_user;
连接数据库
\c test_db test_user;
#如提示FATAL: no pg_hba.conf entry for host “[local]”,是不能用localhost默认模式登录,加上IP就可以了,或者检查前面配置的连接授权
期间有报错针对处理,一般都是缺目录、gpadmin用户的ssh免密未成功导致
建表
导入csv数据:
\copy xxx from ‘/home/gpadmin/export/xxx.csv’ with csv HEADER;
\copy xxx from ‘/home/gpadmin/export/xxx.csv’ with csv HEADER;
gpconfig --show work_mem
gpconfig-c -v
比如:gpconfig -c temp_buffers -v 4GB
删除配置
gpconfig -r
gpconfig -c wal_buffers -v 1024
gpconfig -c work_mem -v 2GB
gpconfig -c maintenance_work_mem -v 16GB
gpconfig -c max_connections -v 3000 -m 1000
gpconfig -c max_prepared_transactions -v 1000 -m 1000