我希望为使用java的hadoop框架启用usenuma标志。问题是我不知道hadoop框架调用了哪个allplacejava命令。因此,我在中为java命令编写了别名 /etc/bash.bashrc 作为
/etc/bash.bashrc
alias java='java -XX:+UseNUMA'
这样做对吗?我怎么知道旗子是否打开了?我的意思是你可以用下面的命令来检查
# java -XX:+PrintFlagsFinal | grep UseNUMA
但是如何检查hadoop是否在使用它呢?
kx7yvsdv1#
在bashrc中创建别名是没有用的。hadoop使用环境变量javahome来定位javahome,java命令取自路径${javahome}/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、yarn、mapred等co时,使用以下环境变量启用相同的功能
export HADOOP_OPTS="-XX:+UseNUMA"
为了检查标志是否启用,可以使用以下命令。
ps aux | grep hadoop
1条答案
按热度按时间kx7yvsdv1#
在bashrc中创建别名是没有用的。hadoop使用环境变量javahome来定位javahome,java命令取自路径${javahome}/bin/java。因此,即使您在.bashrc中创建别名,也没有用。
要在hadoop守护进程启动期间指定jvm标志,请使用配置文件/hadoop-env.sh在环境变量中指定标志。
在客户端执行hadoop、yarn、mapred等co时,使用以下环境变量启用相同的功能
为了检查标志是否启用,可以使用以下命令。