码迷,mamicode.com
首页 > 其他好文 > 详细

第九章-构建Hadoop集群

时间:2014-09-15 22:59:50      阅读:353      评论:0      收藏:0      [点我收藏+]

标签:style   color   os   使用   ar   文件   sp   问题   log   

系统日志文件

1、建议修改Hadoop系统日志文件默认设置,使之独立于Hadoop的安装目录

默认情况下,Hadoop生成的系统日志文件存放在$HADOOP_INSTALL/logs目录之中,也可以通过hadoop-env.sh文件中的HADOOP_LOG_DIR来进行修改。

2、为什么建议修改Hadoop系统日志文件存放目录独立于Hadoop的安装目录

修改默认配置,使之独立于Hadoop的安装目录。这样,即使Hadoop升级之后安装路径发生改变,也不会影响日志文件的位置。

通常可以将日志文件存放在/var/log/hadoop目录中。

实现方法:在hadoop-env.sh中加入以下一行,export HADOOP_LOG_DIR=/var/log/hadoop

3、各个hadoop守护进程均会产生两类日志文件

1)、通过log4j记录的——以.log作为后缀名

因为大部分应用程序的日志消息都写到该日志文件中,所以在对问题进行故障诊断时需要先查看这个文件。

标准的hadoop log4j配置采用日常滚动文件后缀策略(Daily Rolling File Appender)来命名日志文件。

系统不会自动删除过期的日志文件,而是留待用户定期删除或存档,以节约本地磁盘空间。

2)、记录标准输出和标准错误日志——日志文件后缀名为.out

由于hadoop使用log4j记录日志,所以这个文件通常只包含少量记录,甚至为空。

重启守护进程时,系统会创建一个新文件来记录此类日志。系统仅保留最新的5个日志文件。旧的日志文件会附加一个数字后缀,值在1和5之间,5表示最旧的文件。

日志文件名称中的“用户名称”部分实际对应hadoop-env.sh文件中的HADOOP_IDENT_STRING项。

SSH设置

1、利用rsync工具,Hadoop控制脚本能够将配置文件分发到集群中的所有节点。

默认情况下,该功能并未启用。

为了启用该功能,需要在hadoop-env.sh文件中定义HADOOP_MESTER项。

工作节点的守护进程启动之后,会把以HADOOP_MASTER为根的目录树与本地的HADOOP_ISNTALL目录同步(???未理解如何运用?!)

2、如何确保每个工作节点的hadoop-env.sh文件已经设置好HADOOP_MASTER?

对于小型集群来说很容易解决:

编写一个脚本文件,将主节点的hadoop-env.sh文件拷贝到所有工作节点即可。

对于大型集群来说:

可以采用类似dsh的工具,并行拷贝文件。

此外,还可以编写hadoop-env.sh文件,添加以上内容,并将这个文件作为自动安装脚本的一部分

3、在一个大型集群中,集群所有节点同时向主节点发出rsync请求,会导致主节点瘫痪,这种情况如何避免?

为了避免发生这种情况,需要将HADOOP_SLAVE_SLEEP项设为一小段时间,例如0.1(表示0.1秒钟)。

这样的话,主节点会在相继调用两个工作节点的指令的间隙主动休眠一段时间间隔。







第九章-构建Hadoop集群

标签:style   color   os   使用   ar   文件   sp   问题   log   

原文地址:http://my.oschina.net/HIJAY/blog/313883

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!