分布式存储 Mogilefs 部署

MogileFS是一个开源的分布式存储的解决方案,主要工作组件由三部分组成:
Tracker节点:生成映射表存储于DB,并用于接收客户端请求,通过查询数据库对客户端提供后端所存储的真实文件位置
DB节点:主要存储数据的元数据信息,可以理解为客户端来获取数据文件时提供的Key和真实存在存储里面的文件名的对照表
Storage节点:用于存储文件的节点。
工作流程,tracker收到客户端的请求,tracker通过查询DB节点,将客户端所请求的文件,对应Storage存储的位置在返回给客户端,客户端在通过拿到的文件名以及文件位置,再去Storage上查找。

实验环境:

两台centos7 其中1台配置nginx+tracker+db+storage节点,另外一台只提供Storage。

安装:

由perl语言开发,未被收录到base和epel源中,这里我们采取在cpan上安装。

yum -y install make gcc unzip perl-DBD-MySQL perl perl-CPAN perl-YAML perl-Time-HiRes

先安装这一堆玩意,以便让cpan能正确安装mogilefs

安装完成后直接执行

cpan MogileFS::Server

分布式存储 Mogilefs 部署

这里一路回车,然后知道箭头前两处,提示是否自动搜索cpan站点,一定要选no 不然得等死,第二个箭头继续n 他提示是否提供一些站点我们自行选择,也可以yes根据提示慢慢选,但是我这里no掉了,下面叫你输入cpan站点,用的163的cpan镜像站点,这样安装会比较快,然后又是一路回车

接着开始安装,可以看到他还会自动解决一些依赖关系

分布式存储 Mogilefs 部署

分布式存储 Mogilefs 部署

安装完成过后看到已经有了关于mogilefs的命令了 其中mogilefsd是tracker的启动命令,mogstored是存储节点的启动命令 mogdbsetup是为我们初始化数据库的。

然后执行

cpan MogileFS::Utils 

安装mogilefs的管理工具

接着,我们去安装数据库,并且授权一个账号可以访问,就不演示了。

分布式存储 Mogilefs 部署

使用mogdbsetup –help可以看到支持的选项

注意 这里我只简单给了两个参数,默认会使用root用户连接localhost去创建数据库,应该也会创建用户之前授权白做了,因此如果数据库单独提供,并且root有密码,按上图的参数写全即可

接着几个Y 就可以创建成功了,接着连入数据库看到给我们验证是否初始化。

分布式存储 Mogilefs 部署

接着提供一个配置文件

分布式存储 Mogilefs 部署

配置文件中提供的指令就不解释了,基本能见名之意,这里需要提一下,需要注意两点:

1、mogilefsd 不能以root用户运行,所以要su到另一个用户启动(至于具体为啥,我去找了,没找到解释的,应该还是出于安全考虑吧,把权限控制到最小,毕竟生产环境中如果能不用root用户运行的进程我们都应该不用root运行)

2、mogilefsd启动时可以用类似–daemon=1 db_user= 。。。来启动,完全可以不需要配置文件启动的,另外这里只提供了一些基本的配置指令,具体可以去https://github.com/mogilefs/MogileFS-Server/tree/master/conf  了解。

然后提供storge的配置文件 并启动服务

分布式存储 Mogilefs 部署

这里提供了一个http的访问接口为7500,7501为tracker检测后端健康状态的端口,docroot就是我们真是存放数据的位置了。

记得先提供这么一个路径,否则会启动不了,接着去配置第二台storage节点就不演示了和第一个节点一样(创建的目录名需要修改一下,在tracker是以全局看的,所有主机的存储节点应该标识唯一)

分布式存储 Mogilefs 部署

添加两个主机

分布式存储 Mogilefs 部署

添加两个主机上的设备,这里的设备你可以理解为就是数据存储的位置

分布式存储 Mogilefs 部署

出问题了,识别不了空间!!!!

分布式存储 Mogilefs 部署

可以了,这里出的问题是啥呢~ 看下面两张图就清楚了

分布式存储 Mogilefs 部署

分布式存储 Mogilefs 部署

分别是两个节点上的~ 看出来了么~~ 

一个主机我是修改了stroge配置文件,一个是我在原有目录上在此新建了一个目录。

由此可见,创建dev目录的位置 需要在docroot指的位置下才行~~~~~~~

接着我们就可以尝试上传文件了~

分布式存储 Mogilefs 部署

添加一个域 并列出域的列表。域又是什么呢,你可以理解为之前我们做的添加完设备后,在tracker主机上后,(从tracker主机上看,给了他一个很大的磁盘,它拿来后自己分了区~,可以表明每个域存放内容,比如windows上我们常用的 D盘拿来装游戏 E盘拿来装电影~~)上图的class又是啥呢,他是整个复制环节的最小复制单位,我们可以通过定义他来修改在每一个storage节点上个文件存储的份数,我们这里就不没必要设置他了。mindevcount代表存储的最小份数 2份 ,replpolicy 存储策略 多主机存储、hashtype哈希类型 没有

接着我们测试的话基本设置就完了,现在来提一下我们上面用到的命令 mogadm

分布式存储 Mogilefs 部署

使用mogadm –help 可以看到许多的子命令,并且后面会有描述,那具体每个命令怎么使用,我们就可以以下图的示例获取了

分布式存储 Mogilefs 部署

现在我们就来上传一个文件看看吧~

分布式存储 Mogilefs 部署

此次试验失败告终。 两个节点都可以上传文件,但始终都只保存一份。

在发现这个问题过后,做了如下检测

1、授权文件目录(想来应该不是这个问题 因为本来就能分开存放,只是不能复制)

2、两个节点存储目录相同

3、看进程发现replicate进程只有一个,以为一个进程只能写一个节点,事实证明错误的想法

4、修改存储份数

5、另起了一个mogilefsd进程,相同问题

6、新建域,新建class

7、时间同步

8、两节点间可以通过以mogadm host命名的域名访问

9、终极办法。。。重启。。。


问题依旧(怎么会没日志!!!!),网上资料好少,全是安装,配置的,还都是马哥提供的rpm包,不得不吐槽下。

空了准备换centos6+cpan安装,如果还有问题就尝试用马哥提供的RPM包了。

另外哪位大神遇到过这问题啊,指点一下。

原创文章,作者:N24_Ghost,如若转载,请注明出处:http://www.178linux.com/70466

(0)
N24_GhostN24_Ghost
上一篇 2017-03-04
下一篇 2017-03-05

相关推荐

  • 文本查看、处理工具的应用及组、用户的相关操作

            一、列出当前系统上所有已经登录的用户的用户名,注意:同一个用户登录多次,则只显示一次即可      查看已经登录的用户用“who”命令,为了试验我用root多登录了几次。    &nb…

    2017-07-16
  • 文本处理工具 练习

    7.1 练习   1 、找出ifconfig 命令结果中本机的所有IPv4 地址 2 、查出分区空间使用率的最大百分比值   3 、查出用户UID 最大值的用户名、UID 及shell 类型 4 、查出/tmp 的权限,以数字方式显示   5 、统计当前连接本机的每个远程主机IP 的连接数,并按从大到小排序   &nb…

    Linux干货 2016-08-07
  • 如何安装VMware Workstation

    1、打开安装包,直接点击“下一步” 2、选择接受条款,单击“下一步” 3、选择安装路径,单击“下一步” 4、单击“下一步”,也可以勾选掉两个选项   5、单击“下一步”   6、点击“安装”   7、完成安装  

    2017-07-11
  • CentOS6.8启动卡死在开机进度条

    不知道什么原因CentOS6.8开机的时候卡在进度条一直进不去。就是下面的画面 在这个画面下面也看不到什么原因,果断F5切换至有显示开机进程的界面 看到了上述的错误提示:invalid user :'root' root是无效的root这是什么鬼? 接下来重新开机,进入到救援模式 开机的时候快速按一下ESC,进入到CD启动,然后选择救援模…

    Linux干货 2016-12-08
  • 描述LVS的工作原理

    一、LVS结构   LVS由前端的负载均衡器(Load Balancer,LB)和后端的真实服务器(Real Server,RS)群组成。RS间可通过局域网或广域网连接。LVS的这种结构对用户是透明的,用户只能看见一台作为LB的虚拟服务器(Virtual Server),而看不到提供服务的RS群。当用户的请求发往虚拟服务器,LB根据设定的包转发策略和负载均衡…

    Linux干货 2016-08-29
  • 网络管理基础

    什么是网络?    在计算机领域中,网络是信息传输,接受,共享的虚拟平台,通过它把各个点,面体的信息联系到一起, 从而实现这些资源的共享。 网路物理组件     终端:可发送和接受数据的,如计算机。移动设备,打印机,服务器….    互联设备:互联…

    Linux干货 2016-09-06

评论列表(4条)

  • 马哥教育
    马哥教育 2017-03-13 23:30

    虽然文章中实验失败了,但还是给个~~最后的总结很好~有时间再来一次~~加油!

  • yhy1271927580
    yhy1271927580 2017-05-03 23:23

    为什么会出现Malformed config file (line 2) at /usr/local/share/perl5/MogileFS/Config.pm line 136, line 2. 错误,启动mogilefsd的时候就总是这样,请问碰到了这个问题吗

    • N24_Ghost
      N24_Ghost 2017-05-04 09:50

      @yhy1271927580
      看提示应该是你启动的时候配置文件指的是这个文件,但是这个文件的 136和第二行有错误。

    • yhy1271927580
      yhy1271927580 2017-05-04 14:08

      @N24_Ghost遇到了跟你一样的问题,我检查了目录权限,mogs用户可以写入数据,请求你的这个问题解决了吗