1. 准备环境  centos6  3台

1台master   192.168.8.201

2台segment  192.168.8.202  192.168.8.203

(网络连接选择桥连接)

  1. 修改hosts文件(所有机器)

Vi hosts

192.168.8.201 master

192.168.8.202 segment01

192.168.8.203 segment02

*如果需要修改hostname 必须修改/etc/sysconfig/network

NETWORKING=yes

HOSTNAME=master

 

  1. 创建用户和用户组(所有机器)root 用户  创建用户名:gpadmin  密码:gpadmin

[root@master ~]# groupadd -g 530 gpadmin

[root@master~]# useradd -g 530 -u530 -m -d /home/gpadmin -s /bin/bash gpadmin

[root@master ~]# passwd gpadmin

  1. 修改所有机器内核(注意所有机器都必须修改不然初始化不成功)

[root@master ~]# 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

执行以下命令使参数生效:

[root@mastre ~]# sysctl –p

  1. 修改文件的打开限制(每台机器都要修改)文件末尾,添加下面四行就可以了。

[root@master ~]# vi /etc/security/limits.conf

* soft nofile 65536

* hard nofile 65536

* soft nproc 131072

* hard nproc 131072

6、关闭防火墙(每台机器都要)

[root@master ~]# service iptables stop

[root@master ~]# /sbin/iptables -I INPUT -p tcp --dport 80 -j ACCEPT

[root@master ~]# /etc/rc.d/init.d/iptables save

[root@master~]# vi /etc/selinux/config

SELINUX=disabled

安装前的准备工作必须完成

开始安装

  1. 创建安装文件目录(每台机器都需要创建)

[root@master ~]# mkdir /opt/greenplum

[root@master ~]# chown -R gpadmin:gpadmin /opt/greenplum

7.下载安装包放在/opt/greenplum下

8、master上安装,只需master即可 (root用户下)

unzip ./greenplum-db-5.11.3-rhel7-x86_64.zip  解压

chmod +x greenplum-db-5.11.3-rhel7-x86_64.bin

 ./ greenplum-db-5.11.3-rhel7-x86_64.bin

期间需要修改默认安装目录,输入 /opt/greenplum/greenplum-db-5.11.3之后即可安装成功(yes 后面的第二次提示),此时master上的Greenplum安装成功了。

但是之前我们都是以root身份安装的,所以要将安装目录下的文件的所有者,都修改为gpadmin。

[root@mdw ~]# chown -R gpadmin:gpadmin /opt/greenplum

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

下面的操作都是为了连接所有节点,并将安装包发送到每个节点

9、创建配置文件(gpadmin用户下)

[root@master ~]# su – gpadmin

[gpadmin@master ~]$ mkdir conf

[gpadmin@master ~]$ cd conf

[gpadmin@master conf]$ vi hostlist

Master

Segment01

Segment02

[gpadmin@master conf]$ vi seg_hosts

Segment01

Segment02

10、打通所有节点

[gpadmin@master ~]$ source /opt/greenplum/greenplum-db/greenplum_path.sh

[gpadmin@master ~]$ gpssh-exkeys -f /home/gpadmin/conf/hostlist

 

11、测试是否打通

[gpadmin@master ~]$ gpssh -f /home/gpadmin/conf/hostlist

=> pwd

12、将安装包分发到每个子节点

[gpadmin@master conf]$ cd /opt/greenplum/

[gpadmin@master greenplum]$ tar -cf gp.5.11.tar greenplum-db-5.11.3/

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

批量解压

[gpadmin@master greenplum]$ cd ~/conf/

[gpadmin@master conf]$ gpssh -f seg_hosts

=> cd /opt/greenplum

=> tar -xf gp.5.11.tar

建立软链接

=> ln -s ./greenplum-db-5.11.3 greenplum-db

=> ll(可以使用ll查看一下是否已经安装成功)

=> exit

这样就完成了所有节点的安装。

13、初始化数据库

(1)批量创建Greenplum数据存放目录

[gpadmin@master conf]$ gpssh -f hostlist

=> mkdir gpdata

=> cd gpdata

=> mkdir gpmaster gpdatap1 gpdatap2 gpdatam1 gpdatam2

=> ll

=> exit

14、配置.bash_profile环境变量(每台机器都要)

[gpadmin@master ~]$ cd ~

[gpadmin@master ~]$ vi .bash_profile

source /opt/greenplum/greenplum-db/greenplum_path.sh

export MASTER_DATA_DIRECTORY=/home/gpadmin/gpdata/gpmaster/gpseg-1

export PGPORT=5432

#export PGDATABASE=testDB

export PGDATABASE=postgres

[gpadmin@mdw ~]$ source .bash_profile(让环境变量生效)

注意:PGPORT指的是你安装greenplum数据库的端口号。

15、创建初始化配置文件(只需master即可)

[gpadmin@master ~]$ vi /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= t-bdatav2-app01

MASTER_DIRECTORY=/home/gpadmin/gpdata/gpmaster

MASTER_PORT=5432

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

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

[gpadmin@master~]$gpinitsystem -c /home/gpadmin/conf/gpinitsystem_config

*如果需要master的 standby

执行:

[gpadmin@master~]$ gpinitsystem -c /home/gpadmin/conf/gpinitsystem_config -s segment01

17、访问数据库

psql -d postgres

select datname,datdba,encoding,datacl from pg_database;

\q(退出)

18、允许all用户在192.168.8.x网段访问所有数据库

vi /home/gpadmin/gpdata/gpmaster/gpseg-1/pg_hba.conf

host all all192.168.8.0/24 trust

安装gpcc

18、GreenPlum监控安装包: greenplum-cc-web-4.4.1-LINUX-x86_64.zip

19、修改postgresql.conf配置文件(添加下面参数)

 cd /home/gpadmin/gpdata/gpmaster/gpseg-1

gp_enable_gpperfmon=on

gpperfmon_port=8888

gp_external_enable_exec=on

gpperfmon_log_alert_level=warning

20、安装GreenPlum监控的数据库以及创建用户

安装gpperfmon数据库,以及为gpmon用户创建密码

gpperfmon_install --enable --password gpmon --port 5432

重启数据库  gpstop  –r

检查gp监控是否启动  ps -ef | grep gpmmon

检查gp监控是否监测到greenplum集群中的每台主机  

 psql -d ‘gpperfmon’ -c ‘select * from system_now;’

21、正式安装GreenPlum-CC-Web

[gpadmin@master ~]$ gpssh -f /home/gpadmin/conf/hostlist

=> cd /opt/greenplum

=> mkdir greenplum-cc-web

=> exit

解压安装包

unzip greenplum-cc-web-4.4.1-LINUX-x86_64.zip

cd /opt/greenplum/greenplum-cc-web-4.4.1-LINUX-x86_64

./gpccinstall-4.4.1

greenplum-cc-web默认安装在/usr/local/目录下

安装目录修改为:/opt/greenplum/greenplum-cc-web

其他一直回车

22、修改环境变量(所有机器)

[gpadmin@master ~]$ vi .bash_profile

#添加

source /opt/greenplum/greenplum-cc-web/greenplum-cc-web-4.4.1/gpcc_path.sh

 

 [gpadmin@master ~]$ source .bash_profile

23、 修改pg_hba.conf文件连接

[gpadmin@master ~]$ vi /data/greenplum-db/gpdata/gpmaster/gpseg-1/pg_hba.conf

#在最后一行添加这句

host all gpmon (本机的ip)/24 md5

[gpadmin@master ~]$ gpstop -M fast -a
[gpadmin@master ~]$ gpstart -a
[gpadmin@master ~]$ gpcc start

 安装完毕,访问

http://mastert[或者你主机的ip地址]:28080

常用命令

Gpstate   -c    查看primary和mirror的对应关系

副:segment恢复

使用gpstate -m可以看到,当前mirror处于primary角色。

$gpstate –m

1. 首先要产生一个恢复配置文件

$gprecoverseg -o ./recov

配置文件内容

$cat ./recov 

filespaceOrder=

2. 然后使用这个配置文件进行恢复

$gprecoverseg -i ./recov

恢复过程中,查看mirror状态。

$gpstate -m

 

 

 

 

 

 

                   GPTEXT安装

一.首先安装jdk

  1. 安装jdk
  2. 上转jdk到/opt/jdk 下
  3. 解压
sudo tar zxvf jdk-8u66-linux-x64.tar.gz

  1. 设置jdk的环境变量

vi /etc/profile

JAVA_HOME=/usr/local/java/jdk1.8.0_66

JRE_HOME=/usr/local/java/jdk1.8.0_66/jre
CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib
PATH=$JAVA_HOME/bin:$PATH
export PATH JAVA_HOME CLASSPATH

使环境变量生效

source /etc/profile

看看自己的配置是否都正确

echo $JAVA_HOME
echo $CLASSPATH
echo $PATH

*修改默认JDK

如果系统已经安装了其他版本的Java

update-alternatives --install /usr/bin/java java /usr/java/jdk1.8.0_66/bin/java 300

update-alternatives --install /usr/bin/javac javac /usr/java/jdk1.8.0_66/bin/javac 300

update-alternatives --config java

update-alternatives --config javac

5、检验是否安装成功

在终端

java -version

  • 安装zk
cd /usr/local
tar -zxvf zookeeper-3.4.13.tar.gz
cd zookeeper-3.4.13
mkdir data
mkdir logs
touch data/myid

vim data/myid             //分别在不同的主机上写入

1             >> mdw

2             >> swd1

3             >> swd2

mv conf/zoo_sample.cfg conf/zoo.cfg

vim conf/zoo.cfg

dataDir=/usr/local/zookeeper-3.4.13/data

dataLogDir=/usr/local/zookeeper-3.4.13/logs

server.1=mdw:2888:3888

server.2=sdw1:2888:3888

server.3=sdw2:2888:3888

vim /etc/profile

# ZOOKEEPER_HOME
export ZOOKEEPER_HOME=/usr/local/zookeeper-3.4.13

export PATH=$ZOOKEEPER_HOME/bin:$PATH

source /etc/profile

zkServer.sh start

                gpText安装

上传gptext文件

下载gptext:​​https://network.pivotal.io/products/pivotal-gpdb/#/releases/253113/file_groups/1331​

cd /home/gpadmin

tar -zxvf greenplum-text-3.1.0-rhel6_x86_64.tar.gz

ls

      >>gptext_install_config 

      >>greenplum-text-3.1.0-rhel6_x86_64.bin

链接其他主机

source $GPHOME/greenplum_path.sh

vim hostlist.txt                         //创建hostaname文件,用于链接其他主机

       mdw

       sdw1

       sdw2

在需要安装的机器上批量安装并创建目录

gpssh -f hostlist.txt  

=> mkdir /usr/local/greenplum-text-3.1.0

=> mkdir /usr/local/greenplum-solr

=> chown gpadmin:gpadmin /usr/local/greenplum-text-3.1.0

=> chmod 775 /usr/local/greenplum-text-3.1.0

=> chown gpadmin:gpadmin /usr/local/greenplum-solr

=> chmod 775 /usr/local/greenplum-solr

=> mkdir /data/gptext

=> chown -R gpadmin:gpadmin /data/gptext

=> chmod 775 /data/gptext

=> exit

chown gpadmin:gpadmin greenplum-text-3.1.0-rhel6_x86_64.bin

chown gpadmin:gpadmin gptext_install_config

su – gpadmin

修改配置文件gptext_install_config

vim gptext_install_config

       declare -a GPTEXT_HOSTS=(mdw swd1 sdw2)                              

  //声明集群的主机名

       declare -a DATA_DIRECTORY=(/data/gptext/primary /data/gptext/primary)  

//设置数据存储路径

       JAVA_OPTS="-Xms1024M -Xmx2048M"                                         //设置SolrCloud JVM的最大值和最小值

       GPTEXT_PORT_BASE=18983                                                  //设置端口的范围

       GP_MAX_PORT_LIMIT=28983

       ZOO_CLUSTER="mdw:2181,sdw1:2181,sdw2:2181"     //zookeeper

       ZOO_GPTXTNODE="gptext"

       ZOO_PORT_BASE=2188

       ZOO_MAX_PORT_LIMIT=12188

       GPTEXT_JAVA_HOME=/usr/local/jdk1.8.0_191 

运行安装文件

./greenplum-text-3.1.0-rhel6_x86_64.bin -c gptext_install_config

启动gptext

source $GPHOME/greenplum_path.sh

source /usr/local/greenplum-text-3.1.0/greenplum-text_path.sh

 

gptext-installsql bigdata                          

 //在数据库安装gptext实例,bigdata是本地数据库

gptext-start                                    

   //启动gptext

gpconfig -c custom_variable_classes -v 'gptext'    

 //配置greenplum数据库