标签:style color os 使用 ar 文件 sp 问题 log
默认情况下,Hadoop生成的系统日志文件存放在$HADOOP_INSTALL/logs目录之中,也可以通过hadoop-env.sh文件中的HADOOP_LOG_DIR来进行修改。
修改默认配置,使之独立于Hadoop的安装目录。这样,即使Hadoop升级之后安装路径发生改变,也不会影响日志文件的位置。
通常可以将日志文件存放在/var/log/hadoop目录中。
实现方法:在hadoop-env.sh中加入以下一行,export HADOOP_LOG_DIR=/var/log/hadoop
因为大部分应用程序的日志消息都写到该日志文件中,所以在对问题进行故障诊断时需要先查看这个文件。
标准的hadoop log4j配置采用日常滚动文件后缀策略(Daily Rolling File Appender)来命名日志文件。
系统不会自动删除过期的日志文件,而是留待用户定期删除或存档,以节约本地磁盘空间。
由于hadoop使用log4j记录日志,所以这个文件通常只包含少量记录,甚至为空。
重启守护进程时,系统会创建一个新文件来记录此类日志。系统仅保留最新的5个日志文件。旧的日志文件会附加一个数字后缀,值在1和5之间,5表示最旧的文件。
日志文件名称中的“用户名称”部分实际对应hadoop-env.sh文件中的HADOOP_IDENT_STRING项。
默认情况下,该功能并未启用。
为了启用该功能,需要在hadoop-env.sh文件中定义HADOOP_MESTER项。
工作节点的守护进程启动之后,会把以HADOOP_MASTER为根的目录树与本地的HADOOP_ISNTALL目录同步(???未理解如何运用?!)
对于小型集群来说很容易解决:
编写一个脚本文件,将主节点的hadoop-env.sh文件拷贝到所有工作节点即可。
对于大型集群来说:
可以采用类似dsh的工具,并行拷贝文件。
此外,还可以编写hadoop-env.sh文件,添加以上内容,并将这个文件作为自动安装脚本的一部分
为了避免发生这种情况,需要将HADOOP_SLAVE_SLEEP项设为一小段时间,例如0.1(表示0.1秒钟)。
这样的话,主节点会在相继调用两个工作节点的指令的间隙主动休眠一段时间间隔。
标签:style color os 使用 ar 文件 sp 问题 log
原文地址:http://my.oschina.net/HIJAY/blog/313883