据我所知hadoop-env.sh是hadoop守护进程的设置环境的配置文件.在此文件中,如何定义HADOOP_HEAPSIZE是为守护进程定义堆大小的属性.是否意味着它适用于所有守护进程,如namenode,datanode,任务跟踪器,作业跟踪器和辅助名称节点,每台机器上都需要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堆内存分配的语法就像-Xmx <size> m.
此外,在这里是任务跟踪器.什么是Balancer.
小智 1
-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”选项,这样不同类型的守护进程将具有不同的堆大小。
归档时间: |
|
查看次数: |
810 次 |
最近记录: |