IDEA【spark&mapreduce混合配置】mapreduce spark 本地调试
来源:互联网 发布:拍网络电影多少钱 编辑:程序博客网 时间:2024/05/29 16:30
本文主要讲解在一个普通java的mevan工程中,添加scala,并实现写spark
同时可以在这一个工程中本地调试mapreduce和spark
而且打的jar分别也能在集群中运行mapreduce和spark
睡到半夜起来。发现1号【过往记忆】有篇博客更新
scala和java可以放到一个mevan工程里面,https://www.iteblog.com/archives/1947
一不做二不休,起来试试吧
pom配置文件里面的插件地方要添加这些
主要是这几个插件
org.apache.maven.plugins
net.alchim31.maven
maven-assembly-plugin 貌似感觉第3个没用,查查中央库,没看明白干嘛,我就引了前面2个
<properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <scala.version>2.10.4</scala.version> <java-version>1.7</java-version> </properties> <build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <configuration> <source>1.6</source> <target>1.6</target> </configuration> </plugin> <plugin> <groupId>net.alchim31.maven</groupId> <artifactId>scala-maven-plugin</artifactId> <version>3.1.6</version> <configuration> <scalaCompatVersion>2.10</scalaCompatVersion> <scalaVersion>${scala.version}</scalaVersion> </configuration> <executions> <execution> <phase>compile</phase> <goals> <goal>compile</goal> <goal>testCompile</goal> </goals> </execution> </executions> </plugin> </plugins> </build>
添加完pom后
需要在目录中建立一个scala的文件夹
一个jar,既可以跑MR又可以跑spark,有意思
但是这都是上传到集群上跑的呀,多麻烦呀,我试试本地调试呢。
spark是没问题。
hadoop的mapreduce怎么在idea上本地调试呢?
搭建本地mapreduce调试环境,与scala spark工程共存
网上大部分说是
1.下载hadoop的2.6.0 source版
2.配置环境变量
3.在project structure 中添加一个modules,在dependencies添加hadoop share中的common,hdfs,mapreduce,yarn,lib目录 (在project的最顶端按f4可以直接打开)
4.在project structure/artifacts 中添加一个空jar
5.取个名字
6.在下面的加号中选择module output (这一步差不多输出目录的意思吧)
7.在工程中添加输入输出目录
8.最后编辑需要运行的工程edit configurtations,添加输入 输出目录(这一步网上各有说法,我尝试了很多种,最后是使用如下的方式才能成功)
主要是在program arguments中添加输入 输出目录(有些博客这地方也会添加jar包路径和主类名称,我都尝试了,但是不成功,最后只添加输入 输出目录)
添加hadoop2.6.0 source版的这些包
运行的时候出现错误
第一个自己发现的文件,发现 slf4j jar包有冲突,先去掉从hadoop2.6.0 source版引入的
错误消除
继续运行,出现错误
java.lang.UnsatisfiedLinkError: org.apache.hadoop.io.nativeio.NativeIO
网上大部分说的是修改源码,这感觉有点不好弄呀,再找找
个人感觉主要问题,好像还是hadoop的环境变量问题或者像是少了这个winutils.exe?
2017-01-02 13:52:07,645 ERROR [main] util.Shell (Shell.java:getWinUtilsPath(378)) - Failed to locate the winutils binary in the hadoop binary path
java.io.IOException: Could not locate executable E:\chenxi\开发\hadoop\hadoop-2.6.0\bin\winutils.exe in the Hadoop binaries.
找了到一篇博客
http://www.cnblogs.com/longshiyVip/p/4805418.html
博主提供了如下文件,大致内容可以阅读该博客
把以上内容全部放到hadoop bin目录和windows system32目录后
MR正常运行
但是这里有2个引包的部分
从mevan中引
从hadoop2.6.0 source版目录中引
我从hadoop中引完包,可以运行,也能正常输出运行日志没问题
但是不想这样,我想全部走mevan中引加了几条pom的信息,去掉从hadoop2.6.0 source版目录的引入
pom信息hadoop方面的如下
<dependency> <groupId>org.apache.hadoop</groupId> <artifactId>hadoop-common</artifactId> <version>2.6.0-cdh5.5.0</version> </dependency> <dependency> <groupId>org.apache.hadoop</groupId> <artifactId>hadoop-mapreduce</artifactId> <version>2.6.0-cdh5.5.0</version> </dependency> <dependency> <groupId>org.apache.hadoop</groupId> <artifactId>hadoop-mapreduce-client-common</artifactId> <version>2.6.0-cdh5.5.0</version> </dependency> <dependency> <groupId>org.apache.hadoop</groupId> <artifactId>hadoop-mapreduce-client-jobclient</artifactId> <version>2.6.0-cdh5.5.0</version> </dependency> <dependency> <groupId>org.apache.hadoop</groupId> <artifactId>hadoop-mapreduce-client-core</artifactId> <version>2.6.0-cdh5.5.0</version> </dependency> <dependency> <groupId>org.apache.hadoop</groupId> <artifactId>hadoop-hdfs</artifactId> <version>2.6.0-cdh5.5.0</version> </dependency> <dependency> <groupId>org.apache.hadoop</groupId> <artifactId>hadoop-yarn</artifactId> <version>2.6.0-cdh5.5.0</version> </dependency> <dependency> <groupId>org.apache.hadoop</groupId> <artifactId>hadoop-yarn-common</artifactId> <version>2.6.0-cdh5.5.0</version> </dependency>
自己在另一个spark工程里有个这样的操作,单独搞了个log4j文件(也是运行日志方面的操作),我在这边也试试看能不能行。
把另一个spark工程里的log4j文件复制到这个工程中
引个包
import org.apache.log4j.PropertyConfigurator;
在需要运行的main函数中加入如下代码
PropertyConfigurator.configure(".\\src\\log4j.properties");
好了,可以跑了
当然了,mapreduce能本地调试
spark肯定也没问题啦,而且spark只需要引几个包就行了比mapreduce配置要简单很多
0 0
- IDEA【spark&mapreduce混合配置】mapreduce spark 本地调试
- idea本地调试spark
- hadoop2.7.2本地调试MR IDEA本地调试mapreduce
- Spark vs. MapReduce
- 对比 Spark 和 MapReduce
- MapReduce转化为Spark
- Spark vs Hadoop MapReduce
- Hadoop, mapreduce, spark
- Spark:超越Hadoop MapReduce
- Spark:超越Hadoop MapReduce
- spark shuffle mapreduce shuffle
- Spark的MapReduce
- Hadoop Mapreduce本地调试
- 简单说说MapReduce, Tez, Spark
- spark与mapreduce的区别
- Spark相比MapReduce的优势
- Spark相对于MapReduce的优势
- 算法(2) TopN Mapreduce/Spark
- Spark1.3从创建到提交:9)Stage的划分和提交源码分析
- Kafka安装配置测试
- SpringMVC整合mybatis(附源码)
- hdu1512 左偏树(可并堆)
- [小技巧] trac 如何设置 Search 的最小长度
- IDEA【spark&mapreduce混合配置】mapreduce spark 本地调试
- 泛型和继承
- Minimum Window Substring
- Tomcat源码分析-线程池应用
- (翻译)draft.js 入门
- 查看程序或dll依赖的dll
- 折半查找法
- Kafka入门经典教程
- 是时候来一发DataBinding了