Package |
Dependences |
tool |
提供一些命令行工具,如DistCp,archive |
mapreduce |
Hadoop的Map/Reduce实现 |
filecache |
提供HDFS文件的本地缓存,用于加快Map/Reduce的数据访问速度 |
fs |
文件系统的抽象,可以理解为支持多种文件系统实现的统一文件访问接口
扫描二维码关注公众号,回复:
672228 查看本文章
|
hdfs |
HDFS,Hadoop的分布式文件系统实现 |
ipc |
一个简单的IPC的实现,依赖于io提供的编解码功能
IPC
使用模型
|
io |
表示层。将各种数据编码/解码,方便于在网络上传输 |
net |
封装部分网络功能,如DNS,socket |
security |
用户和用户组信息 |
conf |
系统的配置参数 |
metrics |
系统统计数据的收集,属于网管范畴 |
util |
工具类 |
record |
根据DDL(数据描述语言)自动生成他们的编解码函数,目前可以提供C++和Java |
http |
基于Jetty的HTTP Servlet,用户通过浏览器可以观察文件系统的一些状态信息和日志 |
log |
提供HTTP访问日志的HTTP Servlet |
IPC
- 实现RPC的一种方法,具有快速、简单的特点。 它不像Sun公司提供的标准RPC包,基于Java序列化。
- IPC无需创建网络stubs和skeletons。
- IPC中的方法调用要求参数和返回值的数据类型必须是Java的基本类型,String和Writable接口的实现类,以及元素为以上类型的数组。接口方法应该只抛出IOException异常。
使用模型
- 采用客户/服务器模型
- Server:它把Java接口暴露给客户端。指定好监听端口和接受远程调用的对象实例后,通过RPC.getServer()可以得到Server实例。
- Client:连接Server,调用它所暴露的方法。Client必须指定远程机器的地址,端口和Java接口类,通过RPC.getClient()可以得到Client实例。
- Server不可以向Client发出调用,但在Hadoop中,有双向调用的需求。 比如在DFS,NameNode和DataNode需要互相了解状态。