NiFi 1.10.0 - PutFile не видит каталог назначения - PullRequest
1 голос
/ 28 мая 2020

Мы столкнулись со специфической проблемой в одной из наших двух сред. Процессор PutFile выдает следующую ошибку:

PutFile[id=xxx] Penalizing StandardFlowFileRecord[uuid=xxx,claim=StandardContentClaim [resourceClaim=StandardResourceClaim[id=xxx, container=default, section=1012], offset=94495, length=9778],offset=0,name=xxxxxxxxxxxxxxxx_PROD_20200513020001.json.gz,size=9778] and routing to 'failure' because the output directory /data/home/datadelivery/OUT/Test does not exist and Processor is configured not to create missing directories

После включения создания отсутствующих каталогов ошибка изменяется на:

Could not set create directory with permissions 664 because /data/home/datadelivery/OUT/Test: java.nio.file.AccessDeniedException: /data/home/datadelivery/OUT/TestPutFile[id=xxx...

На основании сообщения об ошибке можно подумать, что это ошибка проблема с правами доступа к файлам и папкам, однако путь /data/home/datadelivery/OUT/Test существует, и пользователь nifi также может открывать и создавать там файлы и папки (проверено из командной строки). Те же права доступа к папкам и права собственности настроены в нашей среде DEV, где процессор PutFile работает должным образом. Мы могли бы изменить конфигурацию, чтобы использовать другое местоположение, но я бы предпочел вместо этого найти причину root.

С чего начать отладку?

Заранее благодарим вас за вашу помощь! С уважением, Юлий

Ответы [ 2 ]

0 голосов
/ 08 июня 2020

Перезапуск сервиса NiFi решил проблему. Проблема заключалась в том, что пользователь Unix (nifi) был изменен через несколько месяцев после запуска службы NiFi. Скорее всего, это было причиной того, что процессор PutFile не смог получить доступ к папке, которую мог получить пользователь nifi unix.

0 голосов
/ 28 мая 2020

Странная проблема, я бы попытался установить полное разрешение для папки / файла, который вы хотите записать (ie chmod 777 + chown nifi: nifi + рекурсивно), и посмотреть, сохраняется ли ошибка. Если нет, то это начало ...

...