`

Hadoop 2.x RPC框架通讯

 
阅读更多

1.Project Directory

Server端

Client端

服务端和客户端所在包(就是项目内路径:比如org.fool.hadoop.rpc)必须一致,否则会出现如下错误

 2. Maven Dependency

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
	<modelVersion>4.0.0</modelVersion>

	<groupId>org.fool.hadoop</groupId>
	<artifactId>hadoop</artifactId>
	<version>0.0.1-SNAPSHOT</version>
	<packaging>jar</packaging>

	<name>hadoop</name>
	<url>http://maven.apache.org</url>

	<properties>
		<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
		<hadoop.version>2.6.4</hadoop.version>
	</properties>

	<dependencies>
		<dependency>
			<groupId>org.apache.hadoop</groupId>
			<artifactId>hadoop-common</artifactId>
			<version>${hadoop.version}</version>
		</dependency>
		<dependency>
			<groupId>org.apache.hadoop</groupId>
			<artifactId>hadoop-hdfs</artifactId>
			<version>${hadoop.version}</version>
		</dependency>
		<dependency>
			<groupId>jdk.tools</groupId>
			<artifactId>jdk.tools</artifactId>
			<version>1.8</version>
			<scope>system</scope>
			<systemPath>${JAVA_HOME}/lib/tools.jar</systemPath>
		</dependency>
	</dependencies>
</project>

 

3.Server端代码

LoginService.java

package org.fool.hadoop.rpc;

public interface LoginService {
	public static final long versionID = 1L;

	public String login(String username, String password);
}

 LoginServiceImpl.java

package org.fool.hadoop.rpc;

public class LoginServiceImpl implements LoginService {

	@Override
	public String login(String username, String password) {
		return username + " logged in successfully!";
	}

}

 Starter.java

package org.fool.hadoop.rpc;

import java.io.IOException;

import org.apache.hadoop.HadoopIllegalArgumentException;
import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.ipc.RPC;
import org.apache.hadoop.ipc.RPC.Builder;
import org.apache.hadoop.ipc.RPC.Server;

public class Starter {
	public static void main(String[] args) throws HadoopIllegalArgumentException, IOException {
		Builder builder = new RPC.Builder(new Configuration());

		builder.setBindAddress("hadoop-000").setPort(10000).setProtocol(LoginService.class)
				.setInstance(new LoginServiceImpl());

		Server build = builder.build();

		build.start();
	}
}

 

4.Client端代码

LoginService.java

package org.fool.hadoop.rpc;

public interface LoginService {
	public static final long versionID = 1L;
	
	public String login(String username, String password);
}

 LoginController.java

package org.fool.hadoop.rpc;

import java.io.IOException;
import java.net.InetSocketAddress;

import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.ipc.RPC;

public class LoginController {
	public static void main(String[] args) throws IOException {
		LoginService proxy = RPC.getProxy(LoginService.class, 1L, new InetSocketAddress("hadoop-000", 10000), new Configuration());
	
		String result = proxy.login("hadoop", "RPC");
		
		System.out.println(result);
	}
}

 

5.启动Starter后,运行LoginController


 
 


 

  • 大小: 14.2 KB
  • 大小: 10.1 KB
  • 大小: 67.4 KB
  • 大小: 11 KB
分享到:
评论

相关推荐

    hadoop2.X新特性介绍

    ### Hadoop2.X 新特性详解 #### Hadoop1.0 的局限性 Hadoop1.0作为初代的大数据处理框架,在数据存储和处理方面取得了显著成就,但也暴露出了一系列问题,主要包括: - **HDFS(Hadoop Distributed File System)...

    hadoop1.x与hadoop2.x配置异同

    - **资源管理**:Hadoop1.x使用JobTracker进行资源管理和任务调度,而Hadoop2.x使用YARN,这是一个更为灵活和可扩展的框架。 - **数据本地性**:Hadoop2.x中的MapReduce作业可以更好地利用数据本地性,通过YARN实现...

    理清Hadoop1.x与Hadoop2.x区别

    理清Hadoop1.x与Hadoop2.x区别,对比分析。 Hadoop是大数据惊世之作,必学的东西,需要知道: 它由哪些部分组成? 各自的作用是什么? 如果工作的?

    Hadoop 2.x

    Hadoop 2.x 是一个开源的分布式计算框架,它是Apache Hadoop项目的最新版本,旨在提供高效、可扩展的数据处理能力。这个版本引入了若干关键改进,使得Hadoop更适合大数据处理的需求,提高了系统的性能和可用性。 **...

    Hadoop3.x系统文档

    文档中提到,与Hadoop 2.x相比,3.x版本在集群安装和配置方面基本变化不大,但具体到新版本的特性以及对默认端口的改变上,还是存在一些需要特别注意的地方。 #### 1. Hadoop 3.x集群安装知识 在集群安装知识部分,...

    hadoop3.x盘地址及官方其他版本下载地址.rar

    2. **更强大的MapReduce**:MapReduce是Hadoop的核心计算框架,Hadoop 3.x的MapReduce进行了大量性能优化,包括任务并行度增加和更好的本地化策略。 3. **新的计算框架**:Hadoop 3.x引入了新的计算框架如Spark和...

    Hadoop 2.x与3.x 22点比较,Hadoop 3.x比2.x的改进

    在这篇文章中,我们将讨论Hadoop 2.x与Hadoop 3.x之间的比较。 Hadoop3版本中添加了哪些新功能,Hadoop3中兼容的Hadoop 2程序,Hadoop 2和Hadoop 3有什么区别? 二、Hadoop 2.x与Hadoop 3.x比较 本节将讲述Hadoop 2...

    win32win64hadoop2.7.x.hadoop.dll.bin

    标题“win32win64hadoop2.7.x.hadoop.dll.bin”暗示了这是一个与Hadoop 2.7.x版本相关的二进制文件,适用于32位和64位的Windows操作系统。描述中提到,这些文件是用于在Windows环境下部署Hadoop时必需的组件,并且在...

    hadoop2.x 介绍

    hadoop2.x 介绍,及对比hadoop1.x的区别。hadoop2.x的新特性的详细介绍。

    初识Hadoop 2.x.pdf

    ### Hadoop 2.x 入门知识点概览 #### 一、大数据应用发展前景 随着信息技术的飞速发展,数据量呈爆炸式增长,这不仅带来了挑战也孕育着新的机遇。根据2015年中国(深圳)IT领袖峰会的讨论,大数据正逐渐成为推动...

    Hadoop 2.X HDFS源码剖析-高清-完整目录-2016年3月

    Hadoop 2.X HDFS源码剖析-高清-完整目录-2016年3月,分享给所有需要的人!

    Hadoop概述,Hadoop1.x系统框架介绍,大数据处理方案,hadoop 2Hadoop生态系统介绍

    背景介绍 1 Hadoop基本概念 2.1 Hadoop1.x系统框架介绍 2.2 目 录 大数据处理方案-hadoop 2 总 结 3 Hadoop生态系统介绍 2.4 Hadoop2.x系统框架介绍

    Hadoop 2.x Administration Cookbook epub

    Hadoop 2.x Administration Cookbook 英文epub 本资源转载自网络,如有侵权,请联系上传者或csdn删除 本资源转载自网络,如有侵权,请联系上传者或csdn删除

    Apache Hadoop2.x 安装入门详解 PDF

    Hadoop 2.x 是该框架的一个重要版本,引入了许多改进和优化,使得它更加适合企业级的大数据处理需求。本教程将详细讲解Apache Hadoop 2.x的安装过程,帮助初学者快速入门。 一、Hadoop的体系结构 Hadoop的核心由两...

    大数据技术之Hadoop3.x-视频教程网盘链接提取码下载 .txt

    Hadoop是大数据技术中最重要的框架之一,是学习大数据必备的第一课,在Hadoop平台之上,可以更容易地开发和运行其他处理大规模数据的框架。尚硅谷Hadoop视频教程再次重磅升级!以企业实际生产环境为背景,增加了更...

    hadoop2.x 安装文档

    ### Hadoop 2.x 安装与配置详解 #### 一、准备工作 在开始Hadoop 2.x集群的搭建之前,需要确保以下条件已经满足: 1. **操作系统环境**: 所有的服务器节点均应安装Linux操作系统。 2. **Java Development Kit ...

    spark-3.3.3-bin-hadoop3.tgz

    这个版本特别针对Hadoop 3.x进行了优化,使得它能够充分利用Hadoop生态系统中的新特性和性能改进。在本文中,我们将深入探讨Spark 3.3.3与Hadoop 3.x的集成,以及它们在大数据处理领域的关键知识点。 首先,Spark的...

    Hadoop2.x学习资料

    Hadoop2.x的学习资料深入讲解了Hadoop的核心技术,涵盖存储模型、副本策略、集群管理、计算框架等关键技术点,同时提出了针对大数据问题的解决方案和思考方法。通过这份资料,我们可以系统地学习和掌握Hadoop2.x版本...

    hadoop2.x安装

    hadoop2.x安装指南.

Global site tag (gtag.js) - Google Analytics