`
- 浏览:
94486 次
- 性别:
- 来自:
北京
-
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需要互相了解状态。
分享到:
Global site tag (gtag.js) - Google Analytics
相关推荐
本篇将深入探讨Hadoop的各个方面,包括HDFS(Hadoop Distributed File System)架构、MapReduce编程模型、Hadoop的调度算法、用户命令和管理员命令,以及IPC(Inter-Process Communication)包的源代码分析。...
Hadoop项目包括了多个子项目,其中最核心的是HDFS和MapReduce,这两个组件共同构成了Hadoop分布式文件系统和数据处理模型的基础。 在分布式计算领域,Google是领先的公司之一,它的计算平台成为了后来类似开源项目...
Hadoop IPC/RPCServer主要基于NIO(Non-blocking I/O)模型实现,其核心处理流程如下: 1. **监听与连接建立**: - **Listener**:监听特定端口,关注`OP_ACCEPT`事件,等待客户端连接。 - 当客户端尝试连接时,`...
5. **ipc**: Hadoop的远程过程调用(IPC)层在此,它支持服务端和客户端之间的高效通信。例如,NameNode与DataNode之间的通信就是基于IPC实现的。 6. **net**: 网络相关的组件,如Socket通信、网络地址解析等,都在...
- **MapReduce**:一种处理和生成大数据集的编程模型。 - **Apache Hadoop**:基于Google上述技术思想,Apache基金会开发了Hadoop项目,旨在为大规模数据处理提供开源解决方案。具体对应如下: - **Chubby → ...
- **MapReduce**:并行编程模型,Hadoop提供了相应的实现。 这些组件共同构建了Hadoop强大的数据处理能力。 #### 三、Hadoop源代码架构分析 - **HDFS (Hadoop Distributed File System)**:分布式文件系统,为...
综上所述,Hadoop源代码分析涵盖了分布式文件系统、并行计算模型、网络通信、配置管理、安全机制、数据序列化等多个方面,是理解大规模数据处理和云计算基础设施的重要资源。通过深入学习Hadoop源代码,开发者可以更...
Google通过一系列文章介绍了自己的技术栈,包括分布式集群管理(Google Cluster)、分布式锁服务(Chubby)、分布式文件系统(GFS)、大规模表格存储系统(BigTable)以及并行处理模型(MapReduce)。这些技术共同...
源代码中的`org.apache.hadoop.ipc`包包含了相关实现。 4. YARN(Yet Another Resource Negotiator):作为Hadoop的资源管理系统,YARN负责调度和监控应用程序。主要关注`org.apache.hadoop.yarn`包,如`org.apache...
- **MapReduce** 直接对应 **Hadoop MapReduce**:一种分布式数据处理模型。 - **扩展项目**:除了Hadoop项目本身,还有许多开源项目如Facebook的Hive等,这些项目进一步丰富了大数据处理的生态体系。 #### 二、...
- **背景介绍**:Google在2003年至2006年间公开了一系列论文,介绍了其内部使用的基础设施和技术栈,包括分布式文件系统(GFS)、分布式锁服务(Chubby)、大规模分布式存储系统(BigTable)以及并行处理框架(MapReduce)等...
5. **org.apache.hadoop.ipc**:网络服务的客户端和服务器工具,处理网络异步I/O。 6. **org.apache.hadoop.mapred**:MapReduce的实现,包括任务调度和分发。 7. **org.apache.hadoop.metrics**:性能监控API。 8. ...
- RPC是一种进程间通信(IPC)方式,它允许一个程序在执行时调用另一个不在同一地址空间的程序提供的服务,使得分布式系统看起来像单个系统,简化了编程模型。 2. **Hadoop RPC实现**: - Hadoop的RPC基于Java的...