Hadoop-RPC应用demo
生活随笔
收集整理的這篇文章主要介紹了
Hadoop-RPC应用demo
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
Hadoop里的rpc框架可以單獨拿出來使用。jar包全在hadoop-common工程里。
導入hadoop-common工程里(hadoop-2.7.3為例):
hadoop-common-2.7.3.jar
\hadoop-2.7.3\share\hadoop\common\lib下的全部jar包
實例
rpc.client ? 客戶端
rpc.protocol ?(數據傳遞的)協議層
rpc.service 服務端
package rpc.protocol;/*** 通信接口* * @author zengmiaogen**/ public interface IClientNamenodeProtocol {//hadoop-rpc框架要求有的變量versionID,沒有報錯public final long versionID=1L;public String getMetaData(String path); }
package rpc.service;import rpc.protocol.IClientNamenodeProtocol;public class MyNameNode implements IClientNamenodeProtocol{/*** 模擬NameNode的業務方法之一,查詢元數據* @param path* @return*/@Overridepublic String getMetaData(String path){//假的,模擬的System.out.println("傳入的路徑:"+path);return path+": 副本數量3-{BLK-1,BLK-2}-NameNode.......";}}
package rpc.service;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;import rpc.protocol.IClientNamenodeProtocol;/*** 啟動服務器* @author zengmiaogen**/ public class PublishServiceUtil {public static void main(String[] args) throws Exception {Builder builder = new RPC.Builder(new Configuration());builder.setBindAddress("localhost").setPort(8888).setProtocol(IClientNamenodeProtocol.class).setInstance(new MyNameNode());Server server = builder.build();server.start();}}
步驟:
1、運行PublishServiceUtil.java 啟動服務端
2、運行MyHdfsClient.java 訪問服務端
結果:
客戶端
log4j:WARN No appenders could be found for logger (org.apache.hadoop.metrics2.lib.MutableMetricsFactory). log4j:WARN Please initialize the log4j system properly. log4j:WARN See http://logging.apache.org/log4j/1.2/faq.html#noconfig for more info. 獲取到結果:/hellohellohelloxxxxxxx.xxx: 副本數量3-{BLK-1,BLK-2}-NameNode.......服務端 log4j:WARN No appenders could be found for logger (org.apache.hadoop.ipc.Server). log4j:WARN Please initialize the log4j system properly. log4j:WARN See http://logging.apache.org/log4j/1.2/faq.html#noconfig for more info. 傳入的路徑:/hellohellohelloxxxxxxx.xxx
-------------
更多的Java,Angular,Android,大數據,J2EE,Python,數據庫,Linux,Java架構師,:
http://www.cnblogs.com/zengmiaogen/p/7083694.html
總結
以上是生活随笔為你收集整理的Hadoop-RPC应用demo的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: web.xml文件的作用
- 下一篇: Oracle自定义函数(不断更新)