Apache Hadoop 加速器-ignite 环境变量设置

Apache Hadoop accelerator -ignite environment variable setup

我正在为 apache hadoop 使用 apache ignite hadoop 加速器。 当我在 ~/.bashrc 文件中使用此配置时 ignite.sh 工作正常但 hadoop 不工作并显示错误。

Error: Could not find or load main class org.apache.hadoop.util.VersionInfo

export HADOOP_PREFIX=/app/hadoop 
export HADOOP_HOME=$HADOOP_PREFIX
export HADOOP_COMMON_HOME=$HADOOP_HOME/share/hadoop/common
export HADOOP_CONF_DIR=$HADOOP_PREFIX/etc/hadoop
export HADOOP_HDFS_HOME=$HADOOP_PREFIX
export HADOOP_MAPRED_HOME=/app/hadoop/share/hadoop/mapreduce
export HADOOP_YARN_HOME=$HADOOP_PREFIX
export PATH=$PATH:$HADOOP_PREFIX/sbin:$HADOOP_PREFIX/bin

export IGNITE_HOME=/app/ignite2/apache-ignite-hadoop-1.9.0-bin

我尝试更改设置。

export HADOOP_PREFIX=/app/hadoop
export HADOOP_HOME=$HADOOP_PREFIX
export HADOOP_COMMON_HOME=$HADOOP_PREFIX
export HADOOP_CONF_DIR=$HADOOP_PREFIX/etc/hadoop
export HADOOP_HDFS_HOME=$HADOOP_PREFIX
export HADOOP_MAPRED_HOME=$HADOOP_PREFIX 
export HADOOP_YARN_HOME=$HADOOP_PREFIX
export PATH=$PATH:$HADOOP_PREFIX/sbin:$HADOOP_PREFIX/bin

然后 hadoop 工作正常但 ignite 显示错误

Ignite node stopped OK [uptime=00:00:02:626]
java.lang.NoClassDefFoundError: org/apache/hadoop/fs/FSDataOutputStream

我也试过做软链接,但是没有成功。如果我遗漏了什么,请告诉我。

异常意味着 Ignite 节点在类路径上没有 Hadoop 库。请参考Hadoop加速器安装说明:https://apacheignite-fs.readme.io/docs/installing-on-apache-hadoop

通常(对于 Apache、Hortonworks、Cloudera 等标准发行版)Ignite 仅根据 HADOOP_HOME 环境变量值猜测所有 Hadoop 库位置,因此通常不需要指定 HADOOP_COMMON_HOME, HADOOP_HDFS_HOME, HADOOP_MAPRED_HOME 明确。但是,如果您正在使用一些特定的 Hadoop 分布布局,您可以指定这 3 个变量,在这种情况下,它们且只有它们将用于定位 Hadoop 库。如果您的 Hadoop 发行版需要这些变量的值,这与 Ignite 所需的值相矛盾,您可能必须为 Hadoop 和 Ignite 节点进程使用不同的环境。

Ignite 将使用与上述 3 个值相关的以下库:

${HADOOP_COMMON_HOME}/lib/*
${HADOOP_COMMON_HOME}/hadoop-common-*
${HADOOP_COMMON_HOME}/hadoop-auth-*

${HADOOP_HDFS_HOME}/lib/*
${HADOOP_HDFS_HOME}/hadoop-hdfs-*

${HADOOP_MAPRED_HOME}/lib/*
${HADOOP_MAPRED_HOME}/hadoop-mapreduce-client-common*
${HADOOP_MAPRED_HOME}/hadoop-mapreduce-client-core*

+ ${HADOOP_USER_LIBS}, if defined.