`
qicen
  • 浏览: 47467 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
文章分类
社区版块
存档分类
最新评论

远程调试hadoop-2.2

阅读更多

近期一直在研究基于hadoop-2.2和hbase-0.96的安装配置,并结合官方文档简单的编写了一些mapreduce的例子。为了更深入了解hadoop-2.2的实现,决定研究一下如何对hadoop进行远程调试。

下面介绍利用eclipse远程调试工具进行hadoop的调试:

    1. 在Shell脚本中运行命令:export YARN_CLIENT_OPTS="-agentlib:jdwp=transport=dt_socket,server=y,suspend=y,address=8788"
    2. 运行mapreduce job:yarn jar hbase-demo-0.0.1-SNAPSHOT.jar,命令行会显示一条信息:Listening for transport dt_socket at address: 8788,直到有客户端连接上调试后,程序才会继续往下进行。
    3. 在eclipse中选择Run>Debug Configurations,在Remote Java Application下新建一个配置,选择mapreduce的实现工程,Host:[运行job机器的ip],Port:8788,然后点击debug,和server建立debug连接,进入debug状态。

备注:调试hadoop不同的程序,需要设置不同的环境变量(YARN_CLIENT_OPTS),如何确定这个环境变量呢?请看hadoop/bin/yarn的shell脚本实现。在这里可以找到需要设置的相应环境变量和对应的主程序。

 

# figure out which class to run
if [ "$COMMAND" = "classpath" ] ; then
  echo $CLASSPATH
  exit
elif [ "$COMMAND" = "rmadmin" ] ; then
  CLASS='org.apache.hadoop.yarn.client.cli.RMAdminCLI'
  YARN_OPTS="$YARN_OPTS $YARN_CLIENT_OPTS"
elif [ "$COMMAND" = "application" ] ; then
  CLASS=org.apache.hadoop.yarn.client.cli.ApplicationCLI
  YARN_OPTS="$YARN_OPTS $YARN_CLIENT_OPTS"
elif [ "$COMMAND" = "node" ] ; then
  CLASS=org.apache.hadoop.yarn.client.cli.NodeCLI
  YARN_OPTS="$YARN_OPTS $YARN_CLIENT_OPTS"
elif [ "$COMMAND" = "resourcemanager" ] ; then
  CLASSPATH=${CLASSPATH}:$YARN_CONF_DIR/rm-config/log4j.properties
  CLASS='org.apache.hadoop.yarn.server.resourcemanager.ResourceManager'
  YARN_OPTS="$YARN_OPTS $YARN_RESOURCEMANAGER_OPTS"
  if [ "$YARN_RESOURCEMANAGER_HEAPSIZE" != "" ]; then
    JAVA_HEAP_MAX="-Xmx""$YARN_RESOURCEMANAGER_HEAPSIZE""m"
  fi
elif [ "$COMMAND" = "nodemanager" ] ; then
  CLASSPATH=${CLASSPATH}:$YARN_CONF_DIR/nm-config/log4j.properties
  CLASS='org.apache.hadoop.yarn.server.nodemanager.NodeManager'
  YARN_OPTS="$YARN_OPTS -server $YARN_NODEMANAGER_OPTS"
  if [ "$YARN_NODEMANAGER_HEAPSIZE" != "" ]; then
    JAVA_HEAP_MAX="-Xmx""$YARN_NODEMANAGER_HEAPSIZE""m"
  fi
elif [ "$COMMAND" = "proxyserver" ] ; then
  CLASS='org.apache.hadoop.yarn.server.webproxy.WebAppProxyServer'
  YARN_OPTS="$YARN_OPTS $YARN_PROXYSERVER_OPTS"
  if [ "$YARN_PROXYSERVER_HEAPSIZE" != "" ]; then
    JAVA_HEAP_MAX="-Xmx""$YARN_PROXYSERVER_HEAPSIZE""m"
  fi
elif [ "$COMMAND" = "version" ] ; then
  CLASS=org.apache.hadoop.util.VersionInfo
  YARN_OPTS="$YARN_OPTS $YARN_CLIENT_OPTS"
elif [ "$COMMAND" = "jar" ] ; then
  CLASS=org.apache.hadoop.util.RunJar
  YARN_OPTS="$YARN_OPTS $YARN_CLIENT_OPTS"
elif [ "$COMMAND" = "logs" ] ; then
  CLASS=org.apache.hadoop.yarn.client.cli.LogsCLI
  YARN_OPTS="$YARN_OPTS $YARN_CLIENT_OPTS"
elif [ "$COMMAND" = "daemonlog" ] ; then
  CLASS=org.apache.hadoop.log.LogLevel
  YARN_OPTS="$YARN_OPTS $YARN_CLIENT_OPTS"
else
  CLASS=$COMMAND
fi

  

分享到:
评论

相关推荐

    Hadoop-2.2.x-eclipse插件

    Hadoop-2.2.x-eclipse插件是专门为开发人员设计的工具,它允许用户在Eclipse集成开发环境中(IDE)直接操作和调试Hadoop项目。这个插件极大地简化了Hadoop应用程序的开发流程,使得开发人员无需离开熟悉的Eclipse...

    hadoop-eclipse插件

    3. 调试MapReduce作业:通过插件,可以直接在本地或远程Hadoop集群上运行和调试MapReduce作业,查看中间结果和日志,进行问题定位。 4. 部署到Hadoop集群:将完成的MapReduce程序打包成JAR文件,方便上传到Hadoop...

    hadoop入门教程

    ##### 2.2 解压Hadoop包 将`hadoop-1.0.4.tar.gz`文件解压到指定目录,例如`/home/wys/Documents/hadoop-1.0.4/`。这里使用root用户来进行操作,以简化安装过程中的权限问题。 ``` tar -zxvf hadoop-1.0.4.tar.gz -...

    hadoop2+eclipse+win7开发所需环境

    在这样的环境中,开发者可以编写、测试和调试Hadoop MapReduce任务,以及Hadoop相关的Java程序。 首先,我们来看一下描述中提到的关键文件: 1. **hadoop-eclipse-plugin2.2-2.3.jar**:这是一个Eclipse插件,它...

    Hadoop集群配置及MapReduce开发手册

    通过这些步骤,开发者可以在Eclipse环境中更加方便地编写、调试和运行MapReduce程序。 **3.3 建立MapReduce工程** 在Eclipse中创建一个新的MapReduce工程,设置项目的各项属性,如项目名、源代码位置等。 #### 四...

    软件工程课程设计报告Hadoop配置

    SSH用于远程登录和命令执行,是配置Hadoop多节点集群的关键。 2.4 安装配置Hadoop 下载Hadoop源码,配置环境变量,修改相关配置文件如`hadoop-env.sh`, `core-site.xml`, `mapred-site.xml`等,然后格式化NameNode...

    Hadoop权威指南 第二版(中文版)

     使用远程调试器  作业调优  分析任务  MapReduce的工作流  将问题分解成MapReduce作业  运行独立的作业 第6章 MapReduce的工作机制  剖析MapReduce作业运行机制  作业的提交  作业的初始化  任务的分配 ...

    Hadoop权威指南(中文版)2015上传.rar

    使用远程调试器 作业调优 分析任务 MapReduce的工作流 将问题分解成MapReduce作业 运行独立的作业 第6章 MapReduce的工作机制 剖析MapReduce作业运行机制 作业的提交 作业的初始化 任务的分配 任务的执行 进度和状态...

    基于Hadoop的文件词频统计的实现(大数据技术课程设计)

    ##### 2.2 搭建 Hadoop 体系集群软件环境 ###### 2.2.1 安装配置 Hadoop 软件环境 1. **下载Hadoop**:从官方网站下载适合的Hadoop版本。 2. **解压并安装**:在主节点上解压缩Hadoop包,并进行基本配置。 3. **...

    通过实例让你真正明白mapreduce填空式、分布(分割)编程

    - 在调试过程中遇到的问题可以参考社区或论坛上的解决方案,如“Win7 Eclipse调试Centos Hadoop 2.2-Mapreduce出现问题解决方案”。 #### 五、总结 通过以上分析可以看出,MapReduce作为一种填空式的编程模型,...

    大数据技术之Spark.docx

    在远程集群上调试Spark程序时,需要配置IDEA以支持远程调试。 **3.8 Spark核心概念** - **RDD(Resilient Distributed Dataset)**:弹性分布式数据集是Spark中最基本的数据抽象,它是一个只读的、分区的数据集合...

    基于大数据的学习资源推荐系统的设计与实现(论文+源码)-kaic.zip

    2.2 MySQL 数据库介绍 2.3 MySQL环境配置 2.4 Python可视化技术 2.5 Django框架 2.6 Hadoop介绍 2.7 B/S架构 3 系统分析 3.1系统可行性分析 3.1.1技术可行性 3.1.2经济可行性 3.1.3操作可行性 3.2系统性能需求分析 ...

    Linux配置ssh免密码登录

    在进行分布式系统如Hadoop集群的搭建过程中,为了提高效率并确保数据的安全性,通常需要实现节点间的免密码登录。这种方式通过使用SSH (Secure Shell) 的公钥/私钥认证机制来实现,即无需每次登录时输入密码即可完成...

    工作心得:揭穿大数据备份的误区.pdf

    额外成本包括:人员成本:有人得负责运行脚本,确保备份成功,需要时进行调试,执行临时恢复等。存储成本:存储备份内容需要花钱。停机成本:在这段时间内,管理员要负责恢复数据,需要时间和资源。 大数据备份和...

Global site tag (gtag.js) - Google Analytics