安装gp

按照同事提供的安装方式,一步一步的安装,成功安装了greenplumn。之前,自己尝试安装了好多次,比如使用docker,(可能是因为cenots:lastest版本选择的问题,没有选择低版本7.6),最后,在阿里云,使用以下安装方式,成功安装,由于安装过程执行另好多次,步骤非常熟悉,故,下面的安装非常的快。不到半小时安装成功。

资源

可参考的教程

软件版本

以下两个版本,均在centos7.6版本上安装成功过。

  • greenplum-db-6.8.1-rhel7-x86_64.rpm
  • open-source-greenplum-db-6.16.0-rhel7-x86_64.rpm

安装过程

hostname 为mdw,是啥,填啥。切记跟主机保持一致。

yum install -y epel-release apr apr-util bash bzip2 krb5-devel libevent openssh-clients openssh-server net-tools zip rsync perl openssl passwd curl libcurl libxml2 libyaml zlib openldap readline R sed tar

# 安装在centos7.6 redhat7.6 ,内核3.10.0-957.el7.x86_64即可
cat /etc/*relea*
uname -r
uname  -a
   
cat >> /etc/sysctl.conf << EOF
fs.aio-max-nr = 1048576
fs.file-max = 6815744
net.ipv4.ip_local_port_range = 9000 65500
net.ipv4.conf.default.accept_source_route = 0
net.ipv4.tcp_max_syn_backlog = 4096
net.ipv4.conf.all.arp_filter = 1
net.core.rmem_default = 262144
net.core.rmem_max = 4194304
net.core.wmem_default = 262144
net.core.wmem_max = 1048586
kernel.sem = 4096 2147483647 2147483646 512000
kernel.shmmax = 193273528320
kernel.shmall = 47185920‬
kernel.shmmni = 4096
kernel.sysrq = 1
kernel.core_uses_pid = 1
kernel.msgmnb = 65536
kernel.msgmax = 65536
kernel.msgmni = 2048
vm.swappiness = 10
vm.overcommit_memory = 2
vm.overcommit_ratio = 95
vm.zone_reclaim_mode = 0
vm.dirty_expire_centisecs = 500
vm.dirty_writeback_centisecs = 100
vm.dirty_background_ratio = 3
vm.dirty_ratio = 10
EOF
sysctl -p

cat >> /etc/security/limits.conf << EOF
* soft nproc unlimited
* hard nproc unlimited
* soft nofile 524288
* hard nofile 524288
* soft stack unlimited
* hard stack unlimited
* hard memlock unlimited
* soft memlock unlimited
EOF


echo "SELINUX=disabled" > /etc/selinux/config
setenforce 0
systemctl stop firewalld.service
systemctl disable firewalld.service
systemctl status firewalld.service

reboot


mkdir -p /d/p1/master
mkdir -p /d/p1/p
mkdir -p /d/p2/p

#安装
rpm -ivh /root/greenplum-db-6.8.1-rhel7-x86_64.rpm
#创建用户
groupadd -g 3030 gpadmin
useradd -u 3030 -g gpadmin -m -d /home/gpadmin -s /bin/bash gpadmin
echo "changeme" | passwd --stdin gpadmin

chown -R gpadmin:gpadmin /usr/local/greenplum*
chmod -R 775 /usr/local/greenplum*
chown -R gpadmin:gpadmin /d
chmod -R 775 /d

cat /etc/hosts
ping mdw


# 以下都是在gpadmin账号下操作

su - gpadmin
mkdir /usr/local/greenplum-db/config
echo "mdw" > /usr/local/greenplum-db/config/all_hosts.txt
# 免密码登录
ssh-keygen -t rsa  
cat ~/.ssh/id_rsa.pub > ~/.ssh/authorized_keys
chmod 600  ~/.ssh/authorized_keys

# 环境变量
sh /usr/local/greenplum-db/greenplum_path.sh
echo "source /usr/local/greenplum-db/greenplum_path.sh" >>~/.bash_profile
echo "export MASTER_DATA_DIRECTORY=/d/p1/master/gpseg-1" >>~/.bash_profile
echo "export PGHOME=/usr/local/greenplum-db" >>~/.bash_profile
echo "export PGPORT=5432" >>~/.bash_profile
echo "export PGDATABASE=postgres" >>~/.bash_profile
echo "export PGUSER=gpadmin" >>~/.bash_profile
cat ~/.bash_profile
source ~/.bash_profile

# 节点等配置
cat > /usr/local/greenplum-db/config/gpinitsystem_config <<EOL
ARRAY_NAME="greenplum"
SEG_PREFIX=gpseg
PORT_BASE=55000
declare -a DATA_DIRECTORY=( /d/p1/p /d/p1/p /d/p2/p /d/p2/p)
MASTER_HOSTNAME=mdw
MASTER_DIRECTORY=/d/p1/master
MASTER_PORT=5432
MACHINE_LIST_FILE=/usr/local/greenplum-db/config/all_hosts.txt
TRUSTED_SHELL=ssh
CHECK_POINT_SEGMENTS=8
ENCODING=UNICODE
#MIRROR_PORT_BASE=56000
#REPLICATION_PORT_BASE=57000
#MIRROR_REPLICATION_PORT_BASE=58000
#declare -a MIRROR_DATA_DIRECTORY=(/greenplum/gpdata/mirror /greenplum/gpdata/mirror /greenplum/gpdata/mirror)
EOL


# 启动,这一步被卡了很多次
gpinitsystem -c /usr/local/greenplum-db/config/gpinitsystem_config -a -h /usr/local/greenplum-db/config/all_hosts.txt

# 查看状态
gpstate
# 测试
psql -d postgres
psql -c "select * from gp_segment_configuration order by content asc,dbid;"

注意事项

Linux版本

不要使用centos8及以上版本,因为出现了lib64/xxxxxxxx.so.10问题,实在无法解决。这个问题,大概卡住我两3次了,切记、切记。

依赖

上面的依赖,貌似也不用全安装,但是最好安装上。

以下也需要,看情况,一般都有。

less which iproute

因为安装R的时候,无法直接安装,需要先安装epel-release。而且貌似这个也不是必要的。

yum install -y epel-release R