我觉得如果能在伪分布式或者全分布式模式下调试namenode和datanode的真实工作机制,对我来说详细了解Hadoop是非常好的。
我认为apaceh hadoop 团队或..任何主要的hadoop、hdfs 或mapreduce 开发人员都可以做到这一点,但没有文件提到这种方法。
每个文档都提到了我们如何在本地环境中使用 eclipse 调试 mapreduce。这意味着 LocalJopRunner 正在运行,我们可以看到 LocalJobRunner 是如何运行的。
谢谢。
您可以在开发 Hadoop Wiki上找到有关此内容的详细信息。它包含有关如何设置开发环境、如何开发单元测试等内容的详细信息。
高温高压
调试 hadoop 守护进程而不是如何从 eclipse 调试 hadoop mapreduce 作业?然后您可以将 Java 调试选项添加到 /etc/default/ hadoop-daemon-name
例如调试名称节点将以下内容添加到/etc/default/hadoop-hdfs-namenode
export HADOOP_OPTS="$HADOOP_OPTS -agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=8000"
然后,您可以从 Eclipse 远程连接到端口 8000 上的名称节点。显然之后删除它,因为它会打开您的名称节点以防止来自世界任何地方的潜在滥用!