Confluent/KRaft:修订间差异

来自Gea-Suan Lin's Wiki
跳到导航 跳到搜索
此页面具有访问限制。如果您看见此消息,则说明您没有权限访问此页面。
第23行: 第23行:
* <code>node.id</code>每台機器都不同。
* <code>node.id</code>每台機器都不同。
* <code>controller.quorum.voters</code>的<code>n@hostname:19092</code>格式中,<code>n</code>就是<code>node.id</code>,而hostname為可以連到的位置(可以是IP)。
* <code>controller.quorum.voters</code>的<code>n@hostname:19092</code>格式中,<code>n</code>就是<code>node.id</code>,而hostname為可以連到的位置(可以是IP)。
* <code>CONTROLLER</code>是沿襲[[Apache Kafka]]文件的傳統,你看完一堆文件後不知道他到底是什麼意思,文件自身也互相矛盾。


 接著先產生<code>--cluster-id=</code>後面需要用到的值,三台的值都會是同一個:
 接著先產生<code>--cluster-id=</code>後面需要用到的值,三台的值都會是同一個:

2023年5月31日 (三) 06:43的版本

Confluent/KRaftApache Kafka在2.8之后推出的功能,由Confluent包装的版本,目的是为了取代Apache ZooKeeper的功能。

设定

Controller

这边是三controller机的设定。

先把/etc/kafka/kraft/controller.properties复制到/etc/kafka/server.properties下,然后把以下的设定值改成对应的值:

process.roles=controller
node.id=1
controller.quorum.voters=1@kafka-controller-1.example.com:19092,2@kafka-controller-2.example.com:19092,3@kafka-controller-3.example.com:19092
listeners=CONTROLLER://kafka-controller-1.example.com:19092
controller.listener.names=CONTROLLER
listener.security.protocol.map=CONTROLLER:PLAINTEXT,PLAINTEXT:PLAINTEXT,SSL:SSL,SASL_PLAINTEXT:SASL_PLAINTEXT,SASL_SSL:SASL_SSL
log.dirs=/opt/kraft-controller-logs

其中需要特别讲解的是:

  • node.id每台机器都不同。
  • controller.quorum.votersn@hostname:19092格式中,n就是node.id,而hostname为可以连到的位置(可以是IP)。
  • CONTROLLER是沿袭Apache Kafka文件的传统,你看完一堆文件后不知道他到底是什么意思,文件自身也互相矛盾。

接着先产生--cluster-id=后面需要用到的值,三台的值都会是同一个:

kafka-storage random-uuid

接着透过kafka-storage/opt/kraft-controller-logs这个目录初始化,这边会用sudo -u cp-kafka要确保目录权限正确:

sudo -u cp-kafka kafka-storage format --config=/etc/kafka/server.properties --cluster-id=xxxxxxxxxxxxxxxxxxxxxx

相关条目

外部链接