精华内容
参与话题
问答
  • 什么是分布式文件系统 分布式文件系统解决了海量文件存储及传输访问的瓶颈问题,对海量视频的管理、对海量图片的管理等。 分布式文件系统(Distributed File System)是指文件系统管理的物理存储资源不一定直接...

    什么是分布式文件系统

    分布式文件系统解决了海量文件存储及传输访问的瓶颈问题,对海量视频的管理、对海量图片的管理等。

    分布式文件系统(Distributed File System)是指文件系统管理的物理存储资源不一定直接连接在本地节点上,而是通过计算机网络与节点相连

     

    为什么会有分布文件系统

    1.存在问题

    分布式文件系统是面对互联网的需求而产生,互联网时代对海量数据如何存储?靠简单的增加硬盘的个数已经满足不了我们的要求,因为硬盘传输速度有限但是数据在急剧增长,另外我们还要要做好数据备份、数据安全等问题。

    2.解决办法

    采用分布式文件系统可以将多个地点的文件系统通过网络连接起来,组成一个文件系统网络,结点之间通过网络进行通信,一台文件系统的存储和传输能力有限,我们让文件在多台计算机上存储,通过多台计算共同传输

    好处

    1.一台计算机的文件系统处理能力扩充到多台计算机同时处理

    2.如果一台计算机挂了,还有另外副本计算机提供数据。

    3.每台计算机可以放在不同的地域,这样用户就可以就近访问,提高访问速度

     

    主流的分布式文件系统

    ①NFS

    在客户端上映射NFS服务器的驱动器,客户端通过网络访问NFS服务器的硬盘完全透明。

     

    ②GFS

    GFS采用主从结构,一个GFS集群由一个master大量的chunkserver组成。master存储了数据文件的元数据,一个文件被分成了若干块存储在多个chunkserver中。用户从master中获取数据元信息,从chunkserver存储数据。

     

    ③HDFS

    Hadoop分布式文件系统主要用于大数据。HDFS采用主从结构,一个HDFS集群由一个名称结点若干数据结点组成

    名称结点存储数据的元信息,一个完整的数据文件分成若干块存储在数据结点。客户端从名称结点获取数据的元信息及数据分块的信息,得到信息客户端即可从数据块来存取数据。

     

     

    展开全文
  • 分布式文件系统

    万次阅读 热门讨论 2012-05-30 21:27:04
    PDF格式PPT下载:分布式文件系统

    PDF格式PPT下载:分布式文件系统













































    展开全文
  • 一、各种分布式文件系统对比 1.1 表格对比 技术 优点 缺点 总结 1、 HDFS 1、大数据批量读写,吞吐量高; 2、一次写入,多次读取,顺序读写; ...

     

    一、各种分布式文件系统对比

    1.1 表格对比

    技术

    优点

    缺点

    总结

    1、   HDFS

    1、大数据批量读写,吞吐量高;

    2、一次写入,多次读取,顺序读写;

    1、交互式应用,低延迟很难满足;

    2、不支持多用户并发写相同文件。

    如果是很多小文件,nameNode压力大

    2、    googleFs

    1、成本低,运行在廉价的普通硬件上

    1、不开源

    不开源,使用困难

    3、   Tfs

    1、    开源

    1、小于1M的文件

    2、TFS内部是没有任何数据的内存缓冲的

     适合单个文件比较小的系统

    4、   Lustre

    1、  开源

    2、  支持POSIX

    3、  文件被分割成若干的Chunk,每个chunk是一般为1MB-4MB

     

     

    5、 Ceph

     

    1、支持POSIX

    2、开源

     

     

    1、  在Linux主流内核中找到ceph

    2、不成熟,处于测试推广阶段

    6、  MogileFs

    1、开源

     

     比FastDFS

    7、   FastDFS

    1、  开源

    2、  适合以文件为载体的在线服务

    3、  FastDFS没有对文件做分块存储

    4、  不需要二次开发即可直接使用

    5、  比mogileFS更易维护和使用

    6、  直接使用socket通信方式,相对于MogileFS的HTTP方式,效率更高。

    1、文件访问方式使用专有API,不支持POSIX

     

    8、swiftfs

     

     

    1、基于HDFS

    9、NFS

    1、用户和程序可以象访问本地文件一样访问远端系统上的文件

     

     

     

     

    开源的分布式文件/对象系统比较有名的包括Lustre(HPC)GlusterFS(NAS NFS)、HDFS(hadoop)、ceph(虚机块存储)、swift(restful对象存储),各有不同的领域。

     

    1.2 相关链接

    1.2.1     Hadoop

    http://tech.it168.com/a2012/1029/1414/000001414776.shtml

    hadoop文档 :http://hadoop.apache.org/

    https://hadoop.apache.org/docs/r1.0.4/cn/hdfs_shell.html

    1.2.2     Googlefs 不开源

    1.2.3     Tfs

    开源首页:http://tfs.taobao.org/

    1.2.4     Lustre

    http://lustre.org/

    http://lustre.org/getting-started-with-lustre/

    1.2.5     ceph:

    社区网站地址:
    http://ceph.org.cn/
    中文文档:
    http://docs.ceph.org.cn/start/intro/

    源码:https://github.com/ceph/ceph

    https://www.oschina.net/translate/ceph

    http://dockone.io/article/307

    1.2.6     MogileFs

    1.2.7     fastdfs

    http://elf8848.iteye.com/blog/1739596

    MogileFsFastDFS 对比:http://blog.csdn.net/wishfly/article/details/6940504

    http://www.sunnyu.com/?p=105

    http://bbs.chinaunix.net/thread-2001101-1-1.html

    1.2.8     swiftfs

    https://github.com/ovh/svfs

    https://wiki.openstack.org/wiki/Swift

    https://support.rackspace.com/how-to/swift-filesystem-for-hadoop/

    1.2.9     综合

     现在主流的开源分布式文件系统架构有哪些?

    https://www.zhihu.com/question/19832447

     如何选择分布式文件系统?

    https://segmentfault.com/q/1010000000449947

     各种分布式文件系统

    http://os.51cto.com/art/201007/212689_all.htm

    索引树:http://bbs.chinaunix.net/tree/index_304_1/

    当下流行的分布式文件系统大阅兵

    http://os.51cto.com/art/201007/212689_all.htm

     

    公众号:关注【哥妞】,了解技术,学会泡妞~
    [个人博客]

    展开全文
  • 为您提供Ceph分布式文件系统下载,Ceph是加州大学Santa Cruz分校的Sage Weil(DreamHost的联合创始人)专为博士论文设计的新一代自由软件分布式文件系统。自2007年毕业之后,Sage开始全职投入到Ceph开发之中,使其能...
  • 一、大数据与Hadoop 1.1 大数据简介 1.1.1 大数据的定义 – 大数据由巨型数据集组成,这些数据集大小常超出人 类在可接受时间下的收集、使用、管理和处理能力。 1.1.2 大数据能做什么 ...– 把数据集合幵后进行分析...

    一、大数据与Hadoop

    1.1 大数据简介

    1.1.1 大数据的定义

    – 大数据由巨型数据集组成,这些数据集大小常超出人
    类在可接受时间下的收集、使用、管理和处理能力。

    1.1.2 大数据能做什么

    – 把数据集合幵后进行分析可得出许多额外的信息和数
    据关系性,可用来察觉商业趋势、判定研究质量、避
    免疾病扩散、打击犯罪或测定即时交通路况等;这样
    的用途正是大型数据集盛行的原因

    1.2 什么是Hadoop

    – Hadoop 是一种分析和处理海量数据的软件平台
    – Hadoop 是一款开源软件,使用 JAVA 开发
    – Hadoop 可以提供一个分布式基础架构

    二、Hadoop组件

    2.1 Hadoop 核心组件

    2.1.1  HDFS
    – 分布式文件系统
    2.1.2 MapReduce
    – 分布式计算框架
    2.1.3 Yarn
    – 集群资源管理系统

    2.2 Hadoop 生态系统

    2.3 Hadoop 常用组件

    • HDFS(Hadoop分布式文件系统)
    • Mapreduce(分布式计算框架)
    • yarn(集群资源管理系统)
    • Zookeeper(分布式协调服务)
    • kafka (分布式的消息系统)
    • Hbase(分布式列存数据库)
    • Hive(基于Hadoop的数据仓库)
    • Sqoop(数据同步工具)
    • Pig(基于Hadoop的数据流系统)
    • Mahout(数据挖掘算法库)
    • Flume(日志收集工具)

    三、Hadoop核心组件

    3.1 HDFS 结构

    HDFS是Hadoop体系中数据存储管理的基础。它是一个高度容错的系统,用于在低成本的通用硬件上运行。

    HDFS的工作原理:

    client将数据进行分片,他会向namenode发出请求询问数据应该存放到哪些datanode结点上,namenode会告诉HDFS client分片数据的存放位置,HDFS Client就会与DataNode进行通信,把数据存放到响应的dataNode结点上。

    3.1.1 HDFS 角色及概念

    角色和概念
    – Client
    – Namenode
    – Secondarynode
    – Datanode

    1. Client
    – 切分文件
    – 访问HDFS
    – 不NameNode交互,获取文件位置信息
    – 不DataNode交互,读取和写入数据。

    2. NameNode
    – Master节点,管理HDFS的名称空间和数据块映射信
    息,配置副本策略,处理所有客户端请求。

    3. Secondary NameNode
    – 定期合并 fsimage 和fsedits,推送给NameNode
    – 紧急情况下,可辅劣恢复NameNode

    4. DataNode
    – 数据存储节点,存储实际的数据
    – 汇报存储信息给NameNode

    5.Block
    – 每块缺省64MB大小
    – 每块可以多个副本

    3.2 MapReduce 结构

    MapReduce是一个分布式计算框架

    角色和概念
    – JobTracker
    – TaskTracker
    – Map Task
    – Reducer Task

    1. JobTracker
    – Master节点,只有一个
    – 管理所有作业
    – 作业/仸务的监控、错误处理等
    – 将任务分解成一系列任务,分派给TaskTracker。

    2. TaskTracker
    – Slave节点,一般是多台
    – 运行Map Task和Reduce Task
    – 幵不JobTracker交互,汇报仸务状态。

    3. Map Task:解析每条数据记录,传递给用户编写的
    map(),幵执行,将输出结果写入本地磁盘(如果为
    map-only作业,直接写入HDFS)。

    4. Reducer Task:从Map Task的执行结果中,远程读
    取输入数据,对数据进行排序,将数据按照分组传递
    给用户编写的reduce凼数执行。

    3.3 Yarn 结构

    Yarn 是 Hadoop 的一个通用的资源管理系统

    3.3.1 Yarn 角色

    – Resourcemanager
    – Nodemanager
    – ApplicationMaster
    – Container
    – Client

    1. ResourceManager
    – 处理客户端请求
    – 启动 / 监控 ApplicationMaster
    – 监控 NodeManager
    – 资源分配不调度

    2. NodeManager
    – 单个节点上的资源管理
    – 处理来自 ResourceManager 的命令
    – 处理来自 ApplicationMaster 的命令

    3. Container
    – 对任务运行环境的抽象,封装了 CPU 、内存等
    – 多维资源以及环境变量、启动命令等任务运行相关的
    信息资源分配与调度

    4.ApplicationMaster
    – 数据切分
    – 为应用程序申请资源,幵分配给内部任务
    – 任务监控不容错

    5.Client
    – 用户与YARN 交互的客户端程序
    – 提交应用程序、监控应用程序状态,杀死应用程序等

    3.3.2 YARN 的核心思想

    将 JobTracker 和 TaskTacker 进行分离,它由下面
    几大构成组件:
    – ResourceManager 一个全局的资源管理器
    – NodeManager 每个节点(RM)代理
    – ApplicationMaster 表示每个应用
    – 每一个 ApplicationMaster 有多个 Container 在NodeManager 上运行

    四、Hadoop 安装配置

    4.1 Hadoop 的部署模式有三种

    – 单机
    – 伪分布式
    – 完全分布式

    4.2 Hadoop 单机模式安装配置

    1、获取软件
    http://hadoop.apache.org

    点击此处下载hadoop.rar
    2、安装配置 java 环境,安装 jps 工具
    安装 Openjdk 和 openjdk-devel

    ~] # yum -y install java-1.8.0-openjdk  java-1.8.0-openjdk-devel
    3、设置环境变量,启劢运行

    ~]# rpm -ql java-1.8.0-openjdk

    ~] # vim hadoop-env.sh
    JAVA_HOME=“/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.131-11.b12.el7.x86_64/jre/”

    4.hadoop 的功能
    – 测试 — 统计词频
    cd /usr/local/hadoop
    mkdir input
    cp *.txt input/
    ./bin/hadoop jar ./share/hadoop/mapreduce/hadoop-
    mapreduce-examples-2.7.3.jar wordcount input output

    4.3 Hadoop 伪分布式

    1. 伪分布式
    – 伪分布式的安装和完全分布式类似,但区别是所有角
    色安装在一台机器上,使用本地磁盘,一般生产环境
    都会使用完全分布式,伪分布式一般用来学习和测试
    方面的功能
    2. 伪分布式的配置和完全分布式配置类似

    3. 文件格式

    3.1 Hadoop-env.sh
    JAVA_HOME
    HADOOP_CONF_DIR

    3.2 Xml 文件配置格式
    <property>
    <name>关键字</name>
    <value>变量值</value>
    <description> 描述 </description>
    </property>

    4.4 HDFS 分布式文件系统

    4.4.1 系统规划

    4.4.2 基础环境准备

    1. 新开启3台虚拟机
    2. 禁用 selinux
    SELINUX=disabled
    3. 禁用 firewalld
    systemctl stop firewalld
    systemctl mask firewalld
    4. 安装 java-1.8.0-openjdk-devel
    yum install -y java-1.8.0-openjdk-devel

    5.所有主机能相互 ping 通 (配置 /etc/hosts)

    6.NN1: 能 ssh 免密登录所有集群主机,包括自己(不能提示输入 yes)
    ~] # vim  /root/ssh/ssh_config
    StrictHostKeyChecking no

    4.4.3 HDFS 完全分布式系统配置

    – 环境配置文件 hadoop-env.sh
    – 核心配置文件 core-site.xml
    – HDFS配置文件 hdfs-site.xml
    – 节点配置文件   slaves

    1.环境配置文件 hadoop-env.sh  【NN01】

    – openjdk 的安装目录
    – JAVA_HOME

    ~] # vim hadoop-env.sh
    JAVA_HOME=“/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.131-11.b12.el7.x86_64/jre/”

    – hadoop 配置文件的存放目录
    – HADOOP_CONF_DIR

    ~] # vim hadoop-env.sh

    export HADOOP_CONF_DIR=${HADOOP_CONF_DIR:-“/usr/local/hadoop/etc/hadoop”}

    2.核心配置文件 core-site.xml
    – fs.defaultFS 文件系统配置参数
    – hadoop.tmp.dir 数据目录配置参数

    <configuration>
        <property>
            <name>fs.defaultFS</name>
            <value>hdfs://nn01:9000</value>

       </property>
        <property>
            <name>hadoop.tmp.dir</name>
            <value>/var/hadoop</value>
        </property>
    </configuration>

       2.1 ALL: 所有主机上创建文件夹 /var/hadoop

    3.NN1: 配置 hdfs-site.xml
    <configuration>
        <property>
            <name>dfs.namenode.http-address</name>    //namenode 地址声明
            <value>nn01:50070</value>
        </property>
        <property>
            <name>dfs.namenode.secondary.http-address</name>   //secondarynamenode 地址声明
            <value>nn01:50090</value>
        </property>
        <property>
            <name>dfs.replication</name>     //文件冗余仹数
            <value>2</value>
        </property>
    </configuration>

    4. NN1: 配置 slaves,配置datanode节点

    hadoop]# vim slaves

    node1
    node2
    node3

    5. ALL: 同步配置到所有主机

    1. #!/bin/bash
    2. function syncfile(){
    3. for host in $@</span>;<span class="hljs-keyword">do</span></div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="4"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line"> rsync -az --delete /usr/<span class="hljs-built_in">local</span>/hadoop/etc <span class="hljs-variable">${host}:/usr/local/hadoop/ &
    4. rsync /etc/hosts ${host}</span>:/etc/hosts</div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="6"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line"> <span class="hljs-keyword">done</span></div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="7"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line"> <span class="hljs-built_in">wait</span></div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="8"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line">}</div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="9"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line"> </div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="10"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line"><span class="hljs-keyword">if</span> (( <span class="hljs-variable">$# > 0 ));then
    5. syncfile $@</span></div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="12"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line"><span class="hljs-keyword">else</span></div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="13"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line"> <span class="hljs-built_in">echo</span> <span class="hljs-string">"<span class="hljs-variable">${0} host1 host2 host3 … … host(N)”
    6. fi

    ~]# ./rsyncConfig.sh node{1..3}

    6.NN01: 格式化 namenode
    ./bin/hdfs namenode -format

    7.NN01: 启动集群
    ./sbin/start-dfs.sh
    停止集群可以使用 ./sbin/stop-dfs.sh

    8.ALL: 验证角色 jps

    9.NN01: 验证集群是否组建成功
    ./bin/hdfs dfsadmin -report

    展开全文
  • 分布式文件系统 数据量越来越多,在一个操作系统管辖的范围存不下了,那么就分配到更多的操作系统管理的磁盘中,但是不方便管理和维护,因此迫切需要一种系统来管理多台机器上的文件,这就是分布式文件管理系统 。...
  • 为您提供Ceph分布式文件系统下载,Ceph是加州大学Santa Cruz分校的Sage Weil(DreamHost的联合创始人)专为博士论文设计的新一代自由软件分布式文件系统。自2007年毕业之后,Sage开始全职投入到Ceph开发之中,使其能...
  • 分布式文件系统PPT

    2009-10-18 14:40:48
    分布式文件系统设计分布式文件系统设计分布式文件系统设计分布式文件系统设计
  • GlusterFS分布式文件系统架构介绍,EHA算法介绍,5中分布式卷的详细介绍,性能测试对比
  • 一、块存储应用案例 目的: KVM虚拟机调用Ceph镜像作为虚拟机的磁盘。 1.1 准备实验环境 1.1.1 创建磁盘镜像 • &amp;amp;amp;nbsp;为虚拟机创建磁盘镜像 [root@node1&amp;amp;...
  • WINDOWS2008——DFS分布式文件系统配置步骤 step by step 分布式文件系统(DFS,Distributed File System)使用户更加容易访问和管理物理上跨网络分布的文件。DFS为文件系统提供了单个访问点和一个逻辑树结构,通过...
  • 整理了当前最主流的7种分布式文件系统(FastDFS MogileFS HDFS`TFS MooseFS KFS Ceph)的概要介绍,可以使你快速了解当前分布式文件系统的特性、各自文件系统实现目标及应用场景,了解这些分布式文件系统的架构特点...

空空如也

1 2 3 4 5 ... 20
收藏数 35,646
精华内容 14,258
关键字:

分布式文件系统