ICode9

精准搜索请尝试: 精确搜索
首页 > 数据库> 文章详细

[linux-012] 用docker搭建greenplum数据库

2019-08-01 16:40:35  阅读:1039  来源: 互联网

标签:greenplum gpadmin 节点 012 172.17 linux home mdw


1.用docker安装greenplum

2.参考文档

https://my.oschina.net/u/876354/blog/1606419
《Greenplum企业应用实战_何勇,陈晓峰著》

3.步骤

3.1 拉取centos镜像
docker pull centos:latest


3.2 创建4个节点

docker run --name gpcentos1 -it centos /bin/bash
docker run --name gpcentos2 -it centos /bin/bash
docker run --name gpcentos3 -it centos /bin/bash
docker run --name gpcentos4 -it centos /bin/bash


3.3 在每个节点都执行如下操做
yum install -y net-tools which openssh-clients openssh-server less zip unzip iproute.x86_64

ssh-keygen -t rsa -f /etc/ssh/ssh_host_rsa_key
ssh-keygen -t ecdsa -f /etc/ssh/ssh_host_ecdsa_key
ssh-keygen -t ed25519 -f /etc/ssh/ssh_host_ed25519_key
/usr/sbin/sshd

3.4 在每个节点配置/etc/hosts
注意,ip和hostname跟示例里不一样,要仔细区分


节点1   172.17.0.3  266a5746aeee
节点2 172.17.0.4  43dd8f0b86e8
节点2 172.17.0.5  5f1e077de725
节点2 172.17.0.6  bb0778aae767

每个节点的/etc/hosts文件都修改为
172.17.0.3    266a5746aeee
172.17.0.4    43dd8f0b86e8
172.17.0.5    5f1e077de725
172.17.0.6    bb0778aae767

172.17.0.3 dw-greenplum-1 mdw
172.17.0.4 dw-greenplum-2 sdw1
172.17.0.5 dw-greenplum-3 sdw2
172.17.0.6 dw-greenplum-4 sdw3


分别修改4个节点的/etc/sysconfig/network,保持主机名一致,比如master节点是
cat /etc/sysconfig/network

NETWORKING=yes
HOSTNAME=mdw

其它以此类推


3.5在每个节点创建用户和用户组
groupadd -g 530 gpadmin
useradd -g 530 -u 530 -m -d /home/gpadmin -s /bin/bash gpadmin
chown -R gpadmin:gpadmin /home/gpadmin
passwd gpadmin

注意,passwd统一设置为 xxxxDDDD


3.6修改每个节点打开文件限制
vi /etc/security/limits.conf

# End of file
* soft nofile 65536
* hard nofile 65536
* soft nproc 131072
* hard nproc 131072

3.7 关闭所有节点防火墙和selinux
centos 7命令改了,参考 https://www.cnblogs.com/shizhijie/p/8005727.html和http://www.piis.cn/zhishi/web1453.asp


systemctl stop firewalld #停止firewall
systemctl stop iptables #停止iptables

[root@mdw selinux]# cat /etc/selinux/config 
# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
#     enforcing - SELinux security policy is enforced.
#     permissive - SELinux prints warnings instead of enforcing.
#     disabled - No SELinux policy is loaded.
SELINUX=disabled
# SELINUXTYPE= can take one of these two values:
#     targeted - Targeted processes are protected,
#     mls - Multi Level Security protection.
SELINUXTYPE=targeted 


4. 注册账号
https://account.run.pivotal.io/z/uaa/sign-up


5.下载安装包
https://network.pivotal.io/products/pivotal-gpdb


为了跟参考文档一致,选择greenplum-db-4.3.33.1-rhel5-x86_64.zip


6.主节点安装
把安装包cp到第一个节点
 docker cp greenplum-db-4.3.33.1-rhel5-x86_64.zip 266a5746aeee:/home/gpadmin

su gpadmin

unzip greenplum-db-4.3.14.1-rhel5-x86_64.zip

chmod +x greenplum-db-4.3.14.1-rhel5-x86_64.bin

./greenplum-db-4.3.14.1-rhel5-x86_64.bin

安装期间需要修改默认安装目录,输入/home/gpadmin/greenplum-db-4.3.14.1


配置批量操做,创建两个文件/home/gpadmin/config下的hostlist和seg_hosts
cat hostlist

mdw
sdw1
sdw2
sdw3

cat seg_hosts
sdw1
sdw2
sdw3

配置环境变量
source /home/gpadmin/greenplum-db/greenplum_path.sh 

然后执行打通所有机器
gpssh-exkeys -f /home/gpadmin/config/hostlist 


这样,就可以对所有机器做批量操做了,比如
gpssh -f /home/gpadmin/config/hostlist
登陆到所有机器
=>pwd
显示所有当前目录

打包master节点上的安装包
tar -cf gp.4.3.tar greenplum-db-4.3.14.1/
使用gpscp命令将这个文件复制到每一台机器上

gpscp -f /home/gpadmin/conf/seg_hosts gp.4.3.tar =:/home/gpadmin/
批量解压,并建立软链接

[gpadmin@mdw conf]$ gpssh -f hostlist
=> cd /opt/greenplum
[sdw1]
[sdw2]
[mdw]
=> tar -xf gp.4.3.tar
[sdw1]
[sdw2]
[mdw]
=> ln -s ./greenplum-db-4.3.8.1 greenplum-db
[sdw1]
[sdw2]
[mdw]
=>exit


7.初始化安装数据库
批量创建数据目录

[gpadmin@mdw conf]$ gpssh -f hostlist
=> mkdir gpdata
[ mdw]
[sdw2]
[sdw1]
=> cd gpdata
[ mdw]
[sdw2]
[sdw1]
=> mkdir gpmaster gpdatap1 gpdatap2 gpdatap3 gpdatam1 gpdatam2 gpdatam3
[ mdw]
[sdw2]
[sdw1]
=> exit

8.在每个节点上配置.bash_profile环境变量

[gpadmin@mdw ~]$ cd
[gpadmin@mdw ~]$ cat .bash_profile 
# .bash_profile

# Get the aliases and functions
if [ -f ~/.bashrc ]; then
    . ~/.bashrc
fi

# User specific environment and startup programs

PATH=$PATH:$HOME/bin

export PATH

source /opt/gpadmin/greenplum-db/greenplum_path.sh
export MASTER_DATA_DIRECTORY=/home/gpadmin/gpdata/gpmaster/gpseg-1
export PGPORT=2345
export PGDATABASE=testDB

[gpadmin@mdw ~]$ source .bash_profile

9.初始化数据库

gpinitsystem -c /home/gpadmin/config/gpinitsystem_config -s sdw2


10.启动gp

在master节点执行

psql -d postgres

创建测试数据库
createdb testDB -E utf-8

postgre的基本命令
https://blog.csdn.net/Linga_X/article/details/51906152


切换到testDB上进行操作
\c testDB  

select version();

退出
\q


启动qp
gpstart -a

关闭gp
gpstop

可以用一下试试。


11. 架构

11.1 每个节点是一个postgre,每个节点相互独立,不共享任何资源,包括数据。每个节点只使用自己的数据和硬件。每个节点的数据都是全部数据的一部分。


11.2 segment host是数据节点,master host是控制节点。


12. 实战

数据仓库,历史拉链表


 

标签:greenplum,gpadmin,节点,012,172.17,linux,home,mdw
来源: https://blog.csdn.net/u011539200/article/details/98072838

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有