服务器查找重定向文件,重定向到日志容器服务器时,查看已完成的火花作业日志上纱...

我的火花版本是有2.1.1,和Hadoop版本的Apache Hadoop的2.7.3。

当在集群模式下纱线行走火花的工作,我可以通过标准输出/标准错误链接查看执行程序的日志像

http://hadoop-slave1:8042/node/containerlogs/container_1500432603585_0148_01_000001/hadoop/stderr?start=-4096

但是当工作完成后,通过标准输出/标准错误查看执行程序的日志链接会得到一个错误页面像

重定向到日志服务器container_1500432603585_0148_01_000001

java.lang.Exception的:未知的容器。容器或者没有 已启动或已经完成或者不属于此节点的所有 。

,然后它会自动重定向到

http://hadoop-slave1:8042/node/hadoop-master:19888/jobhistory/logs/hadoop-slave1:36207/container_1500432603585_0148_01_000001/container_1500432603585_0148_01_000001/hadoop

,并得到其他错误网页像

Sorry, got error 404

Please consult RFC 2616 for meanings of the error code.

Error Details

org.apache.hadoop.yarn.webapp.WebAppException: /hadoop-master:19888/jobhistory/logs/hadoop-slave1:50284/container_1500432603585_0145_01_000002/container_1500432603585_0145_01_000002/oryx: controller for hadoop-master:19888 not found

at org.apache.hadoop.yarn.webapp.Router.resolveDefault(Router.java:232)

at org.apache.hadoop.yarn.webapp.Router.resolve(Router.java:140)

at org.apache.hadoop.yarn.webapp.Dispatcher.service(Dispatcher.java:134)

at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)

at com.google.inject.servlet.ServletDefinition.doService(ServletDefinition.java:263)

其实我可以使用这个网址访问该执行程序的日志时 火花作业已完成:

http://hadoop-master:19888/jobhistory/logs/hadoop-slave1:36207/container_1500432603585_0148_01_000001/container_1500432603585_0148_01_000001/hadoop

it与之前的url有点不同,它删除头部“hadoop-slave1:8042/node /”。

有谁知道另一种更好的方法来查看日志火花时,火花作业已完成?

我已经的ConfigEd纱线的site.xml

yarn.resourcemanager.hostname

hadoop-master

The hostname of the RM.

yarn.log-aggregation-enable

true

yarn.log.server.url

${yarn.resourcemanager.hostname}:19888/jobhistory/logs

和mapred-site.xml中

mapreduce.jobhistory.address

${yarn.resourcemanager.hostname}:10020

mapreduce.jobhistory.admin.address

${yarn.resourcemanager.hostname}:10033

mapreduce.jobhistory.webapp.address

${yarn.resourcemanager.hostname}:19888

+0

您可以用'纱日志 - 的applicationID application_id'看到完整的应用程序日志。 –

+0

我需要从纱网用户界面查看日志。有人可能没有执行“纱线日志”命令的权限。 –

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 在Linux中,可以使用定向符号将日志输出定向到文件中。具体操作如下: 1. 打开终端,进入需要记录日志的目录。 2. 输入命令,将日志输出定向到指定文件中: ``` command > log.txt ``` 其中,command为需要记录日志的命令,log.txt为日志文件名。 3. 执行命令,日志将被记录在log.txt文件中。 4. 若要实查看日志,可以使用tail命令: ``` tail -f log.txt ``` 这样,每次有新的日志输出,终端就会实显示出来。 ### 回答2: Linux系统中的日志是非常要的,帮助系统管理员追踪系统的问题和排除错误。为了方便管理和分析,我们可以将日志定向到文件中。 定向日志文件的方法很简单,可以使用以下几种方式: 1. 使用输出定向符号`>`,将日志输出内容打印到指定的文件中。这个符号表示覆盖文件内容,如果文件不存在则会创建文件。 例如,将系统日志输出到/var/log/syslog文件中,命令如下: sudo cat /var/log/syslog > /var/log/syslog.txt 2. 使用追加定向符号`>>`,将日志输出内容追加到指定的文件中。这个符号表示追加文件内容,如果文件不存在则会创建文件。 例如,将系统日志追加到/var/log/syslog文件中,命令如下: sudo cat /var/log/syslog >> /var/log/syslog.txt 3. 使用管道符号`|`,将日志输出内容传递到另一个命令中进行处理或存储到文件中。这个符号表示将前一个命令的输出结果传递给后一个命令进行处理。 例如,将系统日志中包含“error”关键字的内容输出到/var/log/syslog_error.txt文件中,命令如下: sudo cat /var/log/syslog | grep "error" > /var/log/syslog_error.txt 通过定向日志文件中,我们可以更方便地查看和分析系统日志,快速定位和解决问题,为系统运维工作提供更好的支持。 ### 回答3: 在Linux操作系统中,日志记录对于系统的维护和问题排查非常要,因为日志记录了系统的各种运行信息以及出现问题的原因和位置,方便管理员进行监控和调试。 因此,将Linux日志定向到文件是一种非常常见和有效的方式,可以避免日志过多导致系统崩溃,也可以方便管理员进行更加方便的日志管理和分析。 具体操作如下: 1. 使用定向符号“>”或“>>”将日志输出定向到文件: “>”符号表示将日志输出覆盖到文件中,原文件内容被清空,例如:$cat /var/log/messages >/home/root/messages.log “>>”符号表示将日志输出添加到文件末尾,不影响原文件内容,例如:$cat /var/log/messages >>/home/root/messages.log 2. 设置日志文件的权限,确保只有管理员或指定用户能够读取和写入日志文件: $chmod 640 /home/root/messages.log 3. 设置日志轮换,避免日志文件过大导致系统瘫痪或磁盘满: $ vi /etc/logrotate.conf 在该文件中,可以设置不同类型的日志轮换方式,例如:按照大小、按照间、按照数量等,也可以设置轮换后的日志文件名和存储位置等参数。 4. 创建日志备份,避免日志文件损坏或意外删除: $cp /home/root/messages.log /home/backup/messages.bak 通过以上步骤,就可以成功将Linux日志定向到文件中,并进行管理、备份和轮换等操作,为系统的稳定运行和问题排查提供了便利和保障。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值