greenplum ubuntu16 集群安装

阅读更多

    虚拟机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,分布式)