Oozie Shared Lib: куда ставить баночки

Я установил Cloudera CDH QuickStart VM 5.5 и запускаю действие Sqoop в своем рабочем процессе Oozie. Я столкнулся с ошибкой, в которой говорится, что драйвер MySQL JDBC отсутствует, и я наткнулся на ответ SO здесь в котором говорится, что файл mysql-connector-java.jar должен быть помещен в путь общей библиотеки Oozie HDFS по пути sqoop.

Однако, когда я просматриваю общий путь библиотеки HDFS Oozie, я заметил два подкаталога sqoop для копирования jar.

/user/oozie/share/lib/sqoop

а также

/user/oozie/share/lib/lib_20151118030154/sqoop

Помимо sqoop, hive, pig, distcp и mapreduce-streaming пути также существуют как на lib, так и на lib/lib_20151118030154.

Так вот вопрос: куда ставить баночку с коннектором: на первую или на вторую?

В чем разница (или различие целей) этих двух путей по отношению к баночкам sqoop, hive, pig, distcp и mapreduce-streaming для Узи?


person oikonomiyaki    schedule 21.01.2016    source источник


Ответы (1)


Подкаталог lib_20151118030154 будет текущей версией библиотеки ShareLibs по состоянию на 18 ноября 2015 г. Управление версиями позволяет вносить обновления без остановки службы Oozie — см. документацию . здесь.

Другими словами: служба Oozie хранит в памяти список JAR-файлов в каждой ShareLib (на основе того, что было представлено для последней версии во время загрузки), так что добавление JAR-файла не будет иметь значения, пока (a) вы останавливаете/перезапускаете службу или (b) повторно синхронизируете службу, как описано в документе выше.

person Samson Scharfrichter    schedule 21.01.2016