Kafka Mirror Maker无法复制__consumer_offset主题

时间:2018-10-24 11:20:35

标签: apache-kafka confluent mirroring consumer

我正在尝试使用镜像制作器来复制__consumre_offsets主题以及其他主题。

出现如下所述的错误。

  

[2018-10-24 16:16:03,802]错误向主题发送消息时出错   __consumer_offsets,键:16个字节,值:445个字节,错误:(org.apache.kafka.clients.producer.internals.ErrorLoggingCallback)   org.apache.kafka.common.errors.InvalidTopicException:该请求   尝试对无效主题执行操作。 [2018-10-24   16:16:03,828]错误将消息发送到主题时出错   __consumer_offsets,键:29个字节,值:754个字节,错误:(org.apache.kafka.clients.producer.internals.ErrorLoggingCallback)   org.apache.kafka.common.errors.InvalidTopicException:该请求   尝试对无效主题执行操作。

有什么办法解决这个问题?

在幻灯片21上SlideShare上的一篇精彩演讲中,它提到了有关在多个数据中心中复制偏移量主题的信息。有人可以告诉我实现这一目标的可能方法吗?

或者还有其他更好的方法来备份和恢复Kafka的策略。

2 个答案:

答案 0 :(得分:3)

将此添加到您的 consumer.config 中:

exclude.internal.topics=false

并将其添加到您的 producer.config 中:

client.id=__admin_client


有鉴于此,除非您声明AdminClient.scala使用的client.id=__admin_client,否则生产者无法写内部主题。在这里找到:https://issues.apache.org/jira/browse/KAFKA-6524

答案 1 :(得分:0)

@amdelamar @Abhisek Verma这对你有用吗?如上所述,我分别在使用者和生产者配置文件中尝试了相同的设置,但仍然失败,并出现相同的错误。它开始复制主题,并且经过一定时间后仍然失败。

consumer.config

1

producer.config

import cx_Oracle
import os




def why__(Part_No, Rev_no):
    dsn_tns = cx_Oracle.makedsn('XXXXX', 'XXXX', service_name='XXXXX')
    conn = cx_Oracle.connect(user=r'XXXX', password='XXXX', dsn=dsn_tns)
    c = conn.cursor()
    #u_sql =('SELECT PART_REV_CFP.GET_OBJKEY(:Part_No,:Rev_no) from dual')
    v_sql =('SELECT PART_REV_CFP.GET_OBJKEY(:Part_No,:Rev_no) from dual')
    print(Part_No)
    print(Rev_no)
    c.execute(v_sql,[Part_No,Rev_no])
    #c.execute(v_sql,['02502-9001-12','SS'])
    R = c.fetchone()
    print('before the loop')
    i=0
    for row in R:
        print('inside the loop')
        i+=1
        print(i)
        print(str(row))
    print('after the loop')
    conn.close()
    return row

Part_No = input("Enter the obs part num: ")
Rev_no = input("Enter the obs part rev: ")
why__(Part_No,Rev_no)
print('outside of the method')
print(why__(Part_No,Rev_no))

OutPut when c.execute(v_sql,[Part_No,Rev_no]) --IN other words no hard coding the values of Part_no and Rev_no



Enter the obsolete part number: 02502-9001-12
Enter the obsolete part revision: ss
before the loop
inside the loop
1
(None,)
after the loop

***Repl Closed***




Output when c.execute(v_sql,['02502-9001-12','SS'])



Enter the obsolete part number: 02502-9001-12
Enter the obsolete part revision: ss
02502-9001-12
ss
before the loop
inside the loop
1
AAAW07AAFAAF5/PAAq
after the loop
outside of the method
02502-9001-12
ss
before the loop
inside the loop
1
AAAW07AAFAAF5/PAAq
after the loop
AAAW07AAFAAF5/PAAq

***Repl Closed***

错误当向主题__consumer_offsets发送消息时发生错误,键:62个字节,值:28个字节,错误:(org.apache.kafka.clients.producer.internals.ErrorLoggingCallback)

相关问题