我正在尝试使用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)
当我尝试访问环境时,它永远不会进入循环。但是,我知道有该主题的日志。