2016-02-15 12 views
0

Я выполняю Flume-агент как пользовательский «root», где я хочу скопировать файлы XML, хранящиеся в местоположении /root/data-pipeline/input, в место назначения в hdfs по адресу hdfs:///user/root/data_pipeline_demo/input..Apache Flume не умеет копировать файлы из источника в пункт назначения

Когда я выполнение агента Подводящего канала, как flume-ng agent -c /etc/flume/conf -f /etc/flume/conf/flume.conf -n sandbox ... Он не пишет файлы в место назначения & метание исключения:

org.apache.hadoop.ipc.RemoteException 
(org.apache.hadoop.security.authorize.AuthorizationException): 
User: root is not allowed to impersonate root.. 

Где вещи неправильно? Не хватает ли какой-либо конфигурации?

ответ

0

Думаю, вам нужно изменить настройки олицетворения в соответствии с настройками HDFS. Я не знаком с вашей настройкой, но почти уверен, что вы не используете пользователя root на Hadoop. Если вы измените настройки в соответствии с вашими пользователями HDFS, он начнет работать.

+0

Я даже попробовал несколько пользователей, т.е. ambari-qa или любой пользовательский пользователь, но все же он бросил ту же ошибку, что и пользователю ambari-qa не разрешено выдавать себя за ambari-qa ...... Я сконфигурировал Hadoop для олицетворения, сделав следующие изменения в ядро-site.xml hadoop.proxyuser.flume.groups пользователи hadoop.proxyuser.flume.hosts * .... но еще не удается и давая такое же исключение –

+0

Ваш источник и цель не должны быть таким же, пользователь hdfs может выдавать себя за qa-пользователя, но hdfs в hdfs не работает. – Istvan