hadoop集群管理——配置文件

1.配置文件列表如下:

[hadoop@ct-had01 ~]$ cd /opt/hadoop/hadoop-2.9.0/etc/hadoop/
[hadoop@ct-had01 hadoop]$ ll
-rw-r--r--. 1 hadoop hadoop  7861 Nov 14 07:28 capacity-scheduler.xml
-rw-r--r--. 1 hadoop hadoop  1335 Nov 14 07:28 configuration.xsl
-rw-r--r--. 1 hadoop hadoop  1240 Mar 23 11:50 container-executor.cfg
-rw-r--r--. 1 hadoop hadoop  1701 Mar 23 11:49 core-site.xml
-rw-r--r--. 1 hadoop hadoop  3804 Nov 14 07:28 hadoop-env.cmd
-rw-r--r--. 1 hadoop hadoop  4676 Mar 22 10:21 hadoop-env.sh
-rw-r--r--. 1 hadoop hadoop  2598 Nov 14 07:28 hadoop-metrics2.properties
-rw-r--r--. 1 hadoop hadoop  2490 Nov 14 07:28 hadoop-metrics.properties
-rw-r--r--. 1 hadoop hadoop 10206 Nov 14 07:28 hadoop-policy.xml
-rw-r--r--. 1 hadoop hadoop  1437 Mar 22 10:25 hdfs-site.xml
-rw-r--r--. 1 hadoop hadoop  2230 Nov 14 07:28 httpfs-env.sh
-rw-r--r--. 1 hadoop hadoop  1657 Nov 14 07:28 httpfs-log4j.properties
-rw-r--r--. 1 hadoop hadoop    21 Nov 14 07:28 httpfs-signature.secret
-rw-r--r--. 1 hadoop hadoop   620 Nov 14 07:28 httpfs-site.xml
-rw-r--r--. 1 hadoop hadoop  3518 Nov 14 07:28 kms-acls.xml
-rw-r--r--. 1 hadoop hadoop  3139 Nov 14 07:28 kms-env.sh
-rw-r--r--. 1 hadoop hadoop  1788 Nov 14 07:28 kms-log4j.properties
-rw-r--r--. 1 hadoop hadoop  5939 Nov 14 07:28 kms-site.xml
-rw-r--r--. 1 hadoop hadoop 14016 Nov 14 07:28 log4j.properties
-rw-r--r--. 1 hadoop hadoop  1076 Nov 14 07:28 mapred-env.cmd
-rw-r--r--. 1 hadoop hadoop  1507 Nov 14 07:28 mapred-env.sh
-rw-r--r--. 1 hadoop hadoop  4113 Nov 14 07:28 mapred-queues.xml.template
-rw-r--r--. 1 hadoop hadoop   873 Mar 22 10:27 mapred-site.xml
-rw-r--r--. 1 hadoop hadoop   758 Nov 14 07:28 mapred-site.xml.template
-rw-r--r--. 1 hadoop hadoop    18 Mar 22 10:33 slaves
-rw-r--r--. 1 hadoop hadoop  2316 Nov 14 07:28 ssl-client.xml.example
-rw-r--r--. 1 hadoop hadoop  2697 Nov 14 07:28 ssl-server.xml.example
-rw-r--r--. 1 hadoop hadoop  2250 Nov 14 07:28 yarn-env.cmd
-rw-r--r--. 1 hadoop hadoop  4876 Nov 14 07:28 yarn-env.sh
-rw-r--r--. 1 hadoop hadoop  2870 Mar 22 10:33 yarn-site.xml

2. 常用配置文件:

hadoop-env.sh:记录脚本要用的环境变量。

core-site.xml:Hadoop核心配置项

hdfs-site.xml:Hadoop守护进程配置项,例如namenode,secondarynamenode和datanode等。

mapred-site.xml:MapReduce守护进程配置项,包括jobtracker和tasktracker。

master:运行secondarynamenode(而不是namenode)的机器列表(每行一个)。只在namenode或jobtracker节点上使用,无需同步到各节点。

slave:运行datanode和tasktracker的机器列表(每行一个)。只在namenode或jobtracker节点上使用,无需同步到各节点。

3. 配置管理

 hadoop支持为所有的节点采用同一套配置文件,这样管理会变得非常简单,不过这对于某些集群来说并不适合。例如在扩展集群时,如果新机器的硬件和现有机器不同,则需要为新机器创建一套新的配置文件,以充分利用新硬件资源。所以,非常推荐在每个节点保存一套配置文件,并由管理员完成这些配置文件的同步工作。hadoop提供了一个基本工具来进行同步配置,即rsync。

这种情况下,需要引入“机器类”的概念,为不同的机器类分别维护一套配置文件。不过hadoop并没有提供执行这个操作的工具,需要借助外部工具,例如Chef,Puppet,cfengine和bcfg2等。

 4. 控制脚本

start-dfs.sh:在本地节点启动namenode,在slave文件指定的每个节点启动datanode,在master文件指定的每个节点启动secondarynamenode

start-mapred.sh:在本地节点启动jobtracker,在slave文件指定的每个节点启动tasktracker。

start-all.sh:依次调用start-dfs.sh和start-mapred.sh

stop-dfs.sh/stop-mapred.sh/stop-all.sh:前面的start脚本对应的关闭脚本。

hadoop-daemon.sh:上述脚本调用它来执行启动和终止hadoop守护进程。如果用户需要从其他系统或自己编写脚本控制hadoop守护进程,可以调用它。

hadoop-daemons.sh:用于在多个主机上启动同一hadoop守护进程。

5. 守护进程管理

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

namenode:在内存中保存整个命名空间的所有文件和块元数据,它的内存需求很大。

secondnamenode:保存一份最新的检查点,记录文件系统的元数据,有助于在数据丢失或系统崩溃时恢复namenode的元数据;它在大多时候空闲,但它创建检查时的内存需求和namenode差不多。一旦文件系统包含大量文件,单台主机可能无法同时运行namenode和secondarynamenode。

jobtracker:在一个运行大量mapreduce作业的高负载集群上,jobtracker会使用大量内存和CPU资源,因此它最好运行在一个专用节点上。

HDFS控制脚本需要在namenode机器上运行;mapreduce控制脚本需要在jobtracker机器上运行。



你可能感兴趣的:(大数据)