请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

老师帮我看下这个报错,商户系统向kafka发送卡券信息失败?

kafka是 装在vmware虚拟机里的centos7上。

---------------------

我装的应该是单机,看网上的教程,配置了3个server。properties文件,应该是3个broker。

我server。properties文件的 #listeners=PLAINTEXT://:9092  默认是注释状态,我也没有打开,不知道是不是这个原因。

jps启动线程有: 

[root@localhost kafka_2.11-2.0.0]# jps

5298 Jps

1862 QuorumPeerMain

4582 Kafka

3992 ConsoleConsumer

3421 ConsoleProducer

2158 Kafka

4926 Kafka

----------------

我在虚拟机上使用生产者和消费者是可以看到消息的, 但我的idea跑测试用例就失败了,消费者shell里也看不到消息。

控制台一直报这个问题,直到超时

2018-08-17 14:56:26.210  WARN 14824 --- [ad | producer-1] org.apache.kafka.clients.NetworkClient   : [Producer clientId=producer-1] Connection to node 0 could not be established. Broker may not be available.

。。。

java.lang.IllegalStateException: Producer is closed forcefully.

at org.apache.kafka.clients.producer.internals.RecordAccumulator.abortBatches(RecordAccumulator.java:696) [kafka-clients-1.0.2.jar:na]

at org.apache.kafka.clients.producer.internals.RecordAccumulator.abortIncompleteBatches(RecordAccumulator.java:683) [kafka-clients-1.0.2.jar:na]

at org.apache.kafka.clients.producer.internals.Sender.run(Sender.java:185) [kafka-clients-1.0.2.jar:na]

at java.lang.Thread.run(Thread.java:748) [na:1.8.0_181]

-----

最后再问一下老师,修改完server。properties需要重启服务么?

正在回答

插入代码

1回答

你这个报错是因为程序代码没有找到 Kafka 服务器,看下对应的配置是否正确

0 回复 有任何疑惑可以回复我~
  • 提问者 woy #1
    我的配置是这样的:
    -------
    spring:
        application:
          name: wlMerchants
        datasource:
          url: jdbc:mysql://centos.wl.com:3306/passbook?useUnicode=true&characterEncoding=utf-8
          username: root
          password: 123456
        kafka:
          bootstrap-servers: centos.wl.com:9092
          consumer:
            group-id: passbook
          listener:
            concurrency: 2 
    --------
    centos.wl.com是可以ping通ip的,我做了host映射,我不知道那个group-id是做什么的,需要在启动消费者时配置么?还看到一个clientId不知道和这两个属性有没有关系?
    我看我启动的消费者的脚本是: bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic merchants-template --from-beginning
    
    我在消费者的控制台看到有输出:
    [2018-08-17 16:46:16,281] WARN [Consumer clientId=consumer-1, groupId=console-consumer-47949] Connection to node 0 could not be established. Broker may not be available. (org.apache.kafka.clients.NetworkClient)
    回复 有任何疑惑可以回复我~ 2018-08-17 20:32:51
  • 提问者 woy #2
    ----------
    跑测试用例的时候,控制台输出了kafka的信息,卡在这2天了,老师帮我看下:
    -----
            acks = 1
    	batch.size = 16384
    	bootstrap.servers = [centos.wl.com:9092]
    	buffer.memory = 33554432
    	client.id = 
    	compression.type = none
    	connections.max.idle.ms = 540000
    	enable.idempotence = false
    	interceptor.classes = null
    	key.serializer = class      org.apache.kafka.common.serialization.StringSerializer
    	linger.ms = 0
    	max.block.ms = 60000
    	max.in.flight.requests.per.connection = 5
    	max.request.size = 1048576
    	metadata.max.age.ms = 300000
            。。。
            。。。
    回复 有任何疑惑可以回复我~ 2018-08-17 20:33:05
  • 提问者 woy #3
    晕,这个编辑器没有换行,看着有点累,老师辛苦下,谢谢
    回复 有任何疑惑可以回复我~ 2018-08-17 20:34:11
问题已解决,确定采纳
还有疑问,暂不采纳
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号