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.
我正在为 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.