在NameNode.java文件下
尝试在main()函数中添加打印字符串的测试代码,代码如下:
System.out.println(“测试字符串”);
在哪里可以看到打印字符串?
*代码编译成功,并使用了新一代文件(hadoop-core-1.0.4.jar)替换了每个节点。
*所有守护程序已重新启动。但在终端上找不到打印字符串。
最佳答案
如果您已经重新启动了名称节点服务,则这些sys out可能会进入名称节点日志文件(该文件可以位于多个位置,具体取决于您的hadoop disto / install)。 hadoop-daemon.sh文件对文件的定义如下:
$HADOOP_LOG_DIR/hadoop-$HADOOP_IDENT_STRING-$command-$HOSTNAME.out
因此,您可以在HADOOP_LOG_DIR的
hadoop-$HADOOP_IDENT_STRING-nanmenode-$HOSTNAME.out
名称下找到它-根据运行时用户和namenode服务的主机名,其他变量将被替换。我建议您使用预定义的记录器,而不要使用System.err / System.out:
LOG.info("log message");
关于hadoop - 当我添加代码 “System.out.println(”测试字符串“)时,在哪里可以看到打印字符串?”在NameNode.java文件中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14549254/