elasticsearch Kafka Mysql CDC到弹性搜索
我试图通过
elasticsearch Kafka Mysql CDC到弹性搜索,
elasticsearch,apache-kafka,apache-kafka-connect,
elasticsearch,Apache Kafka,Apache Kafka Connect,我试图通过sourceconnector将我的MySqldb更改外包给kafka主题,这是可行的。现在我想将这些数据发送到弹性搜索实例 为了做到这一点,我一直在关注这个和这个 对于从mysql到kafka的CDC,我可以看到我在mysql中所做的更改,并在创建源连接器时阅读它,但当我创建另一个连接器时,elasticsearch sink连接器,源连接器任务。状态显示失败!因此,数据库更改不会进入ES,尽管索引是作为ES-config.properties文件中的设置创建的 我将jar/s放在k
sourceconnector
将我的MySql
db更改外包给kafka主题,这是可行的。现在我想将这些数据发送到弹性搜索实例
为了做到这一点,我一直在关注这个和这个
对于从mysql到kafka的CDC,我可以看到我在mysql中所做的更改,并在创建源连接器时阅读它,但当我创建另一个连接器时,elasticsearch sink
连接器,源连接器任务。状态显示失败
!因此,数据库更改不会进入ES,尽管索引是作为ES-config.properties文件中的设置创建的
我将jar/s放在kafka dir中,源连接器的lib就是在这里工作的(以避免关于类路径问题的进一步问题)
创建elaticsearch接收器连接器时,
我收到此错误(尽管对于soure,我没有错误,并且所有lib都在同一目录中!):
连接器的插件类加载程序出错:
“io.confluent.connect.elasticsearch.ElasticsearchSinkConnector”为
没有找到。返回:
org.apache.kafka.connect.runtime.isolation。DelegatingClassLoader@5cc126dc
(org.apache.kafka.connect.runtime.isolation.DelegatingClassLoader:165)
我通过以下方式运行连接器:
bin/connect-standalone.sh config/connect-standalone.properties config/elasticsearch-connect.properties
简而言之,一次只有一个连接器task.state保持运行状态
编辑:connect-standablone.properties文件的plugin.path
:
plugin.path=/media/***/projects/playground/kafka/kafka_2.12-2.4.0, /media/***/projects/playground/kafka/kafka-connect-elasticsearch/target/kafka-connect-elasticsearch-3.2.0-SNAPSHOT-package/share/java
它们都包含es连接器jar。最后一个后来添加为,但仍然相同
现在我该怎么办?当我只需更改schema.enable为false时,这件事就很有魅力了
key.converter.schemas.enable=false
value.converter.schemas.enable=false
并在插件.path之后添加了额外的/
,虽然没有/
,但它对源连接器有效
编辑:我忘了提到我也用5.4.0版本替换了我的连接器版本,因为cricket_007提到了
编辑-2:
我后来进行了更多调查,发现额外的/
问题以及下面提到的新关键属性帮助我摆脱了连接器的故障状态(一次只运行一个连接器):
在connect-standalone.properties文件中
谢谢插件路径的设置是什么?debezium文件夹和debezium文件夹的父文件夹路径还包含es connector jar[稍后添加],您可以为哪个连接器soruce
工作共享配置?哪一个?connect-standalone.properties或其他?伙计,我想看看你的plugin.path
。这些属性只对json转换器有效,与你遇到的错误无关。谢谢,我忘了我也用那个版本替换了旧版本,现在编辑我的观点是,插件路径更改是唯一可以修复问题中错误的东西。我明白你的观点,但不知何故,我第一次更换jar并重新启动连接器时,在创建接收器连接器时没有帮助。连接器给了我错误,然后我做了ans中提到的一些更改(添加了一个额外的斜线(!),更改了这些属性(正如在错误消息中给出的一些建议),并更新了jar),然后重新启动,重新创建了接收器连接器,它就是这样工作的!
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