Intellij IDEA下远程调试hadoop

最近在开发新的MapReduce程序时,经常要打jar包上传到服务器,然后运行hadoop jar      balaba。。。。。。

看到网上都是在Eclipse下调试hadoop集群中MapReduce程序,而且描述的都是模模糊糊,有些根本就是错的,实在不忍心直视,其中有一篇关于idea下调试hadoop集群程序的博客,被疯狂转载,可是仔细看看,根本没用,因为他的平台是Linux。

使用Intellij IDEA+maven的开发hadoop的同学,如果想在本地直接运行,不去上传jar包,可以静下心来看看。

转载请注明出处:http://blog.csdn.net/qingmu0803/article/details/42124571

(1)确保你运行idea的用户和线上hadoop集群的用户一直,不然会报错。也可以在线上hdfs-site.xml中直接修改hdfs的权限,不建议这么做,不安全。

在你的idea安装目录下,新建一个批处理命令.bat文件,内容如下:

runas /user:你线上hadoop集群的用户名  /savecred idea.exe

解释以下  /savecred  这句是运行一次可以保存密码的命令

(2)使用maven打jar包,maven配置如下

<span style="font-family:Microsoft YaHei;font-size:14px;"><profile>
            <id>test</id>
            <properties>
                <env>test</env>
                <packing-type>jar</packing-type>
            </properties>
			 <build>
			  <resources>
            <resource>
                <directory>src/main/config/${env}</directory>
            </resource>
        	</resources>
		        <plugins>
		            <plugin>
		                <artifactId>maven-assembly-plugin</artifactId>
		                <version>2.2.2</version>
                        <executions>  <!--执行器 mvn assembly:assembly-->
                            <execution>
                                <id>make-zip</id><!--名字任意 -->
                                <phase>package</phase><!-- 绑定到package生命周期阶段上 -->
                                <goals>
                                    <goal>single</goal><!-- 只运行一次 -->
                                </goals>
                            </execution>
                        </executions>
                        <configuration>
		                    <archive>
		                        <manifest>
		                            <mainClass>test.Test</mainClass><!-- 你的主类 -->
		                        </manifest>
		                    </archive>

		                    <descriptorRefs>
		                        <descriptorRef>jar-with-dependencies</descriptorRef>
		                    </descriptorRefs>
                            <outputDirectory>./</outputDirectory><!-- 你的输出路径 -->
		                </configuration>
		            </plugin>
		        </plugins>
		    </build>
        </profile></span>

(3)在程序中配置线上hadoop的执行环境

<span style="font-family:Microsoft YaHei;font-size:14px;">        </span>
<span style="font-family:Microsoft YaHei;font-size:14px;">        conf.set("mapred.jar", "Test-1.0-SNAPSHOT-jar-with-dependencies.jar");
        conf.set("fs.default.name", "hdfs://192.168.111.1:9000");//namenode的地址
        conf.set("mapred.job.tracker", "192.168.111.1:9001");//namenode的地址</span>

在执行的Driver前,在全局的,注意是全局的Configuration中增加上面三句话

(4)配置运行的类

配置你的输入参数即可。

需要注意的事项有:

(1)你的windows下必须有一个和线上hadoop集群一样的用户名

(2)确保你的hadoop程序中的所有jar都是compile

先使用maven将程序打包,然后运行你的程序即可

希望对大家的开发有所帮助

时间: 2024-12-21 00:25:23

Intellij IDEA下远程调试hadoop的相关文章

远程调试Hadoop

远程调试对应用程序开发十分有用,那如何调试Hadoop源码?这里介绍如何用IDE远程调试Hadoop源码.本文以IntelliJ IDEA作为IDE,以调试Jobhistory WEB UI代码为例进行说明. 第一步:在启动Hadoop历史服务器进程之前在终端加入以下环境配置: [[email protected] /home/wyp/hadoop]$ export HADOOP_OPTS="-Xdebug \ -Xrunjdwp:transport=dt_socket,server=y,sus

eclipse远程调试Hadoop

环境需求: 系统:window 10 eclipse版本:Mars Hadoop版本:2.6.0 资源需求:解压后的Hadoop-2.6.0,原压缩包自行下载:下载地址 丑话前头说: 以下的操作中,eclipse的启动均需要右键“管理员运行”! 在创建MapReduce的Project那块需要配置log4j(级别是debug),否则打印不出一些调试的信息,从而不好找出错的原因.配置这个log4j很简单,大家可以在网上搜索一下,应该可以找得到相关的配置. 1)首先需要利用ant编译自己的Hadoo

IDEA远程调试hadoop程序

远程调试Hadoop各组件 Hadoop学习之配置Eclipse远程调试Hadoop IDEA远程调试hadoop Hadoop 研发之远程调试详细剖析--WordCount V2.0 eclipse/intellij idea 远程调试hadoop 2.6.0 问在宿主机如何访问docker中hadoop的hdfs:ip:9000啊, 端口映射出来啊 原文地址:https://www.cnblogs.com/ioveNature/p/8688174.html

windows下eclipse调试hadoop详解

1)下载Eclipse http://www.eclipse.org/downloads/ Eclipse Standard 4.3.2 64位 2) 下载hadoop版本对应的eclipse插件 我的hadoop是1.0.4,因此下载hadoop-eclipse-plugin-1.0.4.jar 下载地址:http://download.csdn.net/detail/m_star_jy_sy/7376169 3)安装hadoop插件 将hadoop-eclipse-plugin-1.0.4.

Windowns下远程调试Linux下程序(MinGW+GDB+SlickEdit+GDBServer)(有待完善)

前言: 本文思路来自嵌入式开发,Linux下远程调试开发板.废话不多说,开始吧!! Windown端: 一.下载和解压MiniGW, 从官网下载MiniGW,解压.(本例放在C:\) 二.下载和解压GDB:下载地址为:http://ftp.gnu.org/gnu/gdb/(本文以gdb-7.2为例,放在C:\) 三.在Windowns下编译GDB 运行C:\MinGW\msys\1.0\msys.bat $ cd c: $ cd gdb-7.2 $./configure --target=i68

window8.1编译hadoop2 eclipse插件,并远程调试hadoop程序

一.编译hadoop2 eclipse插件     1.安装ant 2.准备eclipse插件包,下载地址:http://pan.baidu.com/s/1i3myDvv 或者https://github.com/nemotan/hadoop2x-eclipse-plugin 3.解压插件包,进入主目录执行: ant jar -Dversion=2.6.0 -Declipse.home=F:\tool\eclipse-jee-juno-SR2\eclipse-jee-juno-SR2 -Dhad

hadoop下远程调试方法

JPDA 简介Sun Microsystem 的 Java Platform Debugger Architecture (JPDA) 技术是一个多层架构,使您能够在各种环境中轻松调试 Java 应用程序.JPDA 由两个接口(分别是 JVM Tool Interface 和 JDI).一个协议(Java Debug Wire Protocol)和两个用于合并它们的软件组件(后端和前端)组成.它的设计目的是让调试人员在任何环境中都可以进行调试.更详细的介绍,您可以参考使用 Eclipse 远程调

Spark1.6 Idea下远程调试

使用的开发工具:scala2.10.4.Idea16.JDK8 1.导入依赖的包和源码 在下载Spark中到的导入spark的相关依赖了包和其源码.zip,相关源码的下载地址:https://github.com/apache/spark/tree/v1.6.0 地址最后面是对应的版本号,下载源码便于看注释 2.使用官方求Pi的例子 [java] view plain copy import org.apache.spark.{SparkConf, SparkContext} object Fi

使用IntelliJ IDEA进行远程调试

远程调试服务器是一个比较实用的技巧,以便我们能够迅速定位线上问题.本文会介绍如何在IntelliJ IDEA中进行远程调试. 配置IntelliJ IDEA 选择Edit Configurations -->+号(Add New Configuration)--> Remote, 如下: 其中Host填写的是远程服务器的IP地址,8000就是远程调试的端口. 服务器配置 在服务器Tomcat的bin目录下的setenv.sh中增加如下配置: CATALINA_OPTS="${CATA