安装docker、greenplum集群

1. 创建容器、进入容器、改容器root密码

1.1 安装docker

安装参考:

《Docker系列》Docker安装GreenPlum集群_DATA数据猿的博客-优快云博客

yum -y install docker

启动daemon,初始化swarm

sudo systemctl daemon-reload

systemctl start docker

systemctl status docker

systemctl enable docker

docker swarm init

docker node ls

1.2 创建并进入容器

创建3个容器mdw、sdw1、sdw2:

[root@localhost ~]# sudo docker run -d --name mdw --privileged=true centos:7 /usr/sbin/init
7a6e3fcf85d024bac5be33a957dd7d4f2a274ad211626b91a349842b24f0244a
[root@localhost ~]# sudo docker run -d --name sdw1 --privileged=true centos:7 /usr/sbin/init
d47253c5863a3aeeebcde243456bc587c5e62f5872fa3d098b30c46a3c2d4cec
[root@localhost ~]# sudo docker run -d --name sdw2 --privileged=true centos:7 /usr/sbin/init
bc8fdffecd51da4ebbfc33ad139fbef6f82d83f78426bd0a34d4c8542f3fb605

三个窗口分别进入容器:

[root@localhost ~]# docker exec -it mdw /bin/bash
[root@7a6e3fcf85d0 /]#

[root@localhost ~]# docker exec -it sdw1 /bin/bash
[root@d47253c5863a /]# 

[root@localhost ~]# docker exec -it sdw2 /bin/bash
[root@bc8fdffecd51 /]# 

1.3 三个容器分别修改root密码:

[root@7a6e3fcf85d0 /]# passwd

[root@d47253c5863a /]# passwd

[root@bc8fdffecd51 /]# passwd

(设置为111222)

2. 修改容器配置

2.1 修改 /etc/hosts 主机映射

cat /etc/hosts 得到三个容器hosts文件的最后一行:

172.17.0.3 7a6e3fcf85d0 mdw

172.17.0.4 d47253c5863a sdw1

172.17.0.5 bc8fdffecd51 sdw2

所以修改三台容器的 /etc/hosts 文件内容为:

127.0.0.1    localhost
::1    localhost ip6-localhost ip6-loopback
fe00::0    ip6-localnet
ff00::0    ip6-mcastprefix
ff02::1    ip6-allnodes
ff02::2    ip6-allrouters

172.17.0.3 7a6e3fcf85d0 mdw
172.17.0.4 d47253c5863a sdw1
172.17.0.5 bc8fdffecd51 sdw2

2.2 配置 /etc/sysconfig/network 文件内容

每台容器执行 cat /etc/sysconfig/network ,发现没有这个文件;

mdw容器执行:

cat >/etc/sysconfig/network<<EOF
NETWORKING=yes
HOSTNAME=mdw
EOF

sdw1容器执行:

cat >/etc/sysconfig/network<<EOF
NETWORKING=yes
HOSTNAME=sdw1
EOF

sdw2容器执行:

cat >/etc/sysconfig/network<<EOF
NETWORKING=yes
HOSTNAME=sdw2
EOF

3. 创建用户、用户组

3.1 每台容器创建用户、用户组,并授予权限:

groupadd -g 530 gpadmin

useradd -g 530 -u 530 -m -d /home/gpadmin -s /bin/bash gpadmin

chown -Rf gpadmin:gpadmin /usr/local/greenplum*
chown -Rf gpadmin:gpadmin /data/

passwd gpadmin

##密码设置为gpadmin

3.2每台容器分别授予gpadmin用户、用户组操作目录的权限:

chown -R gpadmin /data/

chgrp -R gpadmin /data/

chown -Rf gpadmin /usr/local/

chgrp -Rf gpadmin /usr/local/

授予权限,否则gpadmin用户下后面将无法创建/data目录

chown -R gpadmin / 

chgrp -R gpadmin /

4. 安装防火墙

4.1 检查每台容器是否安装了防火墙:

systemctl status firewalld

显示Unit firewalld.service could not be found.表示没有安装防火墙

4.2 每台容器执行安装防火墙命令:

yum -y install firewalld

4.3 每台容器关闭防火墙:

systemctl stop firewalld

显示Active: inactive (dead) 表示防火墙已关闭

4.4 每台容器检查selinux状态:

getenforce

显示bash: getenforce: command not found 表示没有安装selinux

4.5 安装selinux

每台容器执行安装selinux命令:

yum -y install selinux-policy

4.6 每台容器修改 /etc/selinux/config 配置文件使 SELINUX=disabled:

# 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 three values:
#     targeted - Targeted processes are protected,
#     minimum - Modification of targeted policy. Only selected processes are protected.
#     mls - Multi Level Security protection.
SELINUXTYPE=targeted

4.7 每个容器再次检查加强型防火墙selinux的状态是否为Disabled:

getenforce

5. 安装、配置ssh服务 

5.1 vi vi /etc/ssh/sshd_config 发现没有这文件,表示没有安装ssh服务,每台容器安装ssh服务:

yum -y install openssh*

5.2 每台容器 vi /etc/ssh/sshd_config 修改sshd配置文件,取消#Port 22这行注释(开放22端口)

5.3 每台容器执行重启sshd服务命令:

/etc/rc.d/init.d/sshd restart

6. 配置容器间免密登录

6.1 每台容器执行命令配置三台容器之间的免密登录:

su gpadmin

## 如果配免密登录期间出问题,则删除~/.ssh下所有文件,重新配置:

rm -rf ~/.ssh/* 

ssh-keygen -t rsa

ssh-copy-id -i ~/.ssh/id_rsa.pub gpadmin@mdw

ssh-copy-id -i ~/.ssh/id_rsa.pub gpadmin@sdw1

ssh-copy-id -i ~/.ssh/id_rsa.pub gpadmin@sdw2

ssh-keygen -t ecdsa

ssh-copy-id -i ~/.ssh/id_ecdsa.pub gpadmin@mdw

ssh-copy-id -i ~/.ssh/id_ecdsa.pub gpadmin@sdw1

ssh-copy-id -i ~/.ssh/id_ecdsa.pub gpadmin@sdw2

7. 安装greenplum

7.1 容器主节点root用户下安装lrzsz,并上传greenplum安装包:

yum -y install lrzsz

rz上传安装包greenplum-db-6.9.1-rhel7-x86_64.rpm 到容器中;

安装包的下载地址:Download VMware Greenplum® — VMware Tanzu Network

7.2 三台容器root用户下安装依赖:

yum install -y net-tools which less zip unzip iproute apr apr-util bzip2 krb5-devel libevent libyaml openssl openssh perl rsync vim

7.3 容器主节点root用户下安装greenplum:

yum -y install /root/greenplum-db-6.9.1-rhel7-x86_64.rpm

8. 配置集群主机文件

8.1 容器主节点创建目录:

mkdir -p /data/gpconfigs

8.2 容器主节点创建集群主机文件并写入内容:

cat>/data/gpconfigs/all_hosts<<EOF
mdw
sdw1
sdw2
EOF

8.3 容器主节点创建segment主机文件并写入内容:

cat>/data/gpconfigs/seg_hosts<<EOF
sdw1
sdw2
EOF

9. 打通节点

9.1 三个容器都切换到gpadmin用户下,并 vi ~/.bashrc 在文末加入内容

su gpadmin

cat>>~/.bashrc<<EOF
source /usr/local/greenplum-db/greenplum_path.sh
export MASTER_DATA_DIRECTORY=/data/gpdata/master/gpseg-1
export PGPORT=5433
export PGDATABASE=testDB

source ~/.bashrc

9.2 容器主节点执行命令打通节点:

[gpadmin@7a6e3fcf85d0 root]$ gpssh-exkeys -f /data/gpconfigs/all_hosts

9.3 主节点把greenplum安装目录打成tar包,并分发给子节点,解压子节点tar包,配置软连接,创建子节点的数据目录,创建主节点的数据目录:

[gpadmin@7a6e3fcf85d0 local]$ tar -cf gp-6.9.1.tar greenplum-db-6.9.1/

[gpadmin@7a6e3fcf85d0 local]$ gpscp -f /data/gpconfigs/seg_hosts /usr/local/gp-6.9.1.tar =:/usr/local/

[gpadmin@7a6e3fcf85d0 local]$ gpssh -f /data/gpconfigs/seg_hosts 

=> cd /usr/local
[sdw2]
[sdw1]

=> tar -xf gp-6.9.1.tar 
[sdw2]
[sdw1]
=>  ln -s ./greenplum-db-6.9.1 greenplum-db
[sdw2]
[sdw1]

=> mkdir -p /data/gpdata/master
[sdw2]
[sdw1]
=> mkdir -p /data/gpdata/primary
[sdw2]
[sdw1]
=>

[gpadmin@7a6e3fcf85d0 data]$ mkdir -p /data/gpdata/master
[gpadmin@7a6e3fcf85d0 data]$ mkdir -p /data/gpdata/primary
 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值