hadoop配置(一)

来源:互联网 发布:密度聚类算法处理轨迹 编辑:程序博客网 时间:2024/06/06 08:31

hadoop配置

  • hadoop-env.sh 脚本中要用到的环境变量,以运行hadoop
  • mapred-env.sh 脚本中要用的环境变量,以运行MapReduce(覆盖hadoop-env.sh中设置的变量)
  • yarn-env.sh 脚本中要用的到的环境变量,以运行yarn,覆盖hadoop-env.sh中设置的变量
  • core-site.xml hadoop配置xml ,hadoop core 的配置项,例如HDFS,MapReduce 和yarn常用的I/O设置等
  • mapred-site.xml hadoop配置xml, MapReduce守护进程的配置项,包括历史作业历史服务器
  • hdfs-site.xml hadoop配置xml, hadoop守护进程的配置项,包括namenode、辅助namenode和datenode等
  • yarn-site.xml hadoop配置xml,yarn守护进程的配置项,包括资源管理器、web应用代理服务器和节点管理器
  • slaves 纯文本,运行datenode和节点管理器列表(每行一个)
  • hadoop-metrics2.properties java属性,控制如何在hadoop上发布度量的属性(待续)
  • log4j.properties java属性,系统日志文件、namenode审计日志、任务JVM进程的任务日志属性(详细待续)
  • hadoop-policy.xml hadoop配置xml,安全模式下运行hadoop时访问控制列表的配置项

一、配置管理

hadoop集群管理工具:Cloudera Manager ,Apache Ambari

二、环境设置 – – – – – hadoop-env.sh

1、方法一,在 hadoop-env.sh中设置 JAVA_HOME 项;方法二,在shell中设置 JAVA_HOME 环境变量。

  • 相比之下,方法一更好,因为只需要操作一次就能够保证整个集群使用同一版本java

2、内存堆大小

默认情况下,hadoop为各个守护进程分配1000MB 的内存。该内存值由 hadoop-env.sh 文件的 HADOOP_HEAPSIZE 参数控制。也可以通过设置环境变量为单个守护进程修改堆大小。
- 在yarn-env.sh文件中设置 YARN_RESOURCEMANAGER_HEAPSIZE , 即可覆盖资源管理器的堆大小。

3、系统日志文件

默认情况下,Hadoop生成的系统日志文件存放在 $HADOOP_HOME/logs 目录之下,也可以通过 hadoop-env.sh 文件中的 HADOOP_LOG_DIR 来进行修改。
  • 建议修改默认路径,使之独立于Hadoop的安装目录,这样的话,hadoop升级之后安装路径发生变化,也不会影响到日志文件的位置,通常可以将日志文件存放在 /var/log/hadoop 目录中 。
  • 实现方法:hadoop-env.sh 中加入一行 export HADOOP_LOG_DIR=/var/log/hadoop

运行在各台机器上的各个Hadoop守护进程会产生两类日志文件

  1. 日志文件(是以 .log 作为后缀名)是通过 log4j 记录的。
  2. 日志文件后缀名为 .out , 记录标准输出和标准错误日志
    • 日志文件的名称(两种类型)包含运行守护进程的用户名、守护进程名称和本地主机名等信息。
    • 例如:hadoop-hdfsdatanode-ip-10-45-174-112.log.2014-09-20 就是一个日志文件的名称。这种命名方法保证集群内所有机器的日志文件名称各不相同,从而可以将所有日志文件存到一个目录中。
    • 日志文件名称中的 用户名称 部分实际对应 hadoop-env.sh 文件中的 HADOOP_IDENT_STRING

4、SSH设置

三、hadoop 守护进程的关键属性

原创粉丝点击