Hadoop集群管理之配置文件

一、配置文件列表如下:

[hadoop@node1 conf]$ pwd
/app/hadoop/conf
[hadoop@node1 conf]$ echo $HADOOP_HOME
/app/hadoop
[hadoop@node1 conf]$ ll
总计 60
-rw-rw-r-- 1 hadoop hadoop 3936 2010-02-19 15:55 capacity-scheduler.xml
-rw-rw-r-- 1 hadoop hadoop  535 2010-02-19 15:55 configuration.xsl
-rw-rw-r-- 1 hadoop hadoop  435 2014-02-28 22:15 core-site.xml
-rw-rw-r-- 1 hadoop hadoop 2226 2014-02-28 10:16 hadoop-env.sh
-rw-rw-r-- 1 hadoop hadoop 1245 2010-02-19 15:55 hadoop-metrics.properties
-rw-rw-r-- 1 hadoop hadoop 4190 2010-02-19 15:55 hadoop-policy.xml
-rw-r--r-- 1 hadoop hadoop 1652 2014-02-28 21:55 hbase-site.xml
-rw-rw-r-- 1 hadoop hadoop  664 2014-02-28 15:12 hdfs-site.xml
-rw-rw-r-- 1 hadoop hadoop 2815 2010-02-19 15:55 log4j.properties
-rw-rw-r-- 1 hadoop hadoop  266 2014-02-28 10:15 mapred-site.xml
-rw-rw-r-- 1 hadoop hadoop   14 2014-02-28 15:16 masters
-rw-rw-r-- 1 hadoop hadoop   28 2014-02-28 10:15 slaves
-rw-rw-r-- 1 hadoop hadoop 1243 2010-02-19 15:55 ssl-client.xml.example
-rw-rw-r-- 1 hadoop hadoop 1195 2010-02-19 15:55 ssl-server.xml.example

二、常用配置文件
    2.1、hadoop-env.sh:记录脚本要用的环境变量;
    2.2、core-site.xml:Hadoop核心配置项;
    2.3、hdfs-site.xml:Hadoop守护进程配置项,例如:namenode,secondarynamenode和datanode等;
    2.4、mapred-site.xml:MapReduce守护进程配置项,包括jobtracker和tasktracker;
    2.5、master:运行secondarynamenode(而不是namenode)的机器列表(每行一个)。只在namenode或jobtracker节点上使用,无需同步到各节点;
    2.6、slave:运行datanode和tasktracker的机器列表(每行一个)。只在namenode或jobtracker节点上使用,无需同步到各节点。
    2.7、hadoop-metrics.properties:ganglia监控的配置文件

三、控制脚本

    3.1、start-dfs.sh:在本地节点启动namenode,在slave文件指定的每个节点启动datanode,在master文件指定的每个节点启动secondarynamenode
    3.2、start-mapred.sh:在本地节点启动jobtracker,在slave文件指定的每个节点启动tasktracker。
    3.3、start-all.sh:依次调用start-dfs.sh和start-mapred.sh
    3.4、stop-dfs.sh/stop-mapred.sh/stop-all.sh:前面的start脚本对应的关闭脚本。
    3.5、hadoop-daemon.sh:上述脚本调用它来执行启动和终止hadoop守护进程。如果用户需要从其他系统或自己编写脚本控制hadoop守护进程,可以调用它。
    3.6、hadoop-daemons.sh:用于在多个主机上启动同一hadoop守护进程。

四、守护进程管理

对于小型集群(几十个节点),可以将namenode、secondarynamenode、jobtracker放到单独一台机器上,但对于大型集群,最好分别放到不同的机器上。

    4.1、namenode:在内存中保存整个命名空间的所有文件和块元数据,它的内存需求很大。
    4.2、secondnamenode:保存一份最新的检查点,记录文件系统的元数据,有助于在数据丢失或系统崩溃时恢复namenode的元数据;它在大多时候空闲,但它创建检查时的内存需求和namenode差不多。一旦文件系统包含大量文件,单台主机可能无法同时运行namenode和secondarynamenode。
    4.3、jobtracker:在一个运行大量mapreduce作业的高负载集群上,jobtracker会使用大量内存和CPU资源,因此它最好运行在一个专用节点上。
HDFS控制脚本需要在namenode机器上运行;mapreduce控制脚本需要在jobtracker机器上运行。

posted @ 2014-03-04 10:32  I’m Me!  阅读(2968)  评论(0编辑  收藏  举报