Alluxio + Hive на EMR - PullRequest
       28

Alluxio + Hive на EMR

0 голосов
/ 04 декабря 2018

У меня установлен Alluxio 1.8 в кластере EMR 5.19.0, и я могу видеть мои таблицы S3, используя /usr/local/alluxio/bin/alluxio fs ls /.

Однако, когда я запускаю куст и выдаю hive> [[DDL w/ LOCATION = alluxio://master_host:19998/my_table ]]], я получаю следующее:

FAILED: Execution Error, return code 1 from org.apache.hadoop.hive.ql.exec.DDLTask. MetaException(message:java.lang.RuntimeException: java.lang.ClassNotFoundException: Class alluxio.hadoop.FileSystem not found

Есть ли способ обойти это?Я попытался запустить куст с --auxpath, указывающим на /usr/local/alluxio/client/alluxio-1.8.1-client.jar и копию банки на hdfs, но безуспешно.

Любая помощь?

1 Ответ

0 голосов
/ 11 декабря 2018

Я разместил блог о причинах сообщения об ошибке java.lang.ClassNotFoundException: Class alluxio.hadoop.FileSystem not found.Вот несколько советов, надеюсь, они могут помочь:

  • Для Hive задайте переменную окружения HIVE_AUX_JARS_PATH в conf/hive-env.sh:
export HIVE_AUX_JARS_PATH=/<PATH_TO_ALLUXIO>/client/alluxio-1.8.1-client.jar:${HIVE_AUX_JARS_PATH}

, что, я думаю, эквивалентночто вы сделали, чтобы установить --auxpath.

  • В зависимости от настроек Hive (например, Hive on MR, Spark или Tez), вам также может потребоваться убедиться, что среда выполнения также может получить доступ к клиентскому банку.В качестве примера рассмотрим Hive на MR. Возможно, вам также понадобится добавить путь к jar-клиенту Alluxio к mapreduce.application.classpath или yarn.application.classpath, чтобы каждая задача из заданий MR могла получить к нему доступ.
...