Я установил Hadoop 3.1.1, и он работает.Однако, когда я пытаюсь скомпилировать пример WordCount, я получаю эту ошибку:
/usr/local/hadoop/libexec/hadoop-functions.sh: line 2358: HADOOP_COM.SUN.TOOLS.JAVAC.MAIN_USER: bad substitution
/usr/local/hadoop/libexec/hadoop-functions.sh: line 2453: HADOOP_COM.SUN.TOOLS.JAVAC.MAIN_OPTS: bad substitution
Для компиляции я использовал следующую строку:
hadoop com.sun.tools.javac.Main WordCount.java
У меня есть следующие переменные в.bashrc:
#Hadoop variables
export HADOOP_HOME=/usr/local/hadoop
export CONF=$HADOOP_HOME/etc/hadoop
export PATH=$PATH:$HADOOP_HOME/bin
export PATH=$PATH:$HADOOP_HOME/sbin
#Java home
export JAVA_HOME=${JAVA_HOME}/java-8-oracle
#Path Java Tools
export HADOOP_CLASSPATH=$JAVA_HOME/lib/tools.jar
На этот раз я использую Java 8 Oracle, потому что apt-get Ubuntu 18.08 LTS не дает мне возможность установить OpenJDK8.Я обновил и обновил Ubuntu.
Я прочитал много разных постов и возможных решений, но не могу решить.