history—显示文件和用户的状态

本文详细介绍了CVS版本控制系统中的历史命令(history)及其多种使用选项。包括如何开启日志功能、命令格式及各种控制报告生成的选项说明,帮助用户更好地理解和使用CVS历史命令。
  • 语法: history [-report] [-flags] [-options args] [files...]
  • 需要: $CVSROOT/CVSROOT/history 文件
  • 修改: 无。

cvs 用一个历史日志文件来跟踪大多数的 cvs 命令的使用。你可以用 history 以各种格式显示此信息。

要打开日志功能,`LogHistory' 配置选项必须设置为非空,而且 `HistoryLogPath' 选项指定的历史文件,必须能被 cvs 指向的所有用户写入(参阅 config)。

要使用 history 命令,日志功能必须如上打开,`HistorySearchPath' 配置选项必须指定一些历史日志的数字,这些文件要能被任何运行 history 命令的用户读取。

通过 cvs init 命令创建的仓库,将打开所有可能的日志事件到一个单一的历史日志文件 ($CVSROOT/CVSROOT/history),它能被所有的用户读写(参阅 Creating a repository)。

注意: history 使用的 `', `', `' 和 `' 的方式与普通 -f-l-n-pcvs 的方式冲突 (参阅 Common options)。

 

 

history options

有一些选项可以控制报告的生成(如 `-report' 显示):

-c
报告每次提交(即,仓库的每次修改)。
-e
任何事情(所有的记录类型)。等同于给所有的记录类型指定 ` -x'。当然,` -e' 还包括以后 cvsCVS 将要包含的类型; 如果你要在脚本里面只处理特定的记录类型,需要使用 ` -x'`-x' 来指定。
-m module
报告特定的模块。(可以在命令行上多次使用使用 ` -m'。)
-o
报告检出的模块。此为默认的报告类型。
-T
报告所有的标签。
-x type
cvs 历史中取出特定 type 类型的记录。类型用单独的字母表示,你也可以组合起来指定。

一些命令有一个单独的记录类型:

F
release
O
checkout
E
export
T
rtag

update 产生的记录类型:

C
合并后有冲突发生(需要手动合并)。
G
合并成功。
U
从仓库复制了工作文件。
P
为工作文件打补丁,与仓库中相配。
W
更新期间删除了工作副本(因为在仓库里面已经删除)。

commit 产生的三种记录类型:

A
首次增加文件。
M
修改了文件。
R
删除了文件。

显示为 `-flags' 方式的选项强迫或展开报告而不需要参数:

-a
显示所有用户的数据(默认只显示执行 history 的用户数据)。
-l
只显示最后的修改。
-w
只显示 history 所执行目录的最后修改。

显示为 `-options args' 的选项强迫报告基于一个参数:

-b str
显示在模块名,文件名,或记录路径中包含字符串 str 的记录。
-D date
显示自从 date 开始的数据。这与 ` -D date' 有一些不同,那是选择 date 日期之前的最新修订版。
-f file
显示指定文件的数据(你可以在同一命令行上指定多个 ` -f' 选项)。这与在命令行上指定文件相同。
-n module
显示指定模块的数据(你可以在同一命令行上指定多个 ` -n' 选项)。
-p repository
显示指定源码仓库的数据(你可以在同一命令行上指定多个 ` -p' 选项)。
-r rev
显示名为 rev 的单独 rcs 文件修订版或标签名的记录。每个 rcs 文件都被搜索。
-t tag
显示最后添加到历史文件的 tag 标签。与上面 ` -r' 标识不同的是仅从历史文件读取,而不是 rcs 文件,所以更快。
-u name
显示用户 name 的记录。
-z timezone
使用指定的时区而非 UTC 显示所选记录的时间。

<think>好的,用户遇到了Hadoop中点击logshistory页面无法跳转的问题,需要解决。首先,我得回忆一下相关配置可能的原因。根据用户提供的引用内容,可能涉及到日志聚合未配置或历史服务器未启动。 首先,日志聚合的问题。引用[2]提到,没有配置日志聚合会导致无法查看日志。YARN的日志聚合功能默认是关闭的,需要在yarn-site.xml中添加相关配置,比如yarn.log-aggregation-enable设为true,并指定聚合日志的存储目录,比如yarn.nodemanager.remote-app-log-dir。配置后需要重启Hadoop集群,特别是NodeManagerResourceManager,可能还需要重启History Server。 其次,历史服务器的问题。引用[3]指出,Hadoop历史服务器默认未启动,需要使用命令启动。用户可能需要检查是否已经启动了HistoryServer,如果没有,通过sbin/mr-jobhistory-daemon.sh start historyserver来启动。此外,历史服务器的相关配置如mapreduce.jobhistory.addressweb应用的地址mapreduce.jobhistory.webapp.address是否正确设置,端口是否被占用或防火墙阻止访问。 另外,权限问题也可能导致无法访问日志。Hadoop的日志目录可能没有正确的读写权限,需要检查HDFS中的日志存储路径,比如/logs,是否对用户开放了权限,可以使用hdfs dfs -chmod命令修改权限。 还有可能是浏览器缓存或代理问题,有时候旧的缓存会导致页面无法正确加载,可以尝试清除缓存或使用不同的浏览器测试。或者检查Hadoop服务的日志,查看是否有错误信息,比如History Server的日志,可能有助于诊断问题。 综合以上可能的原因,解决方案应该包括检查并配置日志聚合,启动历史服务器,设置正确的权限,以及处理可能的网络或缓存问题。需要分步骤指导用户修改配置文件,执行重启命令,验证服务状态,以及检查权限设置。同时,提醒用户注意配置后的重启步骤,因为某些配置更改需要服务重启才能生效。</think>### Hadoop日志History页面无法跳转的解决方案 --- #### **问题原因分析** 1. **日志聚合未启用** YARN默认不启用日志聚合功能,导致任务结束后日志仍分散在NodeManager节点本地,无法通过Web UI统一访问[^2]。 2. **历史服务器未启动** Hadoop历史服务器(JobHistory Server)默认未运行,导致无法查看已完成的MapReduce作业记录[^3]。 3. **权限或路径配置错误** 日志存储路径权限不足或HDFS目录配置错误,导致Web UI无法读取聚合后的日志。 --- #### **解决步骤** ##### **1. 配置日志聚合** 修改`yarn-site.xml`文件,添加以下配置: ```xml <property> <name>yarn.log-aggregation-enable</name> <value>true</value> </property> <property> <name>yarn.nodemanager.remote-app-log-dir</name> <value>/logs</value> </property> ``` - **重启服务**: ```bash stop-yarn.sh && start-yarn.sh # 重启YARN mapred --daemon start historyserver # 启动历史服务器(Hadoop 3+) ``` --- ##### **2. 启动历史服务器** - **手动启动命令**: ```bash # Hadoop 2.x mr-jobhistory-daemon.sh start historyserver # Hadoop 3.x mapred --daemon start historyserver ``` - **验证状态**: 访问`http://<history-server-host>:19888/jobhistory`确认服务是否运行。 --- ##### **3. 检查HDFS日志目录权限** 确保HDFS中的日志目录(如`/logs`)对用户可读: ```bash hdfs dfs -chmod -R 755 /logs ``` --- ##### **4. 补充配置检查** - **历史服务器地址配置**(`mapred-site.xml`): ```xml <property> <name>mapreduce.jobhistory.address</name> <value>history-server-host:10020</value> </property> <property> <name>mapreduce.jobhistory.webapp.address</name> <value>history-server-host:19888</value> </property> ``` --- #### **验证方法** 1. 提交一个测试作业(如WordCount),完成后检查: - `http://<RM-Web-UI>:8088` 中作业的`History`链接是否可跳转。 - 点击`Logs`是否显示聚合后的日志内容。 2. 直接访问HDFS日志目录: ```bash hdfs dfs -ls /logs/<user>/logs ``` --- #### **其他注意事项** - **防火墙/端口开放**:确保19888(History Server)、8088(YARN UI)等端口可访问。 - **浏览器缓存**:若配置已生效但仍无法访问,尝试清除浏览器缓存。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值