HDFS File Watcher Service - PullRequest
       48

HDFS File Watcher Service

0 голосов
/ 16 апреля 2020

Я использую службу просмотра файлов hdfs для загрузки файла конфигурации, как только он будет изменен в моей работе потоковой передачи flink.

Источник для службы наблюдателей: Наблюдатель файлов HDFS

Проблема, с которой я здесь сталкиваюсь, заключается в том, что служба наблюдателей реагирует на изменения во всех hdf, а не только в каталоге I Прохожу.

Мой код:

public static void main( String[] args ) throws IOException, InterruptedException, MissingEventsException
  {
    HdfsAdmin admin = new HdfsAdmin( URI.create("hdfs://stage.my-org.in:8020/tmp/anurag/"), new Configuration() );
    DFSInotifyEventInputStream eventStream = admin.getInotifyEventStream();
    while( true ) {
      EventBatch events = eventStream.take();
      for( Event event : events.getEvents() ) {
        switch( event.getEventType() ) {
          case CREATE:
            System.out.print( "event type = " + event.getEventType() );
            CreateEvent createEvent = (CreateEvent) event;
            System.out.print( "  path = " + createEvent.getPath() + "\n");
            break;
          default:
            break;
        }
      }
    }
  }

Вывод из программы:

event type = CREATE  path = /tmp/anurag/newFile.txt
event type = CREATE  path = /tmp/newFile2.txt

Пожалуйста, помогите мне решить эту проблему, чтобы я мог просматривать файлы в конкретный каталог, переданный как URI

Спасибо в ожидании

Примечание: если вы попытаетесь запустить эту программу, , пожалуйста, запустите как пользователь hdfs , иначе вы получите орг. apache .had oop .security.AccessControlException

...