2016-02-16 5 views
0

В настоящее время я делаю первые шаги с SAP HANA Vora на Cloudera Express 5.5.0.SAP HANA Vora shell не может найти org.apache.spark.launcher.Main

Сервер Вора это и работает, и теперь я хотел бы использовать Вёро искры оболочки, но это то, что я получаю:

sh start-spark-shell.sh 
Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/spark/launcher/Main 
Caused by: java.lang.ClassNotFoundException: org.apache.spark.launcher.Main 
    at java.net.URLClassLoader$1.run(URLClassLoader.java:202) 
    at java.security.AccessController.doPrivileged(Native Method) 
    at java.net.URLClassLoader.findClass(URLClassLoader.java:190) 
    at java.lang.ClassLoader.loadClass(ClassLoader.java:306) 
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301) 
    at java.lang.ClassLoader.loadClass(ClassLoader.java:247) 
Could not find the main class: org.apache.spark.launcher.Main. Program will exit. 

Это как моя среда выглядит следующим образом:

export LD_LIBRARY_PATH=/opt/cloudera/parcels/CDH/lib/hadoop/lib/native 
export JAVA_HOME=/usr/java/default 
export HADOOP_PARCEL_PATH=/opt/cloudera/parcels/CDH 
export HADOOP_CONF_DIR=/etc/hadoop/conf 
export SPARK_HOME=/usr/lib/spark 
export SPARK_CONF_DIR=$SPARK_HOME/conf 
export PATH=$PATH:$SPARK_HOME/bin 

SPARK_DIST_CLASSPATH=$SPARK_HOME/lib/spark-assembly.jar 
SPARK_DIST_CLASSPATH=$SPARK_DIST_CLASSPATH:$HADOOP_PARCEL_PATH/lib/hadoop/lib/* 
SPARK_DIST_CLASSPATH=$SPARK_DIST_CLASSPATH:$HADOOP_PARCEL_PATH/lib/hadoop/* 
SPARK_DIST_CLASSPATH=$SPARK_DIST_CLASSPATH:$HADOOP_PARCEL_PATH/lib/hadoop-hdfs/lib/* 
SPARK_DIST_CLASSPATH=$SPARK_DIST_CLASSPATH:$HADOOP_PARCEL_PATH/lib/hadoop-hdfs/* 
SPARK_DIST_CLASSPATH=$SPARK_DIST_CLASSPATH:$HADOOP_PARCEL_PATH/lib/hadoop-mapreduce/lib/* 
SPARK_DIST_CLASSPATH=$SPARK_DIST_CLASSPATH:$HADOOP_PARCEL_PATH/lib/hadoop-mapreduce/* 
SPARK_DIST_CLASSPATH=$SPARK_DIST_CLASSPATH:$HADOOP_PARCEL_PATH/lib/hadoop-yarn/lib/* 
SPARK_DIST_CLASSPATH=$SPARK_DIST_CLASSPATH:$HADOOP_PARCEL_PATH/lib/hadoop-yarn/* 
SPARK_DIST_CLASSPATH=$SPARK_DIST_CLASSPATH:$HADOOP_PARCEL_PATH/lib/hive/lib/* 
SPARK_DIST_CLASSPATH=$SPARK_DIST_CLASSPATH:$HADOOP_PARCEL_PATH/lib/flume-ng/lib/* 
SPARK_DIST_CLASSPATH=$SPARK_DIST_CLASSPATH:$HADOOP_PARCEL_PATH/lib/parquet/lib/* 
SPARK_DIST_CLASSPATH=$SPARK_DIST_CLASSPATH:$HADOOP_PARCEL_PATH/lib/avro/lib/* 
export SPARK_DIST_CLASSPATH 

ответ

0

Решил.

Просто нужно обновить Java от JDK6 до JDK7. Убедитесь, что у вас есть следующие переменные окружения, установленные (проверить значение вашей установки):

export LD_LIBRARY_PATH=/opt/cloudera/parcels/CDH/lib/hadoop/lib/native 
export JAVA_HOME=/usr/java/default 
export HADOOP_PARCEL_PATH=/opt/cloudera/parcels/CDH 
export HADOOP_CONF_DIR=/etc/hadoop/conf 
export SPARK_HOME=/usr/lib/spark 
export SPARK_CONF_DIR=$SPARK_HOME/conf 
export PATH=$PATH:$SPARK_HOME/bin 
0

Спасибо за ответ https://stackoverflow.com/users/1867854/michael-kunzmann. Я нашел JDK7, уже установленный в каталоге /usr/java/jdk1.7.0_67-cloudera. Я думаю, что это шаг в установке Cloudera Manager. Минимальная поддерживаемая версия - 1.7.0_55 для CDH 5.3, 5.5, 5.6 на момент написания (например, см. https://www.cloudera.com/documentation/enterprise/5-6-x/topics/cdh_ig_req_supported_versions.html#concept_pdd_kzf_vp)

Я пытался использовать искровую оболочку строна (не-Вора) и получил ту же проблему на CDH. Поэтому JDK7 требуется также для стандартной искровой оболочки. Сценарий искровой оболочки Vora ..

$VORA_SPARK_HOME/bin/start-spark-shell.sh 

... просто добавляет банку данных Vora в качестве дополнительной библиотеки.

FYI вот пример для стандартной искровой оболочки на Cloudera CDH ..

~> cd /usr/java 
/usr/java> ls -l 
total 8 
lrwxrwxrwx 1 lroot root 16 Dec 17 2015 default -> /usr/java/latest 
drwxr-xr-x 9 lroot root 4096 Dec 17 2015 jdk1.6.0_31 
drwxr-xr-x 8 lroot root 4096 Dec 17 2015 jdk1.7.0_67-cloudera 
lrwxrwxrwx 1 lroot root 21 Dec 17 2015 latest -> /usr/java/jdk1.6.0_31 
/usr/java> export JAVA_HOME=/usr/java/jdk1.7.0_67-cloudera 
/usr/java> export SPARK_HOME=/usr/lib/spark 
/usr/java> cd $SPARK_HOME 
/usr/lib/spark> ./bin/spark-shell 

FYI Я также Вёро на Hortonworks. Java 7 уже была на PATH через/usr/bin/java sybolic ссылку, и это просто сработало.

source /etc/vora/vora-env.sh 
$VORA_SPARK_HOME/bin/start-spark-shell.sh