Kafka服务端参数配置

$KAFKA_HOME/config/server.properties文件中的配置

1、zookeeper.connect

  • 该参数用于配置Kafka要连接的Zookeeper/集群的地址。
  • 它的值是一个字符串,使用逗号分隔Zookeeper的多个地址。Zookeeper的单个地址是host:port形式的,可以在最后添加Kafka在Zookeeper中的根节点路径。

如:

zookeeper.connect=192.168.0.101:2181,192.168.0.102:2181,192.168.0.103:2181/myKafka

 

2、listeners

  • 用于指定当前Broker向外发布服务的地址和端口。(kafka内部通信)
  • advertised.listeners 配合,用于做内外网隔离。

 

3、内外网隔离配置:

listener.security.protocol.map

  • 监听器名称和安全协议的映射配置。
  • 比如,可以将内外网隔离,即使它们都使用SSL。

    listener.security.protocol.map=INTERNAL:SSL,EXTERNAL:SSL

  • 每个监听器的名称只能在map中出现一次。

inter.broker.listener.name

  • 用于配置broker之间通信使用的监听器名称,该名称必须在advertised.listeners列表中。

    inter.broker.listener.name=EXTERNAL

listeners

  • 用于配置broker监听的URI以及监听器名称列表,使用逗号隔开多个URI及监听器名称。
  • 如果监听器名称代表的不是安全协议,必须配置listener.security.protocol.map。
  • 每个监听器必须使用不同的网络端口。

advertised.listeners

  • 需要将该地址发布到zookeeper供客户端使用,如果客户端使用的地址与listeners配置不同。
  • 可以在zookeeper的get /myKafka/brokers/ids/<broker.id> 中找到。
  • 在IaaS环境,该条目的网络接口得与broker绑定的网络接口不同。
  • 如果不设置此条目,就使用listeners的配置。跟listeners不同,该条目不能使用0.0.0.0网络端口。
  • advertised.listeners的地址必须是listeners中配置的或配置的一部分。

 

4、broker.id

  • 该属性用于唯一标记一个Kafka的Broker,它的值是一个任意integer值。
  • 当Kafka以分布式集群运行的时候,尤为重要。
  • 最好该值跟该Broker所在的物理主机有关的,如主机名为host1.lagou.com ,则broker.id=1 ,如果主机名为192.168.100.101 ,则broker.id=101 等等。

 

5、log.dir

  • 通过该属性的值,指定Kafka在磁盘上保存消息的日志片段的目录。
  • 它是一组用逗号分隔的本地文件系统路径。
  • 如果指定了多个路径,那么broker 会根据“最少使用”原则,把同一个分区的日志片段保存到同一个路径下。
  • broker 会往拥有最少数目分区的路径新增分区,而不是往拥有最小磁盘空间的路径新增分区。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
Java中,可以使用以下代码来配置Kafka参数: ```java import java.util.Properties; import org.apache.kafka.clients.producer.ProducerConfig; import org.apache.kafka.clients.consumer.ConsumerConfig; public class KafkaConfigExample { public static void main(String[] args) { Properties props = new Properties(); // Kafka Producer 配置 props.put(ProducerConfig.BOOTSTRAP_SERVERS_CONFIG, "localhost:9092"); props.put(ProducerConfig.KEY_SERIALIZER_CLASS_CONFIG, "org.apache.kafka.common.serialization.StringSerializer"); props.put(ProducerConfig.VALUE_SERIALIZER_CLASS_CONFIG, "org.apache.kafka.common.serialization.StringSerializer"); // Kafka Consumer 配置 props.put(ConsumerConfig.BOOTSTRAP_SERVERS_CONFIG, "localhost:9092"); props.put(ConsumerConfig.GROUP_ID_CONFIG, "my-consumer-group"); props.put(ConsumerConfig.KEY_DESERIALIZER_CLASS_CONFIG, "org.apache.kafka.common.serialization.StringDeserializer"); props.put(ConsumerConfig.VALUE_DESERIALIZER_CLASS_CONFIG, "org.apache.kafka.common.serialization.StringDeserializer"); // 其他配置 props.put(ProducerConfig.ACKS_CONFIG, "all"); // 使用配置创建 Kafka Producer 或 Consumer // KafkaProducer<String, String> producer = new KafkaProducer<>(props); // KafkaConsumer<String, String> consumer = new KafkaConsumer<>(props); } } ``` 上述代码中,我们使用`Properties`类来创建一个属性对象`props`,然后使用`props.put()`方法来设置不同的Kafka参数。例子中展示了一些常用的配置参数,比如`BOOTSTRAP_SERVERS_CONFIG`(Kafka集群地址)、`KEY_SERIALIZER_CLASS_CONFIG`(键的序列化器类)和`VALUE_SERIALIZER_CLASS_CONFIG`(值的序列化器类)等。 你可以根据自己的需求进一步配置其他参数。注意,在创建Kafka Producer 或 Consumer 时,你需要将这个`props`对象传递给构造函数。 以上是一个简单的示例,你可以根据自己的实际情况进行更多的配置

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

悠然予夏

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值