Hadoop 使用IntelliJ IDEA 进行远程调试代码

本文介绍如何在遇到Hadoop DataNode启动报错时,通过IntelliJ IDEA进行远程调试。首先,需要在服务器端配置启动远程debug端口,并修改Hadoop配置文件。接着,在IDEA中导入代码,根据报错信息设置断点,并配置远程连接。最后,启动调试,等待IDEA连接到服务器进行DEBUG操作。
摘要由CSDN通过智能技术生成

一 .前言

昨天晚上遇到一个奇葩的问题, 搞好的环境DataNode启动报错. 报错信息提示的模棱两可,没办法定位原因.
办法,开启远程调试…

注意 : 开启远程调试的代码,必须与本地idea的代码必须保持一致.

二 .服务器端配置.

2.1. 设置启动远程debug端口

修改 服务器上的配置文件 ${HADOOP_HOME}/etc/hadoop/hadoop-env.sh 增加 环境变量即可.

  • 参考的设置
组件 环境变量设置
NameNode export HADOOP_NAMENODE_OPTS="-agentlib:jdwp=transport=dt_socket,address=8888,server=y,suspend=y"
DataNode export HADOOP_DATANODE_OPTS="-agentlib:jdwp=transport=dt_socket,address=9888,server=y,suspend=y"
ResourceManager export YARN_RESOURCEMANAGER_OPTS="-agentlib:jdwp=transport=dt_socket,address=10888,server=y,suspend=y"
NodeManager export YARN_NODEMANAGER_OPTS="-agentlib:jdwp=transport=dt_socket,address=10888,server=y,suspend=y"

2.2. 具体操作

  1. 编辑服务器上的配置文件[${HADOOP_HOME}/etc/hadoop/hadoop-env.sh`]
    随便加上一行[记住端口!!!]:

export HADOOP_DATANODE_OPTS="-agentlib:jdwp=transport=dt_socket,address=9888,server=y,suspend=y"

  1. 启动服务即可 [启动完, JVM返现有jdwp的配置,会自动阻塞, 等到idea调试连接.].

因为我要调试的是DataNode .
所以启动命令为:

cd ${
   HADOOP_HOME}/sbin

# 启动datanode
sh hadoop-daemon.sh star
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值