zoukankan      html  css  js  c++  java
  • 分布式文件系统gluster的搭建,以及和docker 的结合使用

         目标简述: 机器A 上面装有docker,docker里有跑了python爬虫程序去抓数据,机器A上有个目录mydata挂载到docker 抓取的目录上。有机器B,C 通过gluster 挂载到 机器A的mydata目录里。这样当docker里的数据下载完以后,会把数据分布式存储在机器B 和C 上。

         三台机器:

         192.168.0.107(机器B角色)

          192.168.0.109(机器c角色)

          192.168.0.111 (机器A角色)

          其中192.168.0.107 ,192.168.0.109创建replica volume复制卷(lxsvolume)(目录为/gluster/data)

    192.168.0.111 为lxsvolume创建 /lxs/mydata的挂载点,然后把/lxs/mydata挂载到docker的mydata目录里。验证在docker的mydata目录里创建文件,则在192.168.0.107 ,192.168.0.109里能看到对应的文件

         

    192.168.0.107 安装gluster

     yum install centos-release-gluster

    yum install -y glusterfs glusterfs-server glusterfs-fuse glusterfs-rdma

    同样在192.168.0.109上安装上述命令

    未开启服务时 
    查看集群状态: gluster peer status  机器未开启

     

    两台机器启动服务

    启动服务 systemctl start glusterd.service 

    重启时自动服务    systemctl enable glusterd.service

    再次查看集群状态

    关闭服务命令 systemctl stop glusterd.service 

     

    把2台机器的IP 加入到集群中

    操作在一台服务器上操作即可,状态将同步到其他服务器

    gluster peer probe 192.168.0.107

    gluster peer probe 192.168.0.109

    此时在107上 把109那台机器加入进集群失败

    能ping通 估计没关闭109防火墙

    在109上关闭防火墙

    systemctl stop firewalld.service 
    systemctl disable firewalld.service

    再次把109加入集群 成功

    同时关闭下107防火墙

    再次查看集群状态: gluster peer status 

    创建数据存储目录(在二个节点上都运行):

    107 109 上 mkdir -p /gluster/data

    查看volume 状态: gluster volume info

    由于还没有创建volume所以显示的是暂无信息

    创建volume (有7种volume)

    在107上 创建replica volume (复制卷)

    gluster volume create lxsvolume replica 2 192.168.0.107:/gluster/data   

    192.168.0.109:/gluster/data

    再加上 gluster volume create lxsvolume replica 2 192.168.0.107:/gluster/data    192.168.0.109:/gluster/data  force

    再次查看volume信息  gluster volume info (107 和109)

    启动 lxsvolume卷   gluster volume start lxsvolume

    在111 上安装客户端

    yum install -y glusterfs glusterfs-fuse

    建立挂载点:mkdir -p /lxs/mydata

     

    mount命令:mount -t glusterfs 192.168.0.107:lxsvolume /lxs/mydata/

     

     在107  109  /gluster/data 目录 无东西

    此时在 111 的 /lxs/mydata/ 的目录下 随便创建个文件

    此时 107  109下都有

    查看挂载信息

    说明此时gluster 复制已经搭建完成

       下一步:验证通过docker 挂载数据到机器A 上 从而分布式存储到机器b c 上

    把111的 /lxs/mydata 目录挂载到 docker 的 /mydata 目录里

    docker run -it -v  /lxs/mydata:/mydata --privileged=true  ff426288ea90

    然后在docker的 mydata目录里创建 文件qq 和目录lxs

    在 107  109的挂载点里都能看到

     搭建成功:

      通过Docker 里的/mydata ----à 111 的/lxs/mydata   然后 挂载lxsvolume卷(107和109创建的复制卷)

  • 相关阅读:
    《Python 源码阅读》之 类型Type
    《Python 源码剖析》之对象
    KMP匹配算法
    Python的递归深度
    js验证手机号
    Jquery 实现 “下次自动登录” 记住用户名密码功能
    js注册读秒进度条
    div+css进度条
    SprignMVC+myBatis整合
    ssm控制输出sql(二)
  • 原文地址:https://www.cnblogs.com/yuanjava/p/9570576.html
Copyright © 2011-2022 走看看