hadoop源码剖析
从小白到大神的必经之路
Ai之家-开箱测评
这个作者很懒,什么都没留下…
展开
-
Hadoop源码剖析11-Hadoop的IPC实现过程
1. Connection IPC连接(Connection)是IPC客户端和服务器关系的一个抽象,一个IPC客户端在 调用服务器上的方法前,需要和服务器建立一个连接。由于客户端对连接的抽象与服务器 端对连接的抽象不太一样,连接必须区分为客户端连接类Client.Connection和服务器连接 类Server.Connection,它们各自提供了客户端和服务器管理连接需要的相关信息和方法。 Ha...原创 2020-02-16 15:26:41 · 4351 阅读 · 0 评论 -
Hadoop源码剖析10-Hadoop的IPC代码实现
什么是HadoopIPC? 在Hadoop中,不同节点间使用RPC机制进行通信,在Java中比较典型的RPC是RMI(Remote Method Invocation)的调用方式,虽然Hadoop使用Java语言实现的,但是Hadoop并没有使用RMI实现RPC,而是实现了一套自己独有的节点通信机制,称为Hadoop IPC(Inter-Process Communication,进程间通信)。...原创 2020-01-07 07:47:51 · 4392 阅读 · 0 评论 -
Hadoop源码剖析09-javaNIO(一)
1.基本的java套接字(socket) 客户端所做的事情: 连接远程机器 发送数据 接受数据 关闭连接 服务器所做的事情: 绑定端口 监听入站数据 在所绑定的端口上接受来自远程机器的连接 socket源码 public class Socket{ //构造函数 public Socket(); //连接到远程函数 public void connect(SocketAddress end...原创 2020-01-02 22:44:42 · 4205 阅读 · 0 评论 -
Hadoop源码剖析08-java远程过程调用(二)
java的RMI 需要实现remote接口 下面我来演示一个 规范的 开发RMI接口的方法规范 package com.czxy.mapreduce.demo01; import java.rmi.RemoteException; import java.rmi.Remote; /** * @author 550894211@qq.com * @version v 1.0 * @da...原创 2019-12-31 22:29:06 · 4147 阅读 · 0 评论 -
Hadoop源码剖析07-远程过程调用(一)
为什么要用远程过程调用 作为典型的分布式系统,Hadoop中各个实体间存在着大量的交互,远程过程调用让用 户可以像调用本地方法一样调用另外一个应用程序提供的服务,而不必设计和开发相关的信 息发送、处理和接收等具体代码,是一种重要的分布式计算技术,它提高了程序的互操作 性,在Hadoop的实现中得到广泛的应用. RPC原理 简要地说,RPC就是允许程序调用位于其他机器上的过程(也可以是同一台机...原创 2019-12-30 22:49:13 · 4212 阅读 · 0 评论 -
Hadoop源码剖析06-Snappy压缩算法
什么是snappy? snappy的前身是Zippy,Google表示该算法库对性能做了调整,针对64位x86处理器进行了优化 并在英特尔酷睿i7处理器单一核心上实现了至少每秒250MB的压缩性能和每秒500MB的解压缩性能,使用 New BSD协议开源 setInput()方法 setlnputO方法为压缩器提供数据,在做了一番输入数据的合法性检査后,先将finished 标志位置为fals...原创 2019-12-29 10:11:22 · 5474 阅读 · 0 评论 -
hadoop源码剖析05-压缩与解压缩
什么是压缩 一般来说,计算机处理的数据都存在一些冗余度,同时數据中间,尤其是相邻数据间存 在着相关性,所以可以通过一些有別于原始编码的特殊编码方式来保存数据,使数据占用的 存储空间比较小,这个过程一般叫压缩.和压缩对应的概念是解压编,就是将被压缩的数据 从特殊编码方式还原为原始数据的过程. 压缩广泛应用于海量数据处理中,对数据文件进行压缩,可以有效减少存储文件所需的空间,并加快数据在网络上或者到...原创 2019-12-29 09:40:34 · 4329 阅读 · 0 评论 -
hadoop源码剖析04-典型的Writable与序列化
1.java基本类型对应的writable类型 目前java基本类型对应的writable封装都继承自 writableComparable 他们是可比较的,同时,他们拥有get()和set()用来值的获取和设置 2.可变的VintWritable与LongWritable VintWritable /** 一个WritableComparable,用于以可变长度格式存储的整数值。 *这...原创 2019-12-25 22:49:57 · 4180 阅读 · 0 评论 -
hadoop源码剖析03-hadoop的序列化与反序列化机制
序列化的作用 作为一种持久化的格式 一个对象被序列化以后,他的编码可以被存储到磁盘上,供以后反序列化用 作为一种通讯数据格式 序列化结果可以从一个正在运行的虚拟机,通过网络被传递到另一个虚拟机上 作为一种拷贝丶克隆(clone)机制 将对象序列化到内存的缓存区中,然后通过反序列化,可以得到一个对已存在的对象进行深拷贝的新对象 在分布式数据处理中,主要使用以上提到的前两种功能:数...原创 2019-12-25 21:57:07 · 4157 阅读 · 0 评论 -
hadoop源码剖析02-configuration类
configuration 主要功能: 读取hadoop的配置文件 setQuietmode() -->用来设置加载配置的模式,默认为true,在加载配置文件中不输出日志信息 public synchronized void setQuietMode(boolean quietmode) { this.quietmode = quietmode; } addR...原创 2019-12-23 22:33:27 · 4269 阅读 · 0 评论 -
hadoop源码剖析01
先不说刨不刨源码什么的,今天先来了解一下大数据的基本生态圈 hadoop生态组成 hadoop Common common为hadoop提供了一些常用的工具类,如系统配置文件configuration,远程过程调用RPC,序列化机制,和hadoop抽象文件系统FileSystem等 Avro 数据序列化系统 Zookeeper 分布式的服务框架,解决分布式计算中一致性问题 HDFS 海量数据存...原创 2019-12-23 22:28:49 · 4129 阅读 · 0 评论