modify
This commit is contained in:
@ -73,7 +73,7 @@ public class SimpleProducer {
|
||||
}
|
||||
```
|
||||
|
||||
> 本片文章的所有示例代码可以从Github上进行下载:[kafka-basis](https://github.com/heibaiying/BigData-Notes/tree/master/code/Kafka/kafka-basis)
|
||||
> 本篇文章的所有示例代码可以从Github上进行下载:[kafka-basis](https://github.com/heibaiying/BigData-Notes/tree/master/code/Kafka/kafka-basis)
|
||||
|
||||
### 2.3 测试
|
||||
|
||||
@ -124,6 +124,17 @@ bin/kafka-topics.sh --create \
|
||||
|
||||
|
||||
|
||||
### 2.4 可能出现的问题
|
||||
|
||||
在这里可能出现的一个问题是:即使你在程序中配置的服务器地址是完全正确的,但是生产者程序在启动后,却一直处于等待状态,然后抛出连接超时的异常。这通常出现在你使用默认配置启动Kafka的情况下,这时候只需要对`server.properties`中`listeners`配置进行如下修改即可:
|
||||
|
||||
```shell
|
||||
# hadoop001 为我启动kafka服务的主机名,你可以换成自己的主机名或者ip地址
|
||||
listeners=PLAINTEXT://hadoop001:9092
|
||||
```
|
||||
|
||||
|
||||
|
||||
## 二、发送消息
|
||||
|
||||
上面的示例程序调用了`send`方法发送消息后没有做任何操作,在这种情况下,我们是没有办法知道消息发送的结果。想要知道消息发送的结果,可以使用同步发送或者异步发送来实现。
|
||||
@ -296,7 +307,7 @@ score:5, partition=0,
|
||||
|
||||
acks 参数指定了必须要有多少个分区副本收到消息,生产者才会认为消息写入是成功的:
|
||||
|
||||
- acks=0 : 生产者在成功写入消息之前不会等待任何来自服务器的响应;
|
||||
- acks=0 : 消息发送出去就认为已经成功了,不会等待任何来自服务器的响应;
|
||||
- acks=1 : 只要集群的首领节点收到消息,生产者就会收到一个来自服务器成功响应;
|
||||
- acks=all :只有当所有参与复制的节点全部收到消息时,生产者才会收到一个来自服务器的成功响应。
|
||||
|
||||
|
Reference in New Issue
Block a user