配置步骤
如你所知,Hadoop 可以在 3 种不同模式下在本地环境中运行:
- 本地模式
- 伪分布式模式
- 完全分布式模式(群集)
通常,你将在伪分布式模式下运行本地 hadoop 设置,以利用 HDFS 和 Map Reduce(MR)
。但是,你无法在此模式下调试 MR 程序,因为每个 Map / Reduce 任务将在单独的 JVM 进程中运行,因此你需要切换回本地模式,你可以在单个 JVM 进程中运行 MR 程序。
以下是在本地环境中调试此步骤的快速简单步骤:
-
在本地模式下运行 hadoop 进行调试,因此 mapper 和 reducer 任务在单个 JVM 中运行,而不是在单独的 JVM 中运行。以下步骤可帮助你完成此操作。
-
配置 HADOOP_OPTS 以启用调试,以便在运行 Hadoop 作业时,它将等待调试器连接。下面是在端口 8080 上调试相同命令。
(export HADOOP_OPTS =“ - agentlib:jdwp = transport = dt_socket,server = y,suspend = y,address = 8008”)
-
将 core-site.xml 中的 fs.default.name 值配置为 file:/// from hdfs://。你不会在本地模式下使用 hdfs。
-
将 mapred-site.xml 中的 mapred.job.tracker 值配置为 local。这将指示 Hadoop 在单个 JVM 中运行 MR 任务。
-
为 Eclipse 创建调试配置并将端口设置为 8008 - 典型的东西。为此,请转到调试器配置并创建新的 Remote Java Application 配置类型,并在设置中将端口设置为 8080。
-
运行 hadoop 作业(它将等待调试器连接),然后使用上述配置以调试模式启动 Eclipse。确保先确定一个断点。