- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
是否可以配置 cgroups
或 Hadoop,使 TaskTracker 生成的每个进程都分配给特定的 cgroup?
我想使用 cgroups
强制执行内存限制。可以将 cgroup 分配给 TaskTracker,但如果作业造成严重破坏,TaskTracker 也可能会被 oom-killer
杀死,因为它们在同一组中。
假设我的机器有 8GB 内存。我想为 DataNode 和系统实用程序保留 1.5GB,让 Hadoop TaskTracker 使用 6.5GB 内存。现在,我在生成 4 个映射器和 2 个缩减器(理论上每个都可以使用 1GB RAM)时使用流式 API 开始一个作业,它占用的内存比允许的多。现在 cgroup
内存限制将被命中并且 oom-killer 开始杀死一个工作。我宁愿为每个 Map 和 Reduce 任务使用一个 cgroup,例如限制为 1GB 内存的 cgroup
。
这是一个真实的还是理论上的问题? oom-killer
真的会杀死 Hadoop TaskTracker 还是他会首先开始杀死 fork 的进程?如果后者在大多数情况下是正确的,我的想法可能会奏效。如果不是——一个糟糕的工作仍然会杀死所有集群机器上的 TaskTracker 并需要手动重启。
使用 cgroups 时还有什么要注意的吗?
最佳答案
您是否查看了允许为 tasktracker 的子进程(任务)设置和最大化堆分配的 hadoop 参数,并且不要忘记查看 jvm 重用的可能性。
有用的链接:
http://allthingshadoop.com/2010/04/28/map-reduce-tips-tricks-your-first-real-cluster/
http://developer.yahoo.com/hadoop/tutorial/module7.html
How to avoid OutOfMemoryException when running Hadoop?
http://www.quora.com/Why-does-Hadoop-use-one-JVM-per-task-block
关于linux - Hadoop:将 cgroups 用于 TaskTracker 任务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15103046/
我在某些网站上发现了以下问题,但我不确定正确答案。 Which Hadoop service in a MapReduce program spawns a new Mapper? JobTracke
我想打开tasktracker的web/ui。 localhost:50030/jobtracker.jsp但它不起作用,因为没有正在运行的 tasktracker。我的 hadoop 应用程序在没有
我正在使用hadoop1.2.1。我需要/ hadoop-installation-directory / logs / userlogs / job- / attemp- / stdout中的std
我看到我们可以设置每个 tasktracker 的 map/reduce 任务数量,但我如何设置集群中每个节点的 tasktracker 数量? 如何关闭安全性以便我可以在每个节点上运行多个 task
您好,我正在使用 OozieClient API。我需要使用 OozieClient API 检索特定工作流作业的任务跟踪器日志。如果不使用 OozieClient API,使用程序的任何其他方式也可
当我发出命令时 for service in /etc/init.d/hadoop* >do >sudo $service stop >done its stops all the service 当
我是 Hadoop 的新手,我有以下关于 Hadoop 框架的问题。有人可以指导吗? DataNode 和 TaskTracker 是否物理上位于生产环境中的不同机器上? Hadoop 何时将文件拆分
我阅读了有关 Apache Hadoop 的信息。他们说在HDFS中,任务是任意进程,即mapper或者reducer。他们一起称为工作。 它们有两个东西,JOBTRACKER 和 TASKTRACK
我可以启动 namenode 和辅助 namenode,但无法启动 jobtracker 和 tasktracker。 当我检查日志时,它显示这样的内容 ***********************
我已经成功安装了 ubuntu 12.04 和 hadoop 2.3.0。 输入jps命令后,我发现输出如下 4135 jps 2582 SeconadaryNameNode 3143 NodeMan
我有 5 个节点的 hadoop 集群。我为每个节点配置了 10 个映射器。当 MR 作业正在运行时,其中一个 hdfs 节点死亡。这最终导致该任务跟踪器被列入黑名单。在它被列入黑名单之后和 MR 作
根据 TaskTracker Hadoop Wiki page ,TaskTracker 生成一个新的 JVM 来完成它正在跟踪的实际工作。然而,页面中有一个拼写错误,不清楚 TaskTracker
我在 Windows 7 下的 cygwin 上设置了 hadoop 1.1.1。dfs 组件启动正常(start-dfs.sh 或 start-all.sh 两者),jobtracker 也是如此(
我已经按照教程说明设置了一个伪分布式 Hadoop 集群(jobtracker、tasktracker 和 namenode 都在同一个盒子上)并且运行良好。我现在正尝试将第二个节点作为另一个 tas
我正在运行安装了 Hadoop 1.1.2 的 Red Hat Enterprise Linux Server 6.4 (Santiago) 发行版。我已经进行了必要的配置以启用伪分布式模式。但是在尝
最近,我用三台计算机配置了hadoop平台:一个用于namenode / jobtracker。另外两个是用于tasktracker的,计算机名称是gp和ls-ubuntu。但是问题是当我想从网页中搜
我在 Ubuntu 11.10 上运行 Hadoop 1.0.1。 ./bin/start-all.sh 命令不会提示任何错误,但 TaskTracker 无法启动,并在 tasktracker.lo
我有一个包含 5 个数据节点的 Hadoop 集群 (Cloudera CDH4.2)。我正在尝试运行创建 HBaseConfiguration 对象的 MapReduce 作业。 tasktrack
是否可以配置 cgroups 或 Hadoop,使 TaskTracker 生成的每个进程都分配给特定的 cgroup? 我想使用 cgroups 强制执行内存限制。可以将 cgroup 分配给 Ta
我正在关注 http://ebiquity.umbc.edu/Tutorials/Hadoop/00%20-%20Intro.html 通过执行在第一个窗口中启动namenodecd hadoop-0
我是一名优秀的程序员,十分优秀!