java - 如何在 hadoop-env.sh 中为 hadoop 守护进程单独定义内存

标签 java hadoop

据我所知,hadoop-env.sh 是 hadoop 守护进程设置环境的配置文件。在这个文件中,我如何定义 HADOOP_HEAPSIZE 是为守护进程定义堆大小的属性。这是否意味着它适用于所有守护进程,如名称节点、数据节点、任务跟踪器、作业跟踪器和辅助名称节点,每台机器都将占用 1000 MB 内存。如果是,那么我怎样才能让每一个都不同。

我在 hadoop-env.sh 中观察了以下几个条目

export HADOOP_NAMENODE_OPTS="-Dcom.sun.management.jmxremote $HADOOP_NAMENODE_OPTS"
export HADOOP_SECONDARYNAMENODE_OPTS="-Dcom.sun.management.jmxremote $HADOOP_SECONDARYNAMENODE_OPTS"
export HADOOP_DATANODE_OPTS="-Dcom.sun.management.jmxremote $HADOOP_DATANODE_OPTS"
export HADOOP_BALANCER_OPTS="-Dcom.sun.management.jmxremote $HADOOP_BALANCER_OPTS"
export HADOOP_JOBTRACKER_OPTS="-Dcom.sun.management.jmxremote $HADOOP_JOBTRACKER_OPTS"

这些条目是否为每个守护进程单独分配内存,如果是,那么什么是 -Dcom.sub.management.jmxremote 据我所知,java 堆内存分配的语法类似于 -Xmxm

任务跟踪器也在这里。什么是 Balancer。

最佳答案

-Dcom.sun.management.jmxremote 用于允许JMX 客户端访问。 http://docs.oracle.com/javase/7/docs/technotes/guides/management/agent.html

是的,您在问题中列出的选项在分别启动这些守护进程时用作 JVM 选项。所以 HADOOP_NAMENODE_OPTS 在名称节点守护进程启动时使用,HADOOP_DATANODE_OPTS 在数据节点守护进程启动时使用,等等。您可以向具有不同值的变量添加“-Xmx”选项,这样不同类型的守护进程将具有不同的堆大小。

关于java - 如何在 hadoop-env.sh 中为 hadoop 守护进程单独定义内存,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25419140/

相关文章:

python - Hadoop 返回的结果少于预期

hadoop - 如何在 hadoop 的默认 Linerecordreader 中设置值

java - 当我在 Mac OX 10.10 上使用 IntelliJ IDEA 14 构建 scala 项目时出现问题

java - FXML 文件中的 For 循环 ||如何将数据从 Controller 发送到 fxml 文件?

hadoop - 创建了多少映射器类实例?

sql - 在 Hive 中将单行列拆分为多列

java - Maven 依赖插件试图加载不存在的类 'org.apache.maven.plugin.dependency.fromConfiguration.Artifact'

java - 如何在 android 中创建这个嵌套的 JSON 对象并在 c# 中对其进行解码?

java - 如何在BoxLayout中的JButton之间添加垂直空间?

Hadoop 2.6.0 - 在运行启动脚本时询问用户密码?