centos 6.5环境下分布式文件系统MogileFS工作原理及分布式部署实现过程

本文详细介绍了在CentOS 6.5环境中,如何部署分布式文件系统MogileFS。步骤包括安装MogileFS、Nginx和MariaDB,设置数据库权限,初始化数据库,添加主机以及配置Nginx进行访问控制和负载均衡。通过这些步骤,实现了在多节点上的分布式部署。
摘要由CSDN通过智能技术生成
MogileFS是一套高效的文件自动备份组件,由Six Apart开发,广泛应用在包括LiveJournal等web2.0站点上
MogileFS由3个部分组成:
   第1个部分:是server端,包括mogilefsd和mogstored两个程序。前者即是mogilefsd的tracker,它将一些全局信息保存在数据库里,例如站点domain,class,host等。后者即是存储节点(store node),它其实是个HTTP Daemon,默认侦听在7500端口,接受客户端的文件备份请求。在安装完后,要运行mogadm工具将所有的store node注册到mogilefsd的数据库里,mogilefsd会对这些节点进行管理和监控。
   第2个部分:是utils(工具集),主要是MogileFS的一些管理工具,例如mogadm等。
   第3个部分:是客户端API,目前只有Perl API(MogileFS.pm)、PHP,用这个模块可以编写客户端程序,实现文件的备份管理功能,提供MogileFS.pm。
   当下互联网飞速发展,海量并发所产生的数据量以几何方式增长,随着信息链接方式日益多样化,数据存储的结构也发生了变化,在这样的压力下我们不得不重新审视大量数据的存储所带来了巨大的挑战:
   1、数据采集:对于社交网站一般都是由用户上传的;
   2、数据存储:现在是数据量大爆炸时代,每天都会产生大量的数据,所以数据存储就成了一个大问题;
   3、数据搜索:如果说存储是考验数据的存储能力的话,那搜索就是考量计算机能力了,从大量的数据中搜索出来;
   4、数据共享:数据存储下来之后还要进行数据的共享问题,大量的数据该怎么共享这些数据呢;
   5、数据传输:而海量数据存储下来之后数据怎么用户与用户之间进行安全的传输;
   6、数据分析:数据的分析是了解我们过去的一些行为规范;
   7、数据可视化:而海量数据存储下来之后怎么样可以直观的展示在人们面前呢;
分布式文件系统的几个难点:
   1、缺乏全局时钟、不过同步本身就存在时间差,很难做到步调一致,
   2、面对故障的独立性,分布式是由多个节点组成的,而每个节点都是独立工作的,一个节占故障度不会影响其它节点正常工作,
   3、如何去处理单点故障, 一是:做冗余,对单点做备份;二是:降低单点故障的影响范围
   4、事务类的挑战,在分布环境中怎么处理事务呢;ACID或2PI(两段式提交)、最终一致、BASE法则、CAP理论、Paxos算法;


什么是两段式提交: 
   通过使用某种协议进行通信来完成分布式事务,被称为两段式提交。从名字上看,您可能已经知道有两个阶段:
第一个阶段,即预提交:
   事务协调器给每个事务管理器发送准备操作的信号。
   事务管理器将操作(通常是数据更新)步骤(或细节)写入事务日志。如果失败,事务管理器使用这些步骤重复操作。
   事务管理器本地创建事务并通知资源管理器对资源(例如,数据库或消息服务器)执行操作。
   资源管理器执行操作并向事务管理器报告成功(准备提交信号)或失败(准备回滚)。
   资源管理器等待事务管理器进一步的指令。
   事务管理器向事务协调器报告成功或失败。
第二阶段,即提交阶段:在第二阶段中,第一阶段的结果将传送给所有事务管理器。
   如果任何事务管理器报告失败,所有的事务参与者都必须回滚。
   事务协调器让所有事务管理器提交(或回滚)。
   所有事务管理器将提交或回滚信息传递给其资源管理器。
   资源管理器将成功或失败提示返回给事务管理器。
   事务管理器向事务协调器报告成功或失败。


CAP理论:一致性,可用性,分区容错性;指一个分布式系统不可以满足一致性,可用性和分区容错性这三个需求,最多只能同时满足其中的两个;
   C(Consistency):一致性,任何一个读操作总是能够读取之前完成的写操作;就是一个数据写入一立马被读到;
   A(Availability):可用性,每一次操作总是能够 在确定的时间返回;无论成功或失败都能收到一个返回值的;
   P(Tolerance of network Partition):分区容错性,在出现网络分区的情况下,仍然能够满足一致性和可用性;

BASE法则模型反ACID模型,完全不同ACID模型,牺牲高一致性,获得可用性或可靠性:
   BA:Basically Available,基本可以用,支持分区失败(sharding碎片划分数据库);
   S:Soft state,软状态,接受一段时间内的状态不同步,异步;
   E:Eventually consistent:最终一致性,弱一致性的表现;
   BASE思想主要强调基本的可用性,如果你需要High 可用性,也就是纯粹的高性能,那么就要以一致性或容错性为牺牲,BASE思想的方案在性能上还是有潜力可挖的。


Paxos算法:比2PC提交更轻量级的分布式事务的协调方式;大概是指不出现故拜占庭将军的前提下,要取得数据的一致性,在通信信道不安全的时候,我们数据传输可能会被人劫持,这样就不能保证数据的可信了,所以必须保证通信信道安全下Paxos算法才可行;

实现MogileFS的分布式过程,按照下图构建MogileFS分布式文件系统的结构,这里限于机器的原因,一些服务都整合在一起;

 第一步:安装MogileFS软件

我们前面提到,它是由三部分组成,所以三个组件都得安装上,并且每个节点都做MogileFS和Mogstored;

   在这里先说此次的基本布局,192.168.8.39上安装nginx,192.168.8.40上安装MariaDB数据库,192.168.8.41和192.168.8.43上都安装了MogileFS和Mogstored,8.41和8.43都共同使用8.40上的MariaDB数据库,nginx做为前端接收用户请求并负载均衡到后端两个节点上


   在8.41上的安装和配置过程,修改好配置文件之后复制一份相同的配置文件到8.43节点上,因为它们的配置参数都是一样的:

在 8.41 和8.43 分别安装 mofilefs和mofstored服务

  

                
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值