hadoop-集群管理(4)——关键属性
2013-03-08 15:27
471 查看
hadoop中的配置属性非常多,这里只讨论关键属性,它们分散在3个文件中:core-site.xml、hdfs-site.xml、mapred-site.xml。
1. core-site.xml
<configuration>
<property>
<name>fs.default.name</name>
<value>hdfs://Route:9000</value>
<final>true</final>
</property>
</configuration>
运行HDFS需要指定一台机器为namenode,通过参数 fs.default.name 来设置。它还指定了文件系统为HDFS。
2. hdfs-site.xml
<configuration>
<property>
<name>dfs.replication</name>
<value>2</value>
</property>
<property>
<name>dfs.name.dir</name>
<value>/home/tianyc/hadoop-1.0.4/dir_namenode/dir1,/home/tianyc/hadoop-1.0.4/dir_namenode/dir2</value>
</property>
<property>
<name>dfs.data.dir</name>
<value>/home/tianyc/hadoop-1.0.4/dir_datanode/dir1,/home/tianyc/hadoop-1.0.4/dir_datanode/dir2</value>
</property>
<property>
<name>dfs.checkpoint.dir</name>
<value>/home/tianyc/hadoop-1.0.4/dir_secondarynamenode/dir1,/home/tianyc/hadoop-1.0.4/dir_secondarynamenode/dir2</value>
</property>
</configuration>
dfs.replication:确定数据块被复制的份数。
dfs.name.dir:指定一系列目录来供namenode存储永久性的文件系统元数据(编辑日志和文件系统映像),这些元数据文件会同时备份在所有指定的目录中,形成冗余。建议指定一个本地磁盘目录,指定一个远程磁盘目录(例如NFS挂载磁盘),这样本地磁盘故障或namenode节点宕机后,都可以恢复并重构新的namenode。注意secondrynamenode只是定期保存namenode的检查点,并不提供namenode的最新备份。
dfs.data.dir:指定datanode存储数据的一系列目录。注意这里不是为了冗余,而是循环地在各个目录中写数据。因此,为了提高性能,最好分别为各个本地磁盘指定一个存储目录,使得数据块跨磁盘分布。这样,针对不同数据块的读操作可以并发执行,从而提升读性能。另一个显著提升的操作是在mount这些磁盘时,使用noatime选项,使得不刷新所读文件的最新访问时间。
dfs.checkpoint.dir:指定一系列目录来存储secondarynamenode的检查点映像文件。与namenode相同,这里的一系列目录也是为了冗余。
注意:如果不设置这些属性,HDFS的存储目录默认存放在hadoop的临时目录中(由core-site.xml文件中的 Hadoop.tmp.dir属性指定)。而如果清除了系统的临时目录,数据就会丢失。Hadoop.tmp.dir 属性的参考设置如下:
[tianyc@Route bin]$ cat ../conf/core-site.xml
<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<!-- Put site-specific property overrides in this file. -->
<configuration>
<property>
<name>fs.default.name</name>
<value>hdfs://Route:9000</value>
</property>
<property>
<name>Hadoop.tmp.dir</name>
<value>/tmp/hadoop-tianyc</value>
</property>
</configuration>
3. mapred-site.xml
<configuration>
<property>
<name>mapred.job.tracker</name>
<value>Route:9001</value>
<final>true</final>
</property>
<property>
<name>mapred.local.dir</name>
<value>/home/tianyc/hadoop-1.0.4/dir_local/dir1,/home/tianyc/hadoop-1.0.4/dir_local/dir2</value>
</property>
<property>
<name>mapred.system.dir</name>
<value>/tmp/hadoop-tianyc/dir_system</value>
</property>
<property>
<name>mapred.tasktracker.map.tasks.maximum</name>
<value>2</value>
</property>
<property>
<name>mapred.tasktracker.reduce.tasks.maximum</name>
<value>2</value>
</property>
<property>
<name>mapred.child.java.opts</name>
<value>-Xmx200m</value>
</property>
</configuration>
mapred.job.tracker:指定jobtracker节点。这里不是URL格式,而是“主机:端口”格式。
mapred.local.dir:临时本地文件的一系列目录,存储mapreduce作业执行过程中产生的中间数据和工作文件。由于这里也存储map任务的输出数据,数据量可能非常大,因此必须保证这里的容量足够大。这些目录最好分散到各个本地磁盘以提升I/O,通常会使用与datanode相同的磁盘和分区(但不同目录)。
mapred.system.dir:指定一个目录,来存储运行mapreduce任务的各个tasktracker的共享文件(例如作业JAR文件)。
mapred.tasktracker.map.tasks.maximum:最大map任务数。
mapred.tasktracker.reduce.tasks.maximum:最大reduce任务数。
mapred.child.java.opts:tasktracker中子JVM的有效内存大小。
1. core-site.xml
<configuration>
<property>
<name>fs.default.name</name>
<value>hdfs://Route:9000</value>
<final>true</final>
</property>
</configuration>
运行HDFS需要指定一台机器为namenode,通过参数 fs.default.name 来设置。它还指定了文件系统为HDFS。
2. hdfs-site.xml
<configuration>
<property>
<name>dfs.replication</name>
<value>2</value>
</property>
<property>
<name>dfs.name.dir</name>
<value>/home/tianyc/hadoop-1.0.4/dir_namenode/dir1,/home/tianyc/hadoop-1.0.4/dir_namenode/dir2</value>
</property>
<property>
<name>dfs.data.dir</name>
<value>/home/tianyc/hadoop-1.0.4/dir_datanode/dir1,/home/tianyc/hadoop-1.0.4/dir_datanode/dir2</value>
</property>
<property>
<name>dfs.checkpoint.dir</name>
<value>/home/tianyc/hadoop-1.0.4/dir_secondarynamenode/dir1,/home/tianyc/hadoop-1.0.4/dir_secondarynamenode/dir2</value>
</property>
</configuration>
dfs.replication:确定数据块被复制的份数。
dfs.name.dir:指定一系列目录来供namenode存储永久性的文件系统元数据(编辑日志和文件系统映像),这些元数据文件会同时备份在所有指定的目录中,形成冗余。建议指定一个本地磁盘目录,指定一个远程磁盘目录(例如NFS挂载磁盘),这样本地磁盘故障或namenode节点宕机后,都可以恢复并重构新的namenode。注意secondrynamenode只是定期保存namenode的检查点,并不提供namenode的最新备份。
dfs.data.dir:指定datanode存储数据的一系列目录。注意这里不是为了冗余,而是循环地在各个目录中写数据。因此,为了提高性能,最好分别为各个本地磁盘指定一个存储目录,使得数据块跨磁盘分布。这样,针对不同数据块的读操作可以并发执行,从而提升读性能。另一个显著提升的操作是在mount这些磁盘时,使用noatime选项,使得不刷新所读文件的最新访问时间。
dfs.checkpoint.dir:指定一系列目录来存储secondarynamenode的检查点映像文件。与namenode相同,这里的一系列目录也是为了冗余。
注意:如果不设置这些属性,HDFS的存储目录默认存放在hadoop的临时目录中(由core-site.xml文件中的 Hadoop.tmp.dir属性指定)。而如果清除了系统的临时目录,数据就会丢失。Hadoop.tmp.dir 属性的参考设置如下:
[tianyc@Route bin]$ cat ../conf/core-site.xml
<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<!-- Put site-specific property overrides in this file. -->
<configuration>
<property>
<name>fs.default.name</name>
<value>hdfs://Route:9000</value>
</property>
<property>
<name>Hadoop.tmp.dir</name>
<value>/tmp/hadoop-tianyc</value>
</property>
</configuration>
3. mapred-site.xml
<configuration>
<property>
<name>mapred.job.tracker</name>
<value>Route:9001</value>
<final>true</final>
</property>
<property>
<name>mapred.local.dir</name>
<value>/home/tianyc/hadoop-1.0.4/dir_local/dir1,/home/tianyc/hadoop-1.0.4/dir_local/dir2</value>
</property>
<property>
<name>mapred.system.dir</name>
<value>/tmp/hadoop-tianyc/dir_system</value>
</property>
<property>
<name>mapred.tasktracker.map.tasks.maximum</name>
<value>2</value>
</property>
<property>
<name>mapred.tasktracker.reduce.tasks.maximum</name>
<value>2</value>
</property>
<property>
<name>mapred.child.java.opts</name>
<value>-Xmx200m</value>
</property>
</configuration>
mapred.job.tracker:指定jobtracker节点。这里不是URL格式,而是“主机:端口”格式。
mapred.local.dir:临时本地文件的一系列目录,存储mapreduce作业执行过程中产生的中间数据和工作文件。由于这里也存储map任务的输出数据,数据量可能非常大,因此必须保证这里的容量足够大。这些目录最好分散到各个本地磁盘以提升I/O,通常会使用与datanode相同的磁盘和分区(但不同目录)。
mapred.system.dir:指定一个目录,来存储运行mapreduce任务的各个tasktracker的共享文件(例如作业JAR文件)。
mapred.tasktracker.map.tasks.maximum:最大map任务数。
mapred.tasktracker.reduce.tasks.maximum:最大reduce任务数。
mapred.child.java.opts:tasktracker中子JVM的有效内存大小。
相关文章推荐
- Hadoop的集群数据、mapreduce管理及安全机制介绍
- Cloudera Hadoop 4 实战课程(Hadoop 2.0、集群界面化管理、电商在线查询+日志离线分析)
- 利用eclipse管理Hadoop集群文件系统
- Hadoop (CDH4发行版)集群部署 (部署脚本,namenode高可用,hadoop管理)
- Linux7 下Hadoop集群用户管理方案之四 CDH集成Kerberos
- hadoop集群管理之 SecondaryNameNode和NameNode
- nginx反向代理hadoop集群管理页面
- hadoop集群管理之统一执行
- hadoop集群管理之文件分发
- 虚拟化Hadoop集群的部署和管理 - 基本操作
- Ambari (Apache Hadoop集群的供应、管理和监控的web工具) 基本概念
- 使用Cloudera部署,管理Hadoop集群
- 第128讲:Hadoop集群管理工具dfsadmin实战详解学习笔记
- 第131讲:Hadoop集群管理工具均衡器Balancer 实战详解学习笔记
- Hadoop (CDH4发行版)集群部署 (部署脚本,namenode高可用,hadoop管理)
- Hadoop (CDH4发行版)集群部署 (部署脚本,namenode高可用,hadoop管理) 推荐
- 管理Hadoop集群的5大工具
- hadoop-集群管理(2)——内存设置
- Hadoop集群管理命令
- 管理 Hadoop 集群的5大工具