2015-06-03 3 views
1

Я установил Flume в первый раз. Я использую hadoop-1.2.1 и flume 1.6.0Файл не найден Исключение при запуске Flume agent

Я пробовал настроить flume agent, следуя this guide.

Я выполнил эту команду: $ bin/flume-ng agent -n $agent_name -c conf -f conf/flume-conf.properties.template

Это говорит log4j:ERROR setFile(null,true) call failed. java.io.FileNotFoundException: ./logs/flume.log (No such file or directory)

ли не flume.log файл генерируется автоматически? Если нет, как я могу исправить эту ошибку?

+0

Проверьте права доступа к каталогу. При необходимости создайте пустой файл flume.log. – Harman

+0

Где я могу создать этот файл журнала? – MChirukuri

+0

В каталоге, откуда выполняется скрипт – Harman

ответ

2

Попробуйте это:

mkdir ./logs 
sudo chown `whoami` ./logs 
bin/flume-ng agent -n $agent_name -c conf -f conf/flume-conf.properties.template 

Первая строка создает каталог logs в текущем каталоге, если он еще не существует. Второй устанавливает владельца этого каталога текущему пользователю (вам), так что flume-ng работает, так как ваш пользователь может писать на него.

Наконец, обратите внимание, что это не рекомендуется для запуска Flume, просто быстрый взлом, чтобы попробовать.

0

Как @Botond говорит, вам нужно установить правильные разрешения.

Однако, если вы запускаете Flume внутри программы, например супервизор или с помощью специального скрипта, вы можете изменить путь по умолчанию, так как это относительно запуска. Этот путь определен в вашем /path/to/apache-flume-1.6.0-bin/conf/log4j.properties. Там вы можете изменить линию

flume.log.dir=./logs 

использовать абсолютный путь, который вы хотели бы использовать - вы все равно нужны правильные разрешения, хотя.