为hadoop启用java usenuma标志?

eh57zj3b  于 2021-06-03  发布在  Hadoop
关注(0)|答案(1)|浏览(362)

我希望为使用java的hadoop框架启用usenuma标志。
问题是我不知道hadoop框架调用了哪个allplacejava命令。
因此,我在中为java命令编写了别名 /etc/bash.bashrc 作为

alias java='java -XX:+UseNUMA'

这样做对吗?
我怎么知道旗子是否打开了?我的意思是你可以用下面的命令来检查


# java -XX:+PrintFlagsFinal | grep UseNUMA

但是如何检查hadoop是否在使用它呢?

kx7yvsdv

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

相关问题