Kafka将以Java而非Python连接

时间:2019-01-24 19:38:47

标签: java python apache-kafka cloudera kafka-consumer-api

我正在尝试使用Kafka连接到cloudera环境,并从主题流数据。我已经能够在Java中成功做到这一点,但在python中却没有。 Python似乎已连接,但无法接收日志。我不相信自己的路径或服务器不正确,因为我已经通过java连接了相同的信息。

之前,我已经在另一个Cloudera环境(使用python)中成功完成了此操作,而我基本上是从该代码复制和粘贴。话虽这么说,Cloudera可能为此环境设置了某些设置,这些设置阻止了我通过python接收日志。

with java:
  from java.lang import System
  System.setProperty('java.security.auth.login.config','<path to jaas.conf>')
  System.setProperty('java.security.krb5.conf','<path to krb5.conf>')
broker=['<broker1>:9092','<broker2>:9092','<broker3>:9092'] 
try:
  consumer=KafkaConsumer(bootstrap_servers=broker,
                         sasl_kerberos_service_name='kafka',
                         auto_offset_reset='earliest',api_version=(1,0,1),
                         session_timeout_ms= 30000,enable_auto_commit=True,
                         sasl_mechanism='GSSAPI',
                         security_protocol='SASL_PLAINTEXT')
except Exception as e:
  message_consumer="Error  connecting to kafka"+e.message
  sendAlertEmail(message_consumer) 
  logger1.error("Failed to connect to brokers"+e.message)

要测试我执行的程序,

for message in consumer:
    print(message)

当我尝试访问环境时,它永远不会进入循环。但是,我知道有该主题的日志。

0 个答案:

没有答案