[Hadoop学习笔记 3] Hadoop踩坑实录(Eclipse OpenJ9)

现在的 Eclipse OpenJ9IBM 发起,并开源捐赠给了 Eclipse 基金会,这个 JVM 致力于构建一个内存使用更小、启动速度更快且更高吞吐量的 Java 虚拟机,但使用此 JVMJDK 在部署 Hadoop 伪分布式和完全分布式会出现问题

一、初次尝试踩坑

为了节约内存,本狼尝试使用 Eclipse OpenJ9 作为 JVMIBM Semeru Runtime 8 作为 JDK,但启动时却出现了 unable to find LoginModule class: com.ibm.security.auth.module.LinuxLoginModule,的错误

其实要解决也相对比较简单,可以修改 Hadoop 源码,在 Hadoop 启动之前执行

System.setProperty("java.vendor", "International Business Machines Corporation");

二、更为简单的解决方案

除了修改源码,还可以通过 javaagentHadoop 启动前执行上文的语句,先编写好类,此处的示例类名为 SetVendor

public class SetVendor {
  public static void premain(String args) {
    System.setProperty("java.vendor", "International Business Machines Corporation");
  }
}

自行编译成 javaagent 即可
也可从 Github 中下载现成的 javaagent
setvendor8.zip

三、配置Hadoop启动参数

先前介绍了使用 Oracle JDK 8Hadoop 伪分布式和完全分布式部署,本文不再过多赘述配置内容

[Hadoop学习笔记 1] Hadoop伪分布式环境部署(OpenSUSE 15.6 + Oracle JDK 8)

[Hadoop学习笔记 2] Hadoop完全分布式环境部署(OpenSUSE 15.6 + Oracle JDK 8 + Docker)

若自行编译或下载 javaagent 则需额外修改配置文件内容,本文将把此 javaagent 放置到 $JAVA_HOME 目录下,请根据自身实际情况调整路径

修改 $HADOOP_HOME/etc/hadoop/hadoop-env.sh
找到行

export HADOOP_OPTS="$HADOOP_OPTS -Djava.net.preferIPv4Stack=true"

添加 -javaagent:$JAVA_HOME/setvendor8.zip

export HADOOP_OPTS="$HADOOP_OPTS -Djava.net.preferIPv4Stack=true -javaagent:$JAVA_HOME/setvendor8.zip"

修改 $HADOOP_HOME/etc/hadoop/yarn-env.sh
找到行

YARN_OPTS="$YARN_OPTS -Dhadoop.log.dir=$YARN_LOG_DIR"

修改为

YARN_OPTS="$YARN_OPTS -javaagent:$JAVA_HOME/setvendor8.zip -Dhadoop.log.dir=$YARN_LOG_DIR"

我的环境变量 $JAVA_HOME 的值为 /opt/softln/java ,请根据实际修改
此时 MapReduce 还不能正常运行,修改 $HADOOP_HOME/etc/hadoop/mapred-site.xml
<configuration> 标签中添加

    <property>
        <name>mapred.child.java.opts</name>
        <value>-javaagent:/opt/softln/java/setvendor8.zip</value>
    </property>
    <property>
        <name>yarn.app.mapreduce.am.command-opts</name>
        <value>-javaagent:/opt/softln/java/setvendor8.zip</value>
    </property>
    <property>
        <name>yarn.app.mapreduce.am.admin-command-opts</name>
        <value>-javaagent:/opt/softln/java/setvendor8.zip</value>
    </property>

四、相关链接

IBM Semeru Runtime Downloads

Eclipse OpenJ9

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值