#hadoop #apache-kafka #hdfs #apache-kafka-connect
#hadoop #apache-kafka #hdfs #apache-kafka-connect
Вопрос:
* Мы получили новое требование для чтения разных файлов с файлового сервера. Для достижения этой цели я попытался использовать соединитель файловой системы Kafka Connect от confluent, который использует Hadoop FS для обработки файлов и использует протокол SFTP. Я могу подключиться к удаленному серверу, прочитать файл, извлечь каждую запись и опубликовать в теме kafka. Но соединитель исходного кода может считывать файлы только из каталога /home/ usr, а не из любого другого каталога. Вот конфигурации исходного соединителя и как настроить чтение из другой папки, например /systemname/domain/ inbound .
name=file-stream-demo-standalone
connector.class=com.github.mmolimar.kafka.connect.fs.FsSourceConnector
tasks.max=1
fs.uris=sftp://username:password@hostserver
topic=demo_file_reader_sftp
policy.class=com.github.mmolimar.kafka.connect.fs.policy.SleepyPolicy
policy.fs.fs.sftp.host=hostserver
policy.sleepy.sleep=10000
policy.recursive=false
policy.regexp=^.*.OUT$
policy.batch_size=0
policy.cleanup=none
file_reader.class=com.github.mmolimar.kafka.connect.fs.file.reader.TextFileReader
file_reader.batch_size=0*
Комментарии:
1. Я бы предложил использовать Nifi, а не SFTP или Kafka Connect для чтения из HDFS
2. вы можете смонтировать удаленные папки (NFS, …) и заставить соединитель считывать данные из локальной общей папки
3. @Onecricket, мы читаем не из HDFS, а с удаленного файлового сервера. Kafka connect может считывать данные с файлового сервера, но только из родительского каталога.
4. Тем не менее, процессор Nifi ListSFTP не зависит от реализации протокола SFTP в библиотеке Hadoop, что может быть вашим ограничивающим фактором здесь. В противном случае сервер ограничивает доступ к каталогам
5. Монтирование @aran для нас не вариант, мы развертываем эти соединители на openshift