Hadoop IPC 连接的建立


Hadoop 2.x


相关参数说明

  • connections 用于保存ConnectionId到Connection的映射,位于org.apache.hadoop.ipc.Client中
    1
    private ConcurrentMap<Client.ConnectionId, Client.Connection> connections;
  • calls 当前正在处理的远程调用,位于org.apache.hadoop.ipc.Client.Connection中
    1
    private Hashtable<Integer, Client.Call> calls = new Hashtable();
  • shouldCloseConnection 连接关闭标志
    1
    private AtomicBoolean shouldCloseConnection = new AtomicBoolean();

Java NIO实例

概述

回显服务器是指接收到客户端的数据,原封不动的返回给客户端


小提示  
在阅读这里之前,希望先看一个视频和相关API的介绍,API的介绍不是很详细,当然也可以遇到不知道的API在百度/Google搜索
视频:https://www.bilibili.com/video/av57390893?t=5655
相关API: https://lyhcc.github.io/post/f2d80d11.html#more


Java NIO

Java NIO实例

Java基本套接字

基本操作

  • 连接远程机器。
  • 发送数据。
  • 接收数据。
  • 关闭连接。
  • 绑定端口。
  • 监听入站数据。
  • 在所绑定端口.上接受来自远程机器的连接。

其中,前四项用于客户端,后六项用于服务器,最后三项只有服务器才需要,即等待客
户端的连接,这些操作通过ServerSocket类实现。

Java动态代理

概述

Hadoop远程过程调用实现使用Java动态代理和新输入1输出系统(NewInput/Output,NIO)

Java动态代理类位于java.lang.reflect包下,主要包括java.lang rlfct.Proxy和java.lang.reflect.InvocationHandler

代理对象两大任务

  1. 创建代理接口
    实现由java.lang,reflect.Proxy完成
  2. 调用转发
    通过java.lang.reflect.InvocationHandler的实例完成

Java远程调用

概述

Java远程方法调用(Remote Method Invocation, RMI)是Java的一个核心API和类库,
允许一个Java虚拟机上运行的Java程序调用不同虚拟机上运行的对象中的方法,即使这两个
虚拟机运行于物理隔离的不同主机上。在某种程度上,RMI可以看成RPC的Java升级版。

和RPC一样,存在服务端和客户端
典型服务器端应用程序 创建多个远程对象(Remote Object),使这些对象能被客户端引用,并等待客户端调用远程对象的方法
典型的客户端程序 从服务器获得一个或多个远程对象的引用,然后调用远程对象的方法

DOM解析

说明:这里主要分析hadoop的DOM解析

DOM 的工作方式是:

  • 首先一次性将XML文档加入内存
  • 然后在内存创建一个“树形结构”,也就是对象模型
  • 然后使用对象提供的接口访问文档,进而操作文档

    处理步骤

    1. 获得用于创建DOM解析器的工厂对象
      1
      DocumentBuilderFactory docBuilderFactory = DocumentBuilderFactory.newInstance();

MapReduce介绍

MapReduce的定义

  Mapreduce是一个分布式运算程序的编程框架,是用户开发“基于hadoop的数据分析应用”的核心框架。
  Mapreduce核心功能是将用户编写的业务逻辑代码和自带默认组件整合成一个完整的分布式运算程序,并发运行在一个hadoop集群上。

HDFS快照管理

快照管理

快照相当于对目录做一个备份。并不会立即复制所有文件,而是指向同一个文件。当写入发生时,才会产生新文件。

配置文件

Windows操作系统配置文件

配置设置文件(INI)文件是windows操作系统中的一种特殊的ASCII文件,以ini为文件扩展名,作为它的主要文件配置文件标准。该文件也被称为初始化文件initialization file和概要文件profile。
应用程序可以拥有自己的配置文件,存储应用设置信息,也可以访问windows的基本系统配置文件win.ini中存储的配置信息

INI配置信息分为两部分

  • 节,节标题放在方括号中, [section]
  • 项,一个等式,key=value
    1
    2
    3
    4
    5
    6
    7
    ;注释

    ;节
    [section]

    ;参数(键=值)
    name=value

INI文件片段

1
2
3
4
[0x0419]
1100=Ошибка инициализации программы установки
1101=%s
1102=%1 Идет подготовка к запуску мастера %2, выполняющего установку программы. Ждите.

Hadoop通信机制和内部协议之协议

概述

MapReduce核心协议
名称 描述
ClientProtocol 继承于Version基类,查看作业情况监控当前集群等
RefreshUserMappingProtocol 刷新用户到用户组映射关系到超级用户代理组列表
RefreshAuthorizationPolicyProtocol 刷新HDFS和MapReduce服务几倍访问控制列表
ResourceManagerAdministrationProtocol 继承于GetUserMappingProtocol基类,刷新队列列表,节点列表
Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×