版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_35767346/article/details/52150693
8、在路径/gpgp/下面创建主机文件 all_hosts,写入所有主机名:
mastersegment1
segment2
standby
建立多机互信:
[root@master~]# gpssh -exkey–f/gpgp/all_hosts (gpssh-exkeys)(gpadmin 也配互信)可以将所有机器通道打开,可以不用输入密码就可以在每台机器登录跳转了。
[root@master greenplum-db-4.2.8.0]# ssh segment1
The authenticity of host 'slave1 (192.168.80.201)' can't be established.
RSA key fingerprint is 04:6d:9c:fc:68:e3:9a:24:dc:11:ff:25:14:9e:d1:5b.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added 'slave1,192.168.80.201' (RSA) to the list of known hosts.
root@slave1's password:(输入密码)
Last login: Fri Mar 20 17:49:51 2015 from 192.168.80.120
9、在 greenplum-db 下运行 gpseginstall 工具:
[root@master greenplum-db]# gpseginstall –f/gpgp/all_hosts –u gpadmin -p gpadmin-f 和 all_hosts 之间是 all_hosts 的路径
之后根据提示输入密码;等待时间较长;出现下面就成功了
20150320:20:00:27:003371 gpseginstall:master:root-[INFO]:-SUCCESS -- Requested
commands completed
10、初始化配置 Greenplum:
切换到 gpamdin 用户并获取环境变量$ su - gpadmin
# source/usr/local/greenplum-db/greenplum_path.sh
使用 gpssh 工具来测试无密码登录所有主机
[gpadmin@master greenplum-db]$ gpssh –f/gpgp/all_hosts -e ls -l $GPHOME
将"source /usr/local/greenplum-db-4.2.2.4/greenplum_path.sh"添加到.bashrc
文件最后并传送到子服务器
vi .bashrc //修改,添加
cat .batbashrc //查看
[gpadmin@master ~]$ cat .bashrc
# .bashrc
# Source global definitions
if [ -f /etc/bashrc ]; then
[gpadmin@master ~]$ su - root
Password:
[root@master ~]# su - gpadmin
[gpadmin@master ~]$ env
[gpadmin@master ~]$ scp .bashrc segment1:`pwd`
.bashrc 100% 167 0.2KB/s 00:00
[gpadmin@master ~]$ scp .bashrc segment2:`pwd`
.bashrc 100% 167 0.2KB/s 00:0
11、创建存储区域:
先建立一个包含所有 segment 主机的 seg_hosts 文件[root@master ~]# mkdir /tmp/greenplum
[root@master ~]# cd /tmp/greenplum/
[root@master greenplum]# vi seg_hosts
segment1
segment2
数据文件没有放在 gpadmin 的用户文件下的话,要对文件进行修改权限
chown -R gpadmin:gpadmin / data
chmod -R 755 /data
在 master 上创建数据存储区域 # mkdir -p /data/master
改变目录的所有权 # chown gpadmin /data/master
在 standby 上创建数据存储区域 # mkdir -p /data/master
改变目录的所有权 # chown gpadmin /data/master
使用 gpssh 工具在所有 segment 主机上创建主数据和镜像数据目录
[root@master greenplum]# . /usr/local/greenplum-db/greenplum_path.sh
[root@master greenplum]# gpssh -f seg_hosts -e 'mkdir -p /data/primary'
[segment1] mkdir -p /data/primary
[segment2] mkdir -p /data/primary
[root@master greenplum]# gpssh -f seg_hosts -e 'mkdir -p /data/mirror'
[segment1] mkdir -p /data/mirror
[segment2] mkdir -p /data/mirror
[root@master greenplum]# gpssh -f seg_hosts -e 'chown gpadmin /data/primary'
[segment1] chown gpadmin /data/primary
[segment2] chown gpadmin /data/primary
[root@master greenplum]# gpssh -f seg_hosts -e 'chown gpadmin /data/mirror'
[segment1] chown gpadmin /data/mirror
[segment2] chown gpadmin /data/mirror
[root@master greenplum-db]# source greenplum_path.sh
(在中途终端断掉或没有目录,source 一下,之后在进行,就可以找到之前的文件)
12、同步系统时间(有 NTP 服务器的 IP 可以,自己搭建可以省略)
在 Master 主机,以 root 登录编辑/etc/ntp.conf 文件。设置 server 参数指向数
据中心 server 127.127.1.0
在每个 Segment 主机,以 root 登录编辑/etc/ntp.conf 文件。设置第一个 server
参数指向 Master 主机,第二个 server 参数指向 Standby 主机。
server master prefer
server standby
在 Standby 主机,以 root 登录编辑/etc/ntp.conf 文件。设置第一个 server 参数
指向 Master 主机,第二个参数指向数据中心的时间服务器。
server master prefer
server 127.127.1.0
在 Master 主机,使用 NTP 守护进程同步所有 Segment 主机的系统时钟。
# gpssh -f /gpgp/all_hosts -v -e 'ntpd'
最常见的是两个错误:’cfq’和 16384
据中心 server 127.127.1.0
在每个 Segment 主机,以 root 登录编辑/etc/ntp.conf 文件。设置第一个 server
参数指向 Master 主机,第二个 server 参数指向 Standby 主机。
server master prefer
server standby
在 Standby 主机,以 root 登录编辑/etc/ntp.conf 文件。设置第一个 server 参数
指向 Master 主机,第二个参数指向数据中心的时间服务器。
server master prefer
server 127.127.1.0
在 Master 主机,使用 NTP 守护进程同步所有 Segment 主机的系统时钟。
# gpssh -f /gpgp/all_hosts -v -e 'ntpd'
13、验证操作系统设置
[root@master greenplum]# gpcheck –f/gpgp/all_hosts -m master最常见的是两个错误:’cfq’和 16384
14、初始化 Greenplum 数据库系统
创建 Greenplum 数据库配置文件gpadmin 用户登录 # su - gpadmin
从模板中拷贝一份 gpinitsystem_config 文件
[gpadmin@master~]$
cp $GPHOME/docs/cli_help/gpconfigs/gpinitsystem_config /home/gpadmin/
[gpadmin@master ~]$ chmod 775 /home/gpadmin/gpinitsystem_config
设置所有必须的参数以及可选参数
[gpadmin@master ~]$ vi gpinitsystem_config
15、运行初始化工具
vi .bashrc 加入 export MASTER_DATA_DIRECTORY=/data/master/gpseg-1cat .bashrc
将 slave 改为 segment
[gpadmin@master ~]$ cp /tmp/greenplum/seg_hosts .
[gpadmin@master ~]$ ls
[gpadmin@master ~]$
gpinitsystem -c gpinitsystem_config -h seg_hosts -s standby –S
[gpadmin@master ~]$ ps -ef|grep post
[gpadmin@master ~]$ cp /tmp/greenplum/seg_hosts .
[gpadmin@master ~]$ ls
[gpadmin@master ~]$
gpinitsystem -c gpinitsystem_config -h seg_hosts -s standby –S
[gpadmin@master ~]$ ps -ef|grep post
16、 启动数据库 $ gpstart
[gpadmin@master ~]$ gpstart没有错误既可正常运行,gpstate –s 可以查看所有状态,standby 是否连接上
访问系统数据库 psql -d postgres
输入查询语句
select datname,datdba,encoding,datacl from pg_database;
关闭数据库 $ gpstop
[gpadmin@master ~]$ gpstop
17、[gpadmin@ master ~]$ createdb xx -E utf-8
[gpadmin@ master ~]$ export PGDATABASE=xx //修改环境变量,使之psql 直接登录
[gpadmin@ master ~]$ psql
xx=#
建立一个可以直接 psql 就登录的数据库
@@在 gpstop 的时候,有可能报以下错误
在报错误的上面,进程应该是被杀掉了,但又一次的强制杀了一遍,就发现
找不到,就报错误了。
应该不是大问题。
找不到,就报错误了。
应该不是大问题。
在之后安装过安装Greenplum-cc-web监控软件,在浏览器上关闭gp的话,就不会报该错误。