我是Kafka的新手。我对Kafka的配置有疑问。
我想使用下面这样的独立服务器,
服务器1:Kafka制作人服务器2:Kafka经纪人、Kafka消费者、Zookeeper
但是,我不能给经纪人发信息。我收到了错误信息。
在控制台生产者(服务器1)上,控制台标准输出错误消息`
[2016-05-24 16:41:11,823] ERROR Error when sending message to topic twitter with key: null, value: 3 bytes with error: Failed to update metadata after 60000 ms.(org.apache.kafka.clients.producer.internals.ErrorLoggingCallback)
在kafka producer(server2)上,控制台stdout错误消息
[2016-05-25 10:20:01,588] DEBUG Connection with /192.168.50.142 disconnected (org.apache.kafka.common.network.Selector)
java.io.EOFException
at org.apache.kafka.common.network.NetworkReceive.readFromReadableChannel(NetworkReceive.java:83)
at org.apache.kafka.common.network.NetworkReceive.readFrom(NetworkReceive.java:71)
at org.apache.kafka.common.network.KafkaChannel.receive(KafkaChannel.java:160)
at org.apache.kafka.common.network.KafkaChannel.read(KafkaChannel.java:141)
at org.apache.kafka.common.network.Selector.poll(Selector.java:286)
at kafka.network.Processor.run(SocketServer.scala:413)
at java.lang.Thread.run(Thread.java:745)
运行命令如下 Kafka目录上的服务器1
./bin/zookeeper-server-start.sh config/zookeeper.properties
./bin/kafka-server-start.sh config/server.properties
./bin/kafka-console-consumer.sh --zookeeper 192.168.50.142:2181 --from-beginning --topic twitter
./bin/kafka-topics.sh --create --zookeeper 192.168.50.142:2181 --replication-factor 1 --partitions 1 --topic twitter
Kafka目录上的服务器2
./bin/kafka-console-producer.sh --broker-list 192.168.50.142:9092 --topic twitter
我的配置是, 服务器1(ip:192.168.50.155): Kafka/config/producer.properties
metadata.broker.list=192.168.50.142:9092
producer.type=sync
compression.codec=none
serializer.class=kafka.serializer.DefaultEncoder
服务器2(ip:192.168.50.142): kafka/config/zookeeper.properties文件
dataDir=/tmp/zookeeper
clientPort=2181
maxClientCnxns=0
kafka/config/server.properties文件
broker.id=0
listeners=PLAINTEXT://0.0.0.0:9092
num.io.threads=8
socket.send.buffer.bytes=102400
socket.receive.buffer.bytes=102400
socket.request.max.bytes=104857600
log.dirs=/tmp/kafka-logs
num.partitions=1
num.recovery.threads.per.data.dir=1
log.retention.hours=168
log.segment.bytes=1073741824
log.retention.check.interval.ms=300000
log.cleaner.enable=false
zookeeper.connect=localhost:2181
zookeeper.connection.timeout.ms=6000
broker.id=0
port=9092
log.dir=/tmp/kafka-logs-1
delete.topic.enable=true
kafka.config/consumer.properties
zookeeper.connect=127.0.0.1:2181
zookeeper.connection.timeout.ms=6000
group.id=test-consumer-group
`
Kafka2.11-0.9.0.0 java 1.8.0\u 60节点v4.4.4
我是否需要更改任何配置?请帮忙。
3条答案
按热度按时间aemubtdh1#
在server.properties中进行以下更改:
将第二行改为
添加此行:
之所以需要这一行,是因为这是代理将向消费者和生产者公布的主机名和端口。既然你在另一台机器上有一个生产商,就需要这条生产线。
在终端中写入任何命令时,使用
希望这能奏效。
laawzig22#
您的生产者配置似乎不正确。
Kafka/config/producer.properties
92vpleto3#
您需要使用适当的配置值修改server.properties文件,并更新/etc/hosts文件以将您的计算机解析为ip。