配置步驟
如你所知,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。確保先確定一個斷點。