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. 【NOIP 2017】宝藏 D2 T2

    参考From 传送门 写的很清晰了 AC code: #include <bits/stdc++.h> using namespace std; const int MAXN = 12; ...

  2. 01背包问题(dfs+剪枝)

    01背包问题 dfs解法 #include <iostream> #include <cstring> #include <algorithm> #include ...

  3. CLR 调试体系结构

    公共语言运行时 (CLR) 调试 API 专门用作操作系统内核的一部分. 在非托管代码中,当程序生成异常时,内核将暂停执行进程,并使用 Win32 调试 API 将异常信息传递给调试器. CLR 调试 ...

  4. WinDbg常用命令系列---显示局部变量dv

    dv (Display Local Variables) dv命令显示当前作用域中所有局部变量的名称和值. dv [Flags] [Pattern] 参数: Flags显示其他信息.可以包括以下任何区 ...

  5. python(三)——while语句

    while死循环 #!/usr/bin/env python #-*- coding:utf8 -*- import time while 1 == 1: print('Ok',time.time() ...

  6. install_config

    #! /bin/bash REPO='10.10.238.114:4507' zabbix='10.10.238.110' osmaster=`cat /etc/redhat-release |awk ...

  7. [RN] React Native 下实现底部标签(支持滑动切换)

    上一篇文章 [RN] React Native 下实现底部标签(不支持滑动切换) 总结了不支持滑动切换的方法,此篇文章总结出 支持滑动 的方法 准备工作之类的,跟上文类似,大家可点击上文查看相关内容. ...

  8. CTS&&APIO2019爆零记

    如果你只好奇测试相关请跳至day 2 day 3 day 6 scoi 2019 之后 ​ 由于实力问题,省选的时候排名在三十多,显然是没有进队.不过可能是受过的打击比较多,所以还没有特别颓废,甚至连 ...

  9. (LIS)最长上升序列(DP+二分优化)

    求一个数列的最长上升序列 动态规划法:O(n^2) //DP int LIS(int a[], int n) { int DP[n]; int Cnt=-1; memset(DP, 0, sizeof ...

  10. GoCN每日新闻(2019-10-20)

    GoCN每日新闻(2019-10-20) slakc是如何构建共享频道的 https://slack.engineering/how-slack-built-shared-channels-8d42c ...