- 准备环境 centos6 3台
1台master 192.168.8.201
2台segment 192.168.8.202 192.168.8.203
(网络连接选择桥连接)
- 修改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
- 创建用户和用户组(所有机器)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
- 修改所有机器内核(注意所有机器都必须修改不然初始化不成功)
[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
- 修改文件的打开限制(每台机器都要修改)文件末尾,添加下面四行就可以了。
[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
安装前的准备工作必须完成
开始安装
- 创建安装文件目录(每台机器都需要创建)
[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
- 安装jdk
- 上转jdk到/opt/jdk 下
- 解压
sudo tar zxvf jdk-8u66-linux-x64.tar.gz
- 设置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数据库