kafka connect hdfs sink with azure blob存储

drkbr07n  于 2021-05-29  发布在  Hadoop
关注(0)|答案(1)|浏览(628)

我想用kafka hdfs接收器连接器连接到azure blob存储。到目前为止,我已经做了:
kafka-connect 属性:

hdfs.url=wasbs://<my_url>
hadoop.conf.dir={hadoop_3_home}/etc/hadoop/
hadoop.home={hadoop_3_home}

而且在 core-site.xml 增加了对WASB的支持:

<property>
    <name>fs.wasbs.impl</name>
    <value>org.apache.hadoop.fs.azure.NativeAzureFileSystem</value>
</property>

出口 HADOOP_CLASSPATH 变量,添加到 PATH 但无论如何,hadoop找不到类- NativeAzureFileSystem :

at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
 at io.confluent.connect.hdfs.storage.StorageFactory.createStorage(StorageFactory.java:29)
 ... 11 more
Caused by: java.lang.RuntimeException: java.lang.ClassNotFoundException: Class org.apache.hadoop.fs.azure.NativeAzureFileSystem not found
 at org.apache.hadoop.conf.Configuration.getClass(Configuration.java:2195)
 at org.apache.hadoop.fs.FileSystem.getFileSystemClass(FileSystem.java:2654)
 at org.apache.hadoop.fs.FileSystem.createFileSystem(FileSystem.java:2667)
 at org.apache.hadoop.fs.FileSystem.access$200(FileSystem.java:94)

你能帮我解决这个问题吗。有可能吗?

kuuvgm7e

kuuvgm7e1#

我的目标是:备份从kafka到任何数据格式的azure blob的所有内容。
hdfs和云连接器不能备份“任何格式”。confluent的avro是文件格式的一级公民。其次是json,但据我所知,没有“纯文本”格式。我认为hdfs连接器确实支持“字节数组”格式。
正如我在评论中提到的,在我看来,Kafka的备份不同于无限期地将数据保留到文件系统中。将Kafka备份到Kafka包括使用mirrormaker。
如果您想使用任何格式,spark、flink、nifi或streamset都有更大的灵活性,可以直接处理这些格式

相关问题