欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

greenplum ubuntu16 集群安装

程序员文章站 2022-05-03 22:09:02
...

    虚拟机vmware安装ubuntu16  一台,然后用克隆克隆出2台,一共三台

 

  master主机上2个segment节点,segment主机上各2个segement节点

 

在Master安装 

更改hostname gp-master

 

echo 'gp-master' > /etc/hostname

 新增三台主机的内网IP以及修改hostname

 

 

echo '192.168.152.133 gp-master' >> /etc/hosts
echo '192.168.152.131 gp-segment1' >> /etc/hosts
echo '192.168.152.134 gp-segment2' >> /etc/hosts
 apt-get update

 新增用户gpadmin

 

添加gpadmin用户 设置密码gpadmin123

 

adduser gpadmin

 添加gpadmin到sudo用户列表

 

echo 'gpadmin ALL=(ALL:ALL) ALL' >> /etc/sudoers

 重启主机reboot后,切换到gpadmin

 

 

 

su gpadmin

 在gp-master上创建 /gpmaster /gpdata1 /gpdata2 文件夹

 

 

mkdir  /gpmaster /gpdata1 /gpdata2

 开始安装相关依赖包,以及GP数据库

 

cd ~
sudo apt-get install python-software-properties
sudo apt-get install software-properties-common
sudo add-apt-repository ppa:greenplum/db #添加PPA路径
sudo apt-get update #再次进行更新
sudo apt-get install greenplum-db-oss

 

 

 

以下操作在各个segment上分别进行

更改hostname gp-segment

 

echo 'gp-segment' > /etc/hostname

 新增两台主机的内网IP以及修改hostname

 

 

 echo '192.168.152.133 gp-master' >> /etc/hosts
echo '192.168.152.131 gp-segment1' >> /etc/hosts
echo '192.168.152.134 gp-segment2' >> /etc/hosts
apt-get update 

 

新增用户gpadmin

 

添加gpadmin用户 设置密码gpadmin123

 

adduser gpadmin

 添加gpadmin到sudo用户列表

 

echo 'gpadmin ALL=(ALL:ALL) ALL' >> /etc/sudoers

 重启主机reboot后,切换到gpadmin

 

 

 

su gpadmin

 在gp-master上创建 /gpdata1 /gpdata2 文件夹

 

 

 

mkdir  /gpdata1 /gpdata2

开始安装相关依赖包,以及GP数据库

 

 

cd ~
sudo apt-get install python-software-properties
sudo apt-get install software-properties-common
sudo add-apt-repository ppa:greenplum/db #添加PPA路径
sudo apt-get update #再次进行更新
sudo apt-get install greenplum-db-oss

 

下载安装完成,接下来要执行秘钥交换,回到master主机 用户为gpadmin下进行ssh秘钥交换,首先加载环境变量

 

source /opt/gpdb/greenplum_path.sh

 这一步之后可以将/opt/gpdb/greenplum_path.sh中的所有内容复制到/etc/profile中,之后每次登录就可以通过source /etc/profile来解决greenplum环境变量的问题

 

 

cd ~
cp $GPHOME/docs/cli_help/gpconfigs/gpinitsystem_singlenode .

 touch hostlist_singlenode/etc/profile来解决greenplum环境变量的问题

 

 

echo 'gp-master' >> hostlist_singlenode
echo 'gp-segment1' >> hostlist_singlenode
echo 'gp-segment2' >> hostlist_singlenode

 

 

进行秘钥交换

 

gpssh-exkeys -f hostlist_singlenode

 或者

 

 

gpssh-exchkeys -f hostlist_singlenode

 如果报错

 

 

source /opt/gpdb/greenplum_path.sh
或者
source /etc/profile

 hostlist_singlenode  gpinitsystem_singlenode 是复制到 /opt/gpdb 目录下

gpinitsystem_singlenode中修改

 

  MACHINE_LIST_FILE=./hostlist_singlenode

  数据节点

  declare -a DATA_DIRECTORY=(/gpdata1 /gpdata2)

 

  主服务器名

  MASTER_HOSTNAME=gp-master

  master目录

  MASTER_DIRECTORY=/gpmaster

 

将这些文件夹权限修改为gpadmin

master上执行

 

chown gpadmin.gpadmin -R /gpdata1 /gpdata2 /gpmaster

 在segement上执行

chown gpadmin.gpadmin -R /gpdata1 /gpdata2 

   master和segement上都要关掉防火墙

 

 

sudo ufw disable

 

初始化命令

 

/opt/gpdb/bin/gpinitsystem -c /opt/gpdb/gpinitsystem_singlenode

 

如果启动后连接报错

 

System was started in master-only utility mode - only utility mode connections are allowed

 

原因 维护模式 这样就初始化有问题 把/gpmaster/gpsne-1  里的gpsne-1 文件夹删掉

重启ubuntu 

reboot

然后再初始化

一般就会成功了

 

如果访问出现failure during startup recovery, retry failed, check segment status

一般是防火墙没关,

 

如果用pgadmin不能连接,提示拒绝,就要在master机上

/gpmaster/gpsne-1 里的pg_hba.conf 加上

 

host     all         all         0.0.0.0/0      md5

 这是所有的,可以按需要加入某个ip

 

  ll -a  

 显示隐藏的文件  .bashrc

把下面这些加入用户环境

 

cd /home/gpadmin
 vi .bashrc
加上
export MASTER_DATA_DIRECTORY='/gpmaster/gpsne-1'
export PGPORT=5432
source /opt/gpdb/greenplum_path.sh

 

然后再  

source .bashrc

 

一般这就没问题了

 

 重新加载配置文件 

 

pg_ctl  reload   -D /gpmaster/gpsne-1/

 

  修改数据用户密码

   psql -d postgres

   alert role gpadmin with password 'gpadmin'; 

 

 下面这句用来查某个表的分片分布

select gp_segment_id, count(*) from user_test group by gp_segment_id;

 

 

 

后续要加个备选 主库

 

然后再尝试动态加一个 从库segment

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

相关标签: greenplum 分布式