基本搭建:
系统版本 centos 7
Greenplum 版本5.18.0

一、初始化:
1、准备4台内存为4G的机器
这里使用1个master,3个segment的集群,其中mdw为master,其余为segment。

2、配置IP并修改主机名:
hosts为:

  1. 10.197.162.70 mdw
  2. 10.197.162.71 sdw1
  3. 10.197.162.72 sdw2
  4. 10.197.162.73 sdw3

3、初始化(每个节点都要执行):

  1. hostnamectl set-hostname 主机名
  1. systemctl stop firewalld
  2. systemctl disable firewalld
  1. sed -i '/^SELINUX/s/enforcing/disabled/' /etc/selinux/config
  1. yum install -y unzip ftp lftp gpm vim-enhanced tree ntp setuptool authconfig ntsysv net-tools acpid gcc gcc-c** make
  1. ntpdate ntp2.aliyun.com
  1. groupadd -g 530 gpadmin
  2. useradd -g 530 -u530 -m -d /home/gpadmin -s /bin/bash gpadmin
  3. echo "gpadmin" | passwd --stdin gpadmin

4、配置环境变量
[gpadmin@sdw3 ~]$ cat .bash_profile

  1. # .bash_profile
  2. # Get the aliases and functions
  3. if [ -f ~/.bashrc ]; then
  4. . ~/.bashrc
  5. fi
  6. # User specific environment and startup programs
  7. PATH=$PATH:$HOME/.local/bin:$HOME/bin
  8. source /usr/local/greenplum-db/greenplum_path.sh
  9. export MASTER_DATA_DIRECTORY=/data/gpdata/master/gpseg-1
  10. export PGPORT=5436
  11. export PGDATABASE=postgres

二、配置内核参数和限制参数(所有节点都要做):
1、配置内核参数

  1. vi /etc/sysctl.conf
  2. 在末尾添加:
  3. kernel.shmmax = 2147483648
  4. #表示单个共享内存段的最大值,以字节为单位,此值一般为物理内存的一半,不过大一点也没关系GB*1024*1024*1024
  5. kernel.shmall = 2147483648
  6. #表示可用共享内存的总量,单位是页,一般此值与kernel.shmmax相等
  7. kernel.shmmni = 4096
  8. #表示单个共享内存段的最小值,一般为4kB
  9. kernel.sem = 250 512000 100 2048
  10. #该文件用于控制内核信号量,信号量是System VIPC用于进程间通讯的方法。建议设置:250 32000 100 128
  11. kernel.sysrq = 1
  12. kernel.core_uses_pid = 1
  13. kernel.msgmnb = 65536
  14. kernel.msgmax = 65536
  15. kernel.msgmni = 2048
  16. net.ipv4.tcp_syncookies = 1
  17. net.ipv4.ip_forward = 0
  18. net.ipv4.conf.default.accept_source_route = 0
  19. net.ipv4.tcp_tw_recycle = 1
  20. net.ipv4.tcp_max_syn_backlog = 4096
  21. net.ipv4.conf.all.arp_filter = 1
  22. net.ipv4.ip_local_port_range = 1025 65535
  23. net.core.netdev_max_backlog = 10000
  24. net.core.rmem_max = 2097152
  25. net.core.wmem_max = 2097152
  26. vm.overcommit_memory = 2
  27. vm.overcommit_ratio = 90

[root@mdw ~]# sysctl -p
(使参数生效)

2、配置限制参数
[root@mdw ~]# vi /etc/security/limits.conf

  1. 在文件末尾添加以下内容:
  2. # End of file
  3. * soft nofile 65536
  4. * hard nofile 65536
  5. * soft nproc 131072
  6. * hard nproc 131072

三、在master节点上安装greenplum软件

安装软件

  1. [root@mdw ~]# unzip ./greenplum-db-5.18.0-rhel7-x86_64.zip 随意路径
  1. [root@mdw ~]# ./greenplum-db-5.18.0-rhel7-x86_64.bin

(安装,一顿yes,注意里面有个安装路径)

  1. [root@mdw ~]# chown -R gpadmin:gpadmin /usr/local/greenplum-db-5.18.0

因为只在master上安装了Greenplum,所以接下来要将安装包批量发送到每个segment上,才能算是整个集群完整安装了Greenplum。

四、配置互信,master节2点管理管理其他节点

1、创建其他节点和集群节点的信息文件

  1. [root@mdw ~]# su gpadmin
  2. [gpadmin@mdw ~]$ mkdir conf
  3. [gpadmin@mdw ~]$ cd conf
  4. [gpadmin@mdw conf]$ vi hostlist
  5. mdw
  6. sdw1
  7. sdw2
  8. sdw3
  9. [gpadmin@mdw conf]$ vi seg_hosts
  10. sdw1
  11. sdw2
  12. sdw3

hostlist存储了所有节点的主机名,seg_hosts存储了所有从节点的主机名。

2、打通所有节点(master执行):

  1. [gpadmin@mdw ~]$source .bash_profile
  2. [gpadmin@mdw ~]$ gpssh-exkeys -f /home/gpadmin/conf/hostlist
  3. ... ...
  4. [INFO] completed successfully

注意:
首次执行gpssh-exkeys命令时,在[STEP 3 of 5],要输入每个segment节点的gpadmin用户的密码。

四、将greenplum软件目录传到其他节点
利用gpscp命令将这个文件复制到每一台机器上:
1、打包

  1. [root@mdw ~]# cd /usr/local/
  2. [root@mdw local]# tar -cf greenplum-db-5.18.0.tar greenplum-db-5.18.0

2、将tar传入到其他节点

  1. [gpadmin@mdw greenplum]$ gpscp -f /home/gpadmin/conf/seg_hosts gp. 5.11.tar =:/opt/greenplum/

如果没有意外,就批量复制成功了,可以去子节点的相应文件夹查看,之后要将tar包解压,我们使用批量操作。

3、批量解压并创建软连接

  1. [gpadmin@mdw conf]$ gpssh -f seg_hosts
  2. => cd /usr/local/
  3. [sdw3]
  4. [sdw1]
  5. [sdw2]
  6. => tar -xf greenplum-db-5.18.0.tar
  7. [sdw3]
  8. [sdw2]
  9. [sdw1]
  10. 建立软链接
  11. => ln -s ./greenplum-db-5.18.0 greenplum-db
  12. [sdw3]
  13. [sdw2]
  14. [sdw1]

批量创建目录

  1. [root@mdw local]# mkdir -p /data/gpdata/master
  2. [root@mdw local]# chmod -R 775 /data/gpdata/master
  3. [root@mdw local]# chown -R gpadmin /data/gpdata/master
  1. [root@mdw local]# gpssh -f /home/gpadmin/conf/seg_hosts
  2. => mkdir -p /data/gpdata/primary
  3. [sdw2]
  4. [sdw3]
  5. [sdw1]
  6. => mkdir -p /data/gpdata/mirror
  7. [sdw2]
  8. [sdw3]
  9. [sdw1]
  10. => chown -R gpadmin.gpadmin /data/gpdata/primary
  11. [sdw2]
  12. [sdw3]
  13. [sdw1]
  14. => chown -R gpadmin.gpadmin /data/gpdata/mirror
  15. [sdw2]
  16. [sdw3]
  17. [sdw1]
  18. => chmod -R 775 /data/gpdata/mirror
  19. [sdw2]
  20. [sdw3]
  21. [sdw1]
  22. => chmod -R 775 /data/gpdata/primary
  23. [sdw2]
  24. [sdw3]
  25. [sdw1]

初始化配置文件:

  1. vi /home/gpadmin/conf/gpinitsystem_config
  2. ARRAY_NAME=“Greenplum
  3. SEG_PREFIX=gpseg
  4. PORT_BASE=33000
  5. declare -a DATA_DIRECTORY=(/data/gpdata/primary /data/gpdata/primary)
  6. MASTER_HOSTNAME=mdw
  7. MASTER_DIRECTORY=/data/gpdata/master
  8. MASTER_PORT=5436
  9. TRUSTED_SHELL=/usr/bin/ssh
  10. MIRROR_PORT_BASE=43000
  11. REPLICATION_PORT_BASE=34000
  12. MIRROR_REPLICATION_PORT_BASE=44000
  13. declare -a MIRROR_DATA_DIRECTORY=(/data/gpdata/mirror /data/gpdata/mirror)
  14. MACHINE_LIST_FILE=/home/gpadmin/conf/seg_hosts

4.4 初始化数据库(只需master即可)

  1. [gpadmin@mdw ~]$ gpinitsystem -c gpinitsystem_config -s sdw3

其中sdw3是指master的standby所在的节点,我看书上和网上的一些资料都将standby放在最后一个节点,可能是约定俗成的吧。

注意:如果上面有一些配置有问题,gpinitsystem就不能成功,日志在主节点/home/gpadmin/gpAdminLogs/的gpinitsystem_2016XXXX.log文件中。

需要注意的是如果初始化失败,一定要认真查看这个日志文件,一味重复安装没有太大意义,重要的是要找到主要原因。


spread mirror**模式:
(spread模式,主机的第一个mirror在下个主机,第二个mirror在次下个主机,第三mirror在次次下个主机…)
执行初始化命令:gpinitsystem加上–S,节点分布方式为spread

  1. [gpadmin@master ~]$gpinitsystem -c gpinitsystem_config -h seg_hosts -s standby S

测试运行安装的Greenplum数据库
启动和停止数据库测试是否能正常启动和关闭

  1. # gpstart
  2. # gpstop

5.2 访问数据库

  1. # psql -d postgres
  2. psql (8.2.15)
  3. Type help for help.
  4. postgres=#
0 评论  
添加一条新评论