核心:分布式存储和分布式计算

闲话:

底层基于socket通信

NIO——java异步io,不阻塞,不等待

bt——p2p软件(点对点传输,每个人既是上传者又是下载者。但是会占用大量网络带宽,所以很多运营商通过在交换机上封杀bt端口的方式来遏制bt软件占用流量)

关键:压缩算法

1、归档

很小的文件压缩后反而会变大。

但是如果有成千上万很小的文件,我们要对其进行压缩的话,就需要先归档

hadoop归档命令:har (har、tar、jar、war等表示压缩的文件,都以ar结尾,因为ar表示archives,归档)

大量很小的文件不能用hdfs存,因为大量小文件的文件名等文件信息会将hadoop 0层节点的内存全部耗光,而0层节点一般是master节点,内存耗光就会导致整个集群性能下降

归档算法:

多个小文件》》一个大文件

首先是四个字节,表示一个整数,代表文件名所占字节数;然后是对应字节数的文件名。

然后是四个字节,表示一个整数,代表文件内容所占字节数;然后对应字节数的文件内容。

如此循环往复。

然后就牵扯到字节数组byte[]和整数int相互转换的问题:

    /**
* 整型转换成字节数组
*/
public byte[] int2Bytes(int i){
byte[] arr = new byte[4] ;
arr[0] = (byte)i ;
arr[1] = (byte)(i >> 8) ;
arr[2] = (byte)(i >> 16) ;
arr[3] = (byte)(i >> 24) ;
return arr ;
} /**
* 字节数组转成int
*/
public int bytes2Int(byte[] bytes){
int i0= bytes[0] & 0xFF ;
int i1 = (bytes[1] & 0xFF) << 8 ;
int i2 = (bytes[2] & 0xFF) << 16 ;
int i3 = (bytes[3] & 0xFF) << 24 ;
return i0 | i1 | i2 | i3 ;
}

hadoop笔记 基础 归档的更多相关文章

  1. hadoop rpc基础

    第一部分: hadoop rpc基础 RPC,远程程序调用,分布式计算中C/S模型的一个应用实例. 同其他RPC框架一样,Hadoop分为四个部分: 序列化层:支持多种框架实现序列化与反序列化 函数调 ...

  2. jQuery学习笔记 - 基础知识扫盲入门篇

    jQuery学习笔记 - 基础知识扫盲入门篇 2013-06-16 18:42 by 全新时代, 11 阅读, 0 评论, 收藏, 编辑 1.为什么要使用jQuery? 提供了强大的功能函数解决浏览器 ...

  3. 小猪猪C++笔记基础篇(五)表达式、语句

    小猪猪C++笔记基础篇(五) 关键词:表达式.语句 本章的内容比较简单,基本上没有什么理解上的困难,都是知识上的问题.先开始想要不要写呢,本来是不准备写的,但是既然读了书就要做笔记,还是写一写,毕竟还 ...

  4. 小猪猪C++笔记基础篇(六)参数传递、函数重载、函数指针、调试帮助

    小猪猪C++笔记基础篇(六) ————参数传递.函数重载.函数指针.调试帮助 关键词:参数传递.函数重载.函数指针.调试帮助 因为一些事情以及自己的懒惰,大概有一个星期没有继续读书了,已经不行了,赶紧 ...

  5. 小猪猪C++笔记基础篇(四)数组、指针、vector、迭代器

    小猪猪C++笔记基础篇(四) 关键词:数组,Vector. 一.数组与指针 数组相信大家学过C语言或者其他的语言都不陌生,简单的就是同一个变量类型的一组数据.例如:int a[10],意思就是从a开始 ...

  6. Python学习笔记基础篇——总览

    Python初识与简介[开篇] Python学习笔记——基础篇[第一周]——变量与赋值.用户交互.条件判断.循环控制.数据类型.文本操作 Python学习笔记——基础篇[第二周]——解释器.字符串.列 ...

  7. Hadoop的Archive归档命令使用指南

    hadoop不适合小文件的存储,小文件本省就占用了很多的metadata,就会造成namenode越来越大.Hadoop Archives的出现视为了缓解大量小文件消耗namenode内存的问题. 采 ...

  8. 数论算法 剩余系相关 学习笔记 (基础回顾,(ex)CRT,(ex)lucas,(ex)BSGS,原根与指标入门,高次剩余,Miller_Rabin+Pollard_Rho)

    注:转载本文须标明出处. 原文链接https://www.cnblogs.com/zhouzhendong/p/Number-theory.html 数论算法 剩余系相关 学习笔记 (基础回顾,(ex ...

  9. Hadoop(分布式系统基础架构)---Hive与HBase区别

    对于刚接触大数据的用户来说,要想区分Hive与HBase是有一定难度的.本文将尝试从其各自的定义.特点.限制.应用场景等角度来进行分析,以作抛砖引玉之用.  Hive是什么? Apache Hive是 ...

随机推荐

  1. 环境搭建基础知识2(sublime text3中配置verilog语法高亮)

    需求说明:Verilog设计 内容       :verilog开发环境搭建 来自       :时间的诗 1 软件下载 1.1 官方下载 地址http://www.sublimetext.com/3 ...

  2. log4j 具体解说(不能再具体了)

    日志是应用软件中必不可少的部分.Apache的开源项目log4j是一个功能强大的日志组件,提供方便的日志记录.在apache站点:jakarta.apache.org/log4j 能够免费下载到Log ...

  3. request.setCharacterEncoding()对通过method="GET"输入的参数无效

    通过GET提交参数有2种 1.浏览器地址栏输入URL?parameter1=value1&parameter2=value2 2.<form method="get" ...

  4. PL/SQL开发五年工作经验精典实例

    1. minus(差集)与intersect(交集) minus指令是运用在两个SQL语句上.它先找出第一个SQL语句所产生的结果,然后看这些结果有没有在第二个SQL语句的结果中,如果有的话,那这一笔 ...

  5. iOS swift跑马灯滚动可以点击

    跑马灯,从右至左循环滚动显示信息,并且支持点击事件,使用swift4.0语法完成,更加简介,通用性强,布局部分全部使用snpkit 代码: // // HXQMarqueeView.swift // ...

  6. 跟着百度学PHP[14]-PDO-优化驱动

    使用方法设置预定义变量 PDO的方法/属性 PDO::beginTransaction — Initiates a transaction PDO::commit — Commits a transa ...

  7. mysql唯一主键生成代码

    <insert id="insertPeople" parameterType="PeopleSchedule">     <selectKe ...

  8. treeMap,key排序,value排序

    HashMap与TreeMap按照key和value排序 使用一个场景是mapreduce中用解决topn问题是用value 排序 topn MapReducetopN

  9. swagger在线文档和离线文档

    spring boot项目的swagger文档. 依赖从spring boot的基础上增加.参考pom.xml: <dependency> <groupId>org.sprin ...

  10. 如何在调试Window App时,触发 Suspending ,Resuming 等事件

    Visual Studio prevents Windows from suspending an app that is attached to the debugger. This is to a ...