通过把一部分log已经迁移到Hadoop集群上
并由Hive来执行相关的查询
hadoop中默认的mapred.tasktracker.map.tasks.maximum设置是2
也即:每一个tasktracker同时运行的map任务数为2
照此默认设置,查询80天某用户的操作日志,耗时5mins, 45sec
经过测试,发现将mapred.tasktracker.map.tasks.maximum设置为节点的cpu cores数目减1比较合适
此时的运行效率最高,大概花费3mins, 25sec
我们现在的机器都是8核的,所以最终配置如下:
<property>
<name>mapred.tasktracker.map.tasks.maximum</name>
<value>8</value>
<description>The maximum number of map tasks that will be run simultaneously by a task tracker.
</description>
</property>
对于mapred.map.tasks(每个job的map任务数)值,hadoop默认值也为2
可以在执行hive前,通过set mapred.map.tasks=24来设定
但由于使用hive,会操作多个input文件,所以hive默认会把map的任务数设置成输入的文件数目
即使你通过set设置了数目,也不起作用…
对于mapred.reduce.tasks(每个job的reduce任务数)值,hadoop默认值也为2,最好设为配置参数,你想实现的分块数目。
转帖来自:http://www.tech126.com/category/hadoop-2/
如果mapred.tasktracker.map.tasks.maximum 的设置超过 cpu cores数目。
则在执行过程中会出现异常:
10/12/30 10:43:51 INFO mapred.JobClient: Task Id : attempt_201012300937_0001_m_000032_1, Status : FAILED
java.io.IOException: Could not obtain block: blk_-462377779899911007_1022 file=/user/asr/in-again/blog.20101213.5gram
相关推荐
- `mapred.tasktracker.{map|reduce}.tasks.maximum`:定义TaskTracker上同时运行的最大Map或Reduce任务数量。 6. **日志管理**: - `HADOOP_LOG_DIR`:设置守护进程的日志文件存放目录,如果不存在,会自动创建...
2. `mapred.tasktracker.map.tasks.maximum`和`mapred.tasktracker.reduce.tasks.maximum`分别设置了每个TaskTracker可以并行运行的Map任务和Reduce任务的最大数量,这里分别是50和10。 3. `mapred.map.child.java....
##### 3.7 mapred.tasktracker.{map|reduce}.tasks.maximum **定义**:限制 TaskTracker 上同时运行的最大 Map 或 Reduce 任务数。 **描述**:默认值为 2,可根据实际情况调整以优化资源利用。 ##### 3.8 dfs.hosts...
MapReduce的性能很大程度上取决于配置参数,例如`mapred.map.tasks`和`mapred.reduce.tasks`分别控制Map和Reduce任务的数量。通过合理调整这些参数,可以优化数据处理效率,避免资源浪费或瓶颈。 总结,MapReduce的...
一个TaskTracker可以有多个mapslot和reduceslot,具体数量由参数mapred.tasktracker.[map|reduce].tasks.maximum配置。这些slot资源被调度器用来分配给不同作业中的任务。 Hadoop的三级调度策略包括:队列、作业和...
| pMaxMapsPerNode | mapred.tasktracker.map.tasks.max | 2 | 单节点最大 Map 任务数 | | pMaxRedPerNode | mapred.tasktracker.reduce.tasks.max | 2 | 单节点最大 Reduce 任务数 | | pNumMappers | mapred.map....
4. **MapReduce参数调整**:例如,调整`mapred.tasktracker.map.tasks.maximum`和`mapred.tasktracker.reduce.tasks.maximum`,平衡Map和Reduce任务的数量。 5. **输入输出格式优化**:选择合适的输入输出格式,如...
- 调整 MapReduce 参数:如 mapred.tasktracker.map.tasks.maximum 和 mapred.tasktracker.reduce.tasks.maximum,以适应集群资源。 - 使用 YARN:YARN 提供更好的资源管理和调度,提高集群整体性能。 - 内存设置...
- mapred.tasktracker.reduce.tasks.maximum:MapReduce中每个任务追踪器可运行的最大reduce任务数量。 - dfs.data.dir:HDFS的数据节点存储数据的目录列表。 8. HDFS监控项含义: - Configured Capacity:HDFS...
4. 配置优化:学习如何调整各种配置参数,如mapred.map.tasks、mapred.reduce.tasks等,以适应不同规模的数据和集群环境。 5. Job的提交和监控:掌握如何提交作业,以及通过命令行工具或Web UI监控作业状态和进度。 ...
5. 内存调优:调整Hive的内存参数,如mapred.tasktracker.map.tasks.maximum和hive.exec.memory.per.node,提高任务执行效率。 七、Hive与Spark集成 随着Spark的流行,Hive也提供了与Spark的集成,允许用户使用...
- 配置Eclipse中的Hadoop插件,包括设置Hadoop安装路径、JDK路径等。 - 创建一个新的MapReduce项目,选择合适的模板,如WordCount示例。 ##### 3.3 建立MapReduce工程 - 在Eclipse中创建新的MapReduce工程,编写...
3. **配置调优**:根据集群资源和任务特性调整Hive的配置参数,如mapred.tasktracker.map.tasks.maximum、hive.exec.parallel等。 四、Hive简易版思维导图 这个思维导图可能包含了Hive的基本概念、重要组件、查询...
- MapReduce参数调优:如io.sort.mb、mapred.tasktracker.map.tasks.maximum等,根据实际环境调整。 本教程“Hadoop Map+Reduce”将详细阐述这些概念,通过实例讲解如何编写和运行MapReduce程序,帮助Java开发者...
`mapred-site.xml`文件用于配置MapReduce作业的相关参数,比如JobTracker和TaskTracker的位置、作业的内存分配(`mapreduce.map.memory.mb`和`mapreduce.reduce.memory.mb`),以及任务的并行度(`mapreduce.map....