Java 如何在hadoop-env.sh中分别为hadoop守护进程定义内存

Java 如何在hadoop-env.sh中分别为hadoop守护进程定义内存,java,hadoop,Java,Hadoop,据我所知,hadoop-env.sh是hadoop守护进程的环境设置配置文件。在这个文件中如何定义HADOOP\u HEAPSIZE是为守护进程定义堆大小的属性。这是否意味着它将适用于所有守护进程,如namenode、datanode、task tracker、job tracker和secondary namenode,它们在每台机器上都将占用1000 mb内存。如果是,那么我如何才能使每一个不同 我在hadoop-env.sh中看到了以下几个条目 export HADOOP_NAMENODE

据我所知,hadoop-env.sh是hadoop守护进程的环境设置配置文件。在这个文件中如何定义HADOOP\u HEAPSIZE是为守护进程定义堆大小的属性。这是否意味着它将适用于所有守护进程,如namenode、datanode、task tracker、job tracker和secondary namenode,它们在每台机器上都将占用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" 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” 导出HADOOP\u BALANCER\u OPTS=“-Dcom.sun.management.jmxremote$HADOOP\u BALANCER\u OPTS” 导出HADOOP_JOBTRACKER_OPTS=“-Dcom.sun.management.jmxremote$HADOOP_JOBTRACKER_OPTS” 这些条目是否分别为每个守护进程分配内存,如果是,那么-Dcom.sub.management.jmxremote是什么?据我所知,java堆内存分配的语法类似于-Xmxm


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

-Dcom.sun.management.jmxremote用于允许JMX客户端访问。

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