Kafka Connect HDFS 接收器与 Azure Blob 存储
Kafka Connect HDFS Sink with Azure Blob Storage
我想使用 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
中添加了对 wasbs 的支持:
<property>
<name>fs.wasbs.impl</name>
<value>org.apache.hadoop.fs.azure.NativeAzureFileSystem</value>
</property>
导出HADOOP_CLASSPATH
变量,添加到PATH
但是无论如何,Hadoop找不到class - 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.access0(FileSystem.java:94)
你能帮忙解决这个问题吗?有可能吗?
my goal is: backup everything from Kafka to Azure BLOB of any data format.
HDFS 和云连接器无法备份 "any format"。 Confluent 的 Avro 是第一个 class 文件格式公民。 JSON 其次,但根据我的发现,没有 "plain text" 格式。我认为 HDFS 连接器确实支持 "byte array" 格式。
正如我在评论中提到的,在我看来,Kafka 的备份不同于将数据无限期保留到文件系统。备份 Kafka 到 Kafka 包括使用 MirrorMaker。
如果您想使用任何格式,Spark、Flink、NiFi 或 Streamsets 可以更灵活地开箱即用
我想使用 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
中添加了对 wasbs 的支持:<property> <name>fs.wasbs.impl</name> <value>org.apache.hadoop.fs.azure.NativeAzureFileSystem</value> </property>
导出
HADOOP_CLASSPATH
变量,添加到PATH
但是无论如何,Hadoop找不到class - 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.access0(FileSystem.java:94)
你能帮忙解决这个问题吗?有可能吗?
my goal is: backup everything from Kafka to Azure BLOB of any data format.
HDFS 和云连接器无法备份 "any format"。 Confluent 的 Avro 是第一个 class 文件格式公民。 JSON 其次,但根据我的发现,没有 "plain text" 格式。我认为 HDFS 连接器确实支持 "byte array" 格式。
正如我在评论中提到的,在我看来,Kafka 的备份不同于将数据无限期保留到文件系统。备份 Kafka 到 Kafka 包括使用 MirrorMaker。
如果您想使用任何格式,Spark、Flink、NiFi 或 Streamsets 可以更灵活地开箱即用