hdfs

架构设计

HDFS按照Master和Slave的结构。分NameNode、SecondaryNameNode、DataNode这几个角色。

NameNode:是Master节点,是管理者。、管理数据块映射;、处理客户端的读写请求;、配置副本策略;、管理HDFS的名称空间;

NameNode保存的metadata包括文件ownership和permission , 文件包含的block信息 , Block保存在那些DataNode节点上(这部分数据并非保存在NameNode磁盘上的,它是在DataNode启动时上报给NameNode的,
Name接收到之后将这些信息保存在内存中), NameNode的metadata信息在NameNode启动后加载到内存中 , Metadata存储到磁盘上的文件名称为fsimage , Block的位置信息不会保存在fsimage中 , Edits文件记录
了客户端操作fsimage的日志,对文件的增删改等。用户对fsimage的操作不会直接更新到fsimage中去,而是记录在edits中 SecondaryNameNode:分担namenode的工作量;是NameNode的冷备份;合并fsimage和fsedits然后再发给namenode。

部署方式和使用方法

Hdfs https://blog.csdn.net/qq_41946557/article/details/102753444

应用场景

) HDFS不适合大量小文件的存储

) HDFS适用于高吞吐量,而不适合低时间延迟的访问

)流式读取的方式,不适合多用户写入一个文件

)HDFS更加适合写入一次,读取多次的应用场景

tfs

架构设计

一个TFS集群由两个NameServer节点(一主一备)和多个DataServer节点组成。以block(通常为64M,可配置)为单位存储和组织数据。这些服务程序都是作为一个用户级的程序运行在普通Linux机器上的。

NameServer主要管理维护Block和DataServer相关信息,包括DataServer加入,退出, 心跳信息, block和DataServer的对应关系建立,解除。正常情况下,一个块会在DataServer上存在, 主NameServer
负责Block的创建,删除,复制,均衡,整理, NameServer不负责实际数据的读写,实际数据的读写由DataServer完成。 DataServer主要负责实际数据的存储和读写。
TFS会将多个小文件存储在同一个block中,并为block建立索引,以便快速在block中定位文件;每个block会存储多个副本到不同的机架上,以保证数据的高可靠性。

部署方式和使用方法

TFS https://blog.csdn.net/qq_41946557/article/details/102753394

应用场景

TFS为淘宝提供海量小文件存储,通常文件大小不超过1M,满足了淘宝对小文件存储的需求,被广泛地应用在淘宝各项应用中。主要针对海量的非结构化数据,构筑在普通的Linux机器集群上,可为外部提供高可靠和高并发的存储访问。

fastdfs

架构设计

在FastDFS有三种角色,第一种是Client客户端,第二种是Tracker追踪服务器,第三种就是Storage存储服务器。其中Client客户端就是官方提供的C、Java和PHP的调用API,这里后面会讲到。而对于追踪服务器和存储服务器我们这里详细介绍一下。

关于存储服务器,是采用分组的方式,同一个组内的服务器的文件是完全相同的(利用同步线程进行同步),组和组之间是不通信的。而存储服务器会主动定期向追踪服务器报告目前的状态,追踪服务器可以有多个,多个之间是对等的,不存在主从。

关于客户端,是不需要存储有关存储服务器的任何信息的。一般用户的请求不是直接请求存储服务器,而是会请求追踪服务器。例如一个客户端需要上传文件,此时追踪服务器就会从存储服务器中找出一个组分配给客户端,供其上传文件,此时客
户端拿到组的信息后,开始直接和存储服务器的这个组进行交互,无需再通过追踪服务器进行中转。 即: Tracker Servre:追踪服务器,主要做调度工作,在访问中起负载均衡的作用。在内存中记录集群中group和storage server的状态信息,是连接Client和Storage的枢纽。因为相关信息全部在内存中,Tracker server的性能非常高,一个比较
大的集群(比如上百个group)中有三台就足够了。 Storage Server:存储服务器,文件和文件属性(meta data)都保存在存储服务器上。

部署方式和使用方法

fastdfs https://blog.csdn.net/qq_41946557/article/details/102753972

应用场景

FastDFS适合的存储范围为4KB至500M之间,它更倾向于存储中小型文件,如图片网站、短视频网站、文档、app下载站等。

FastDFS的用户有支付宝、京东、赶集网、58同城、UC、51CTO和一些网盘公司,可以说目前用到FastDFS的公司特别多,因为移动互联网的兴起,一些短视频、电子书、小音频和一些app,都在十几兆或者一两百兆左右,使用FastDFS十分合适。

tachyon

架构设计

Tachyon的架构是传统的Master—Slave架构,这里和Hadoop(Hadoop也是master-slave结构,Hadoop主要有两个结构NameNode和DateNode),Tachyon有三个主要的部件:
Master, Client,与Worker。在每个Spark Worker节点上,都部署了一个Tachyon Worker,Spark Worker通过Tachyon Client访问Tachyon进行数据读写。所有的
Tachyon Worker都被Tachyon Master所管理,Tachyon Master通过Tachyon Worker定时发出的心跳来判断spark worker是否已经崩溃以及每个spark worker剩余的内存空间量

部署方式和使用方法

tachyon https://blog.csdn.net/qq_41946557/article/details/102754415

应用场景

由于其解决分布式内存计算的分布式数据存储所产生的的问题。所以应用场景基于Spark进行大多数批处理工作。

目前,很多公司(如Pivotal、EMC、红帽等)已经在使用Tachyon,并且来自20个组织或公司(如雅虎、英特、红帽等)的60多个贡献者都在为其贡献代码。Tachyon是于UC Berkeley数据分析栈(BDAS)的存储层,它还是Fedora操作系统自带应用。

hdfs、tfs、fastdfs、Tachyon的更多相关文章

  1. FastDFS、nginx配置手记

    第一部分   FastDFS介绍 1.FastDFS是什么 FastDFS是一款类Google FS的开源分布式文件系统,它用纯C语言实现,支持Linux.FreeBSD.AIX等UNIX系统.它只能 ...

  2. TFS API : 四、工作项查询

    TFS API : 四.工作项查询 本节将讲述如何查询工作项,将用户统计数据. 使用WorkItemStore.Query方法进行查询工作项,其使用的语法和SQL语法类似: Select [标题] f ...

  3. TFS API:三、TFS WorkItem添加和修改、保存

    TFS API:三.TFS  WorkItem添加和修改.保存 WorkItemStore:表示跟踪与运行 Team Foundation Server的服务器的工作项客户端连接. A.添加工作项 1 ...

  4. TFS API:二、TFS 代码查询工作项

    TFS API:二.TFS  代码查询工作项 首先我们需要认识TFS的两大获取服务对象的类. 他们分别为TfsConfigurationServer和TfsTeamProjectCollection, ...

  5. TFS API:一、TFS 体系结构和概念

    TFS API:一.TFS  体系结构和概念 TFS是Team Fundation Server的简称,是微软VSTS的一部分,它是Microsoft应用程序生命周期管理(ALM)工具的核心协作平台, ...

  6. TFS二次开发系列:一、TFS体系结构和概念

    TFS是Team Fundation Server的简称,是微软VSTS的一部分,它是Microsoft应用程序生命周期管理(ALM)工具的核心协作平台,简单的说它是管理和开发软件项目的整个生命周期的 ...

  7. TFS与Eclipse、Microsoft Visual Studio等客户端以webservice进行交换。

    TFS与eclipse.Microsoft Visual Studio等客户端以webservice进行交互. 参考地址: http://server_ip:8080/tfs/项目区域/version ...

  8. TFS 测试用例导入、导出工具

    TFS的测试管理提供了测试规划.创建.运行以及进度跟踪等功能.测试人员通过浏览器就几乎可以完成手个测试的全部过程. 用过TFS测试用例的朋友们,很多人应该都知道,在TFS的Portal中以及相应的数据 ...

  9. JAVAEE——宜立方商城04:图片服务器FastDFS、富文本编辑器KindEditor、商品添加功能完成

    1. 学习计划 1.图片上传 a) 图片服务器FastDFS b) 图片上传功能实现 2.富文本编辑器的使用KindEditor 3.商品添加功能完成 2. 图片服务器的安装 1.存储空间可扩展. 2 ...

随机推荐

  1. 使用docker搭建etcd

    下载etcd代码然后拷贝到服务器 来自为知笔记(Wiz)

  2. c++读写matlab中.mat数据

    前言:在进行图形图像处理时,经常会用到matlab进行算法的仿真验证,然后再移植到别的语言中.有时会涉及到数据的交互,比如直接读取matlab的.mat类型数据,或者是将c++中的数组存为.mat,为 ...

  3. pgloader 学习(三)快速使用

    pgloader 支持多种数据源数据的加载,以下列出简单的操作命令,后边会有详细的使用说明 csv 格式内容加载 预备说明 需要先在pg 数据库创建表 create table districts_l ...

  4. [NOI2019]回家路线

    [NOI2019]回家路线 题目大意: 有\(n\)个站点,\(m\)趟车,每趟车在\(p_i\)时从\(x_i\)出发,\(q_i\)时到达\(y_i\). 若小猫共乘坐了\(k\)班列车,依次乘坐 ...

  5. 如何在Unity中开发Leap Motion桌面版(Non-VR)APP

    最近因需要,翻出几年前的Leapmotion感测器,准备用Unity3D做个互动APP,于是连上官网下载SDK.等下载下来一安装调试,瞬间傻眼,居然要求VR设备.我们Lab倒是不缺VR,有几套VIVE ...

  6. 前端base64加密

    一.Base64编码表 码值 字符 码值 字符 码值 字符 码值 字符 0 A 16 Q 32 g 48 w 1 B 17 R 33 h 49 x 2 C 18 S 34 i 50 y 3 D 19 ...

  7. mapreduce数据处理——统计排序

    接上篇https://www.cnblogs.com/sengzhao666/p/11850849.html 2.数据处理: ·统计最受欢迎的视频/文章的Top10访问次数 (id) ·按照地市统计最 ...

  8. hbase 整合ranger

    一.安装hbase插件 1.解压安装插件 从target目录下拷贝ranger-2.1.0-SNAPSHOT-hbase-plugin.tar.gz到hbase集群,你的这个包的版本可能跟我不一致. ...

  9. Kubernetes集群部署(yum部署)

    环境准备 Kubernetes-Master:192.168.37.134    #yum install kubernetes-master etcd flannel -y Kubernetes-n ...

  10. Linux系统学习(二)一Linux基本操作

    一.Linux的目录结构 1.1 Linux的目录结构图 1.2 目录内容 /:这就是根目录.对你的电脑来说,有且只有一个根目录.所有的东西,我是说所有的东西都是从这里开始.举个例子:当你在终端里输入 ...