2013-05-10 3 views
0

Я пытаюсь настроить oozie (cdh4) с помощью RPM на RHEL5. Когда я запускаю команду для установки схем в базе данных mysql с помощью sudo -u oozie /usr/lib/oozie/bin/ooziedb.sh create -run, она дает мне сообщение об ошибке «Нет такого файла или каталога». Вы можете просмотреть журналы для того же here.Ошибка создания схемы базы данных oozie

Хотя, если я пытаюсь запустить команду, чтобы просто создавать скрипты с использованием sudo -u oozie /usr/lib/oozie/bin/ooziedb.sh create -sqlfile oozie-create.sql, это дает мне сообщение об ошибке «невозможно подключиться к базе данных». Вы можете просмотреть журналы для того же here.

Я следую за cdh4 installation site for oozie.

Пожалуйста, помогите мне выяснить возможные ошибки. Заранее спасибо.

+0

ли все временные директории существуют ('/ вар/Библиотека/oozie') и делает пользователь oozie есть разрешения на запись/выполнение этой папки? –

+0

Привет @ Крис! Спасибо, что помогли мне здесь. [Здесь] (http://pastebin.com/0PKtHJ7n) - это список файлов, которые у меня есть в указанном вами каталоге. Указанный вами каталог и его содержимое принадлежат пользователю и группе oozie, и я пытаюсь запустить его с использованием того же пользователя, как указано в приведенном выше руководстве. – Harman

ответ

1

Похоже, что у вас возникают проблемы с правами доступа при попытке создать файл sql init. Код для oozie cdh4, где ошибка происходит от является this:

String sqlFile = (commandLine.hasOption(SQL_FILE_OPT)) 
     ? commandLine.getOptionValue(SQL_FILE_OPT) 
     : File.createTempFile("ooziedb-", ".sql").getAbsolutePath(); 

Таким образом, вы можете попробовать и передать в SQL_FILE_OPT и назвать путь, который вы знаете, существует, и oozie пользователь может писать тоже. Вы уже выполнили свою вторую командную строку, но я бы полностью определил путь к файлу sql и поместил ее где-нибудь там, где вы знаете, что вы можете написать в (/ tmp, на самом деле это должно быть где File.createTempFile (..) создает файл).

sudo -u oozie touch /tmp/oozie-create.sql 
sudo -u oozie /usr/lib/oozie/bin/ooziedb.sh create \ 
    -sqlfile /tmp/oozie-create.sql 
+0

Привет @Chris! Я тоже пробовал, но все равно не повезло.Я почему-то считаю, что в моем доме java есть некоторые проблемы, однако, когда я делаю эхо, он указывает на правильный путь. Есть ли способ явным образом переопределить путь, передав его как аргумент? – Harman

0

В моем случае, мой дб oozie был emptly, так что я уронить дб, и создать его снова! $ mysql -u root -p Введите пароль: ******

mysql> создать базу данных oozie; Query OK, 1 row affected (0.03 sec)

mysql> предоставить все привилегии на oozie. * To 'oozie' @ 'localhost', идентифицированный 'oozie'; Query OK, 0 строк, затронутых (0.03 сек)

mysql> предоставить все привилегии на oozie. * To 'oozie' @ '%', обозначенные 'oozie'; запроса ОК, 0 затронутых строк (0,03 сек)

MySQL> Выход Bye

затем

Проверка БД Соединение DONE Проверка схемы БД не существует DONE Проверить OOZIE_SYS таблица не существует DONE Создать SQL-схему DONE Создать таблицу OOZIE_SYS DONE Установить флаг MySQL MEDIUMTEXT СДЕЛАНО

Oozie DB был создан для Oozie версии '3.3.2-cdh4.7.0'

Смежные вопросы