我正在使用apache点燃hadoop加速器用于apache hadoop。 当我在〜/ .bashrc文件中使用此配置时,ignite.sh工作正常,但hadoop不起作用并显示错误。
错误:无法找到或加载主类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 node stopped OK [uptime=00:00:02:626]
java.lang.NoClassDefFoundError: org/apache/hadoop/fs/FSDataOutputStream
我也尝试过制作软链接但没有用。告诉我,如果我遗失了什么。
答案 0 :(得分:0)
异常意味着Ignite节点在类路径上没有Hadoop库。请参阅Hadoop Accelerator安装说明:https://apacheignite-fs.readme.io/docs/installing-on-apache-hadoop
答案 1 :(得分:0)
通常(对于Apache,Hortonworks,Cloudera等标准发行版)Ignite仅根据HADOOP_HOME环境变量值猜测所有Hadoop库位置,因此,通常不需要明确指定HADOOP_COMMON_HOME,HADOOP_HDFS_HOME,HADOOP_MAPRED_HOME。但是,如果您正在使用某些特定的Hadoop ditribution布局,则可以指定这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.