Я создаю прототип Apache Flume. Моя задача - передать содержимое текстового файла между двумя виртуальными машинами Ubuntu, которые я настроил с помощью VirtualBox. Я почти ничего не знаю о Flume, хотя просматривал их документацию.
С помощью VirtualBox я смог создать внутреннюю сеть, и две виртуальные машины успешно могут пинговать друг друга.
Мне также удалось загрузить и настроить поток, как показано: https://cwiki.apache.org/confluence/display/FLUME/Getting+Started
Я хочу сказать, что Flume установлен и работает на обе виртуальные машины (или я так думаю).
Этот пост дает мне небольшое представление: https://stackoverflow.com/questions/19112465/flume-data-transferring-to-server a
Реализую ли я именно этот лоток .conf на каждой виртуальной машине? И нужно ли мне писать на Java для этого?
Кроме того, я нашел это видео, примерно через 18 минут этот парень делает почти в точности то, что я хочу. Однако я бы хотел, чтобы ввод был текстовым файлом.
Я решил эту проблему, используя тип приемника как file_roll. Мне также пришлось определить IP-адрес второй виртуальной машины, чтобы они могли соединиться.
Пошаговую инструкцию как это сделать я нашел по этой ссылке: http://thisandthat.io/blog/flume-part3/
Также не нужно писать никаких Java для этого. Однако, как это принято в Flume, убедитесь, что ваш JAVA_HOME правильно объявлен в файле flume-env.sh. Все остальные части обрабатываются созданным файлом .conf (как описано в приведенной выше ссылке).