博客
关于我
第2.1.3章 hadoop之eclipse远程调试hadoop
阅读量:307 次
发布时间:2019-03-01

本文共 3182 字,大约阅读时间需要 10 分钟。

1 eclipse配置

下载插件,将放到eclipse的plugins目录或者dropins下,重启eclipse
选择Window->Show View->Other->MapReduce Tools->Map/Reduce Locations
Map/reduce配置
配置好后,eclipse可以连接到远程的DFS
dfs
2 windows配置
选择Window->Prefrences->Hadoop Map/Reduce,配置本地的hadoop,但是本地hadoop默认即可,不需要调整。
这里写图片描述
配置环境变量
1

将winutils.exe复制到本地hadoop的$HADOOP_HOME\bin目录

将hadoop.dll复制到%windir%\System32目录
winutils.exe和hadoop.dll的获取,您可以从csdn上下载,也可以自行在hadoop-common-project\hadoop-common\src\main\winutils编译那个.net工程
环境变量配置
1
2
3 wordcount示例的运行
创建maven工程,不赘述,在pom.xml中引入hadoop的jar。

2.6.4
org.apache.hadoop
hadoop-common
${ hadoop.version}
org.apache.hadoop
hadoop-hdfs
${ hadoop.version}
org.apache.hadoop
hadoop-client
${ hadoop.version}

将core-site.xml、hdfs-site.xml、mapred-site.xml、yarn-site.xml拷贝到src/main/resources

将源码中的WordCount导入到工程中,编译Export出jar到其他的文件夹中,为方便测试命名为testWordCount.jar
然后修改工程的main代码,添加下图红色部分内容
main
配置Run Configurations,在Arguments中添加参数
第一行hdfs://192.168.5.174:9000/user/hadoop/testdata/test.log是输入文件
第二行hdfs://192.168.5.174:9000/user/hadoop/testdata/output2是输出目录
hadoop 参数配置
test.log的内容可通过以下代码写入

import java.io.BufferedReader;import java.io.File;import java.io.FileInputStream;import java.io.FileNotFoundException;import java.io.IOException;import java.io.InputStream;import java.io.InputStreamReader;import java.io.UnsupportedEncodingException;import java.net.URI;import org.apache.hadoop.conf.Configuration;import org.apache.hadoop.fs.FSDataOutputStream;import org.apache.hadoop.fs.FileStatus;import org.apache.hadoop.fs.FileSystem;import org.apache.hadoop.fs.Path;import org.apache.hadoop.io.IOUtils;import org.junit.Test;public class TestHdfs {   	@Test	public void test_hdfs(){   		String uri = "hdfs://192.168.5.174:9000/";		Configuration config = new Configuration(); 		try {   			FileSystem fs = FileSystem.get(URI.create(uri), config);			//			FileStatus[] statuses = fs.listStatus(new Path("/user/hadoop/testdata"));			for (FileStatus status:statuses){   				System.out.println(status);			}			//									FSDataOutputStream os = fs.create(new Path("/user/hadoop/testdata/test.log"));			os.write(readFile());			os.flush();			os.close();			//			InputStream is = fs.open(new Path("/user/hadoop/testdata/test.log")); 			IOUtils.copyBytes(is, System.out, 1024, true);  		} catch (IOException e) {   			e.printStackTrace();		}  			}		private byte[] readFile(){   		File file = new File("F:/阿里云/174/hadoop-hadoop-namenode-dashuju174.log");		StringBuffer text = new StringBuffer();		try {   			InputStreamReader read = new  InputStreamReader(new FileInputStream(file),"UTF-8");			String lineTxt = null;			BufferedReader bufferedReader = new BufferedReader(read);            while((lineTxt = bufferedReader.readLine()) != null){                   text.append(lineTxt).append("\n");            }            read.close();		} catch (UnsupportedEncodingException | FileNotFoundException e) {   			e.printStackTrace();		} catch (IOException e) {   			// TODO Auto-generated catch block			e.printStackTrace();		}		return text.toString().getBytes();	}}

运行后结果

hadoop运行结果

你可能感兴趣的文章
NIO笔记---上
查看>>
Vue3.0中的响应式原理(第九课)
查看>>
NIO蔚来 面试——IP地址你了解多少?
查看>>
NISP一级,NISP二级报考说明,零基础入门到精通,收藏这篇就够了
查看>>
NISP国家信息安全水平考试,收藏这一篇就够了
查看>>
NIS服务器的配置过程
查看>>
NIS认证管理域中的用户
查看>>
Nitrux 3.8 发布!性能全面提升,带来非凡体验
查看>>
NiuShop开源商城系统 SQL注入漏洞复现
查看>>
NI笔试——大数加法
查看>>
NLog 自定义字段 写入 oracle
查看>>
NLog类库使用探索——详解配置
查看>>
NLP 基于kashgari和BERT实现中文命名实体识别(NER)
查看>>
NLP 时事和见解【2023】
查看>>
NLP 模型中的偏差和公平性检测
查看>>
Vue3.0 性能提升主要是通过哪几方面体现的?
查看>>