当前位置: 首页 > 知识库问答 >
问题:

在分布式模式下运行kafka connect时出现的问题

谷梁弘深
2023-03-14

我们开始Kafka,动物园管理员和Kafka连接在第一个盒子。我们也在第二个盒子里开始了Kafka连接。现在,根据confluent文档,我们必须使用REST API启动HDFS连接器(或任何其他连接器)。所以,在这两个框中启动kafka connect之后,我们尝试通过REST API启动connector。我们尝试了以下命令:-

curl -X POST -H "HTTP/1.1 Host: ip-10-16-34-57.ec2.internal:9092 Content-Type: application/json Accept: application/json" --data '{"name": "hdfs-sink", "config": {"connector.class":"io.confluent.connect.hdfs.HdfsSinkConnector", "format.class":"com.qubole.streamx.SourceFormat", "tasks.max":"1", "hdfs.url":"hdfs://ip-10-16-37-124:9000", "topics":"Prd_IN_TripAnalysis,Prd_IN_Alerts,Prd_IN_GeneralEvents", "partitioner.class":"io.confluent.connect.hdfs.partitioner.DailyPartitioner", "locale":"", "timezone":"Asia/Calcutta" }}' http://ip-10-16-34-57.ec2.internal:8083/connectors

当我们在这里按enter键时,我们得到以下响应:

    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html;charset=ISO-8859-1"/>
    <title>Error 415 </title>
    </head>
    <body>
    <h2>HTTP ERROR: 415</h2>
    <p>Problem accessing /connectors. Reason:
    <pre>    Unsupported Media Type</pre></p>
    <hr /><i><small>Powered by Jetty://</small></i>
    </body>
    </html>

位于etc/kafka/的connect-distributed.properties文件位于下面的两个kafka connect节点中。我们还创建了上述三个主题(connect-offsets、connect-configs、connect-status)

bootstrap.servers=ip-10-16-34-57.ec2.internal:9092
group.id=connect-cluster
key.converter=com.qubole.streamx.ByteArrayConverter
value.converter=com.qubole.streamx.ByteArrayConverter
enable.auto.commit=true
auto.commit.interval.ms=1000
offset.flush.interval.ms=1000
key.converter.schemas.enable=true
value.converter.schemas.enable=true
internal.key.converter=org.apache.kafka.connect.json.JsonConverter
internal.value.converter=org.apache.kafka.connect.json.JsonConverter
internal.key.converter.schemas.enable=false
internal.value.converter.schemas.enable=false
offset.storage.topic=connect-offsets
rest.port=8083
config.storage.topic=connect-configs
status.storage.topic=connect-status
offset.flush.interval.ms=10000

这是什么问题?我们是不是缺少了一些东西来启动分布式模式下的kafka连接来使用HDFS连接器。独立模式下的Kafka连接运行良好。

共有1个答案

范兴文
2023-03-14

要上载连接器,这是一个PUT命令,而不是post命令:http://docs.confluent.io/3.1.1/connect/restapi.html#put--connectors-(string-name)-config

另外,我认为您的curl命令可能是错误的:

  • 每个标头需要一个-h开关,将所有标头放入一个-h参数不是它的工作方式(我认为)。
  • 我认为端口不是主机标头的一部分。
 类似资料:
  • 我已经在Ubuntu上安装了hadoop 1.2.0。所有的服务namenode,sec namenode,datanode,jobtracker,tasktracker运行良好。 然后我安装了hbase-0-94.8,我希望配置也可以。但是HMaster无法在端口9000上启动。它实际上开始,然后下降。 >2014-05-14 09:28:37,015 INFO org.apache.hadoo

  • Hadoop版本=2.4.1 hbase版本=0.98.6 我已经在下面的conf上启动并顺利运行了hadoop: 107.108.86.119-hadoop namenode,secondarynamenode 107.109.155.100-datanode1 107.109.155.102-datanode2 现在我按以下方式安装hbase:- 107.108.86.114:-hmaster

  • 我想使用 Confluent 的复制器将数据从一个系统复制到另一个系统。我正在使用两个Ubuntu 18.04系统,其中一个充当源,另一个充当目的地。 我尝试在分布式模式下运行kafka connect replicator,更改了以下配置: < li >在confluent/etc/Kafka/server . properties中,我做了以下更改 源 目的地 然后,我在源系统中创建了主题,并

  • 我有一个基于过程消费的大数据应用程序- 假设我的应用程序在一台机器上运行,我实例化了2个消费者,他们有自己的生产者,例如生产者1有事务ID - 如果我的应用程序在一台机器上工作,这完全可以正常工作,但是,事实并非如此,因为应用程序需要在多台机器上运行,因此当相同的代码在机器2上运行时,由机器2上的消费者实例化的生产者将具有与机器1上相同的事务ID。我希望事务ID的生成方式不会相互冲突,并且它们是可

  • 似乎当数据量变得太大时,Firebase会进入“只读”状态

  • 我尝试使用hadoop作为分布式模式,并且我进行了设置,但是发生了一个错误。我将在下面描述安装过程: 0/etc/hosts 已安装的软件包 获取hadoop 0/etc/hadoop/core-site.xml 0/etc/hadoop/hdfs-site.xml 0/etc/hadoop/mapred-site.xml 主服务器是 节点服务器是 然后我尝试使用这个命令 结果如下: 0node1