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

闲话:

底层基于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. Atitit.antlr实现词法分析

    Atitit.antlr实现词法分析 1.1.  antlrworks-1.4.3.jar   wizard1 1.2. 词法的类型 id,int,float ,comment,str,char,wh ...

  2. MVC & Entity Framework(2)- controller、Models单独DLL

    继上一篇MVC & Entity Framework(1)- 开发环境之后,已经很久没更新了.接下来记录一下怎么把MVC中的controller单独拆为一个类库,然后在web项目中引用.另外, ...

  3. OpenGL数据类型及相应C数据类型

  4. Windows7 64位安装最新版本号MySQLserver

    Windows7 64位安装最新版本号MySQLserver 最近,一直在研究MySQL数据库.常常改动配置文件.导致MySQL数据库无法使用.不得不重复重装MySQL数据库.下面是在Windows7 ...

  5. makefile之origin函数

    origin 函数的作用是告诉你变量是哪里来的,其出生状况如何,他并不改变变量. 函数语法: $(origin ) 为变量的名字,而不是引用,所以一般没有"$"字符在前. orig ...

  6. linux系统的开机引导、启动流程

    固件(CMOS/BIOS) > POST 加电自检 ↓ 自举程序(GRUB)> 加载内核 ↓ 载入内核 > 驱动硬件 ↓ 启动进程 init ↓ 读取执行配置文件/etc/initt ...

  7. linux vi/vim文本编辑

    在linux环境下,我们用的最多的文本编辑命令就是vi了,vim是vi的增强版.学习vim时候整理了一下常用的命令行,一起学习. 介绍一下vim的三种常见状态模式: 命令模式,插入模式(编辑),正常模 ...

  8. [转]JS脚本抢腾讯云学生1元代金券

    转自:http://blog.csdn.net/lkxlaz/article/details/54909397 今天抢代金券,在网上看到的,虽然脚本很easy,但也mark一下吧. //make th ...

  9. mybatis慢查询配置

    <?xml version="1.0" encoding="UTF-8"?> <!--suppress SpringFacetInspecti ...

  10. idea传入HttpServletRequest时显示cannot resolve symbol的问题

    在使用idea ide的时候,在控制器中我需要获取HttpServletRequest这个request对象,编译时出现cannot resolve symbol的问题,然后网上查找资料,这里记录一下 ...