2014-04-10 61 views
0

我希望爲我的hadoop框架啓用UseNUMA標誌,它使用java。爲Hadoop啓用UseNUMA標誌?

問題是我不知道哪個地方的java命令被hadoop框架調用過。

所以,我在/etc/bash.bashrc書面java命令別名

alias java='java -XX:+UseNUMA' 

是它做的正確方法?

我如何知道該標誌是否打開?我的意思是可以檢查此使用以下命令

# java -XX:+PrintFlagsFinal | grep UseNUMA 

但如何,如果Hadoop是使用它或不檢查?

回答

0

在bashrc中創建別名不會有用。 Hadoop使用環境變量JAVA_HOME定位java home,java命令取自路徑$ {JAVA_HOME}/bin/java。所以即使你在你的.bashrc中創建了一個別名,也是無用的。

要在hadoop守護進程啓動期間指定JVM標誌,請使用配置文件/hadoop-env.sh指定環境變量中的標誌。

export HADOOP_NAMENODE_OPTS="-XX:+UseNUMA -Dcom.sun.management.jmxremote $HADOOP_NAMENODE_OPTS" 
export HADOOP_SECONDARYNAMENODE_OPTS="-XX:+UseNUMA -Dcom.sun.management.jmxremote $HADOOP_SECONDARYNAMENODE_OPTS" 
export HADOOP_DATANODE_OPTS="-XX:+UseNUMA -Dcom.sun.management.jmxremote $HADOOP_DATANODE_OPTS" 
export HADOOP_BALANCER_OPTS="-XX:+UseNUMA -Dcom.sun.management.jmxremote $HADOOP_BALANCER_OPTS" 
export HADOOP_JOBTRACKER_OPTS="-XX:+UseNUMA -Dcom.sun.management.jmxremote $HADOOP_JOBTRACKER_OPTS" 

在執行Hadoop等,紗線共同啓用在客戶端側的相同,mapred使用下列環境變量

export HADOOP_OPTS="-XX:+UseNUMA" 

爲了檢查該標誌被啓用與否,可以使用下面的命令。

ps aux | grep hadoop