乐趣区

关于kafka:kafka集群的搭建

一、背景

最近在学习 kafka,此处记录一下 mac上 搭建 kafka集群的步骤。

二、装置软件

因为 kafka 依赖 zookeeper 因而须要装置 zookeeper,而 kafka 是基于 scala 语言编写,scala又是基于 jdk的,因而须要装置 jdk
1、JDK , 举荐在 jdk8 及以上的版本,此处装置 jdk 略。
2、zookeeper , 在本机搭建一个 3 个节点的 zk 伪集群。
3、kafka 在本地搭建一个 3 个节点的 kafka 集群。

三、装置步骤

1、搭建一个 3 个节点的 zk 伪集群

ip 客户端连贯端口 集群选举接口 集群原子播送接口 server.id 中 id 的值 节点名,目前没用到,这个配置到 hosts 文件中
127.0.0.1 2181 12888 13888 1 zk01
127.0.0.1 3181 22888 23888 2 zk02
127.0.0.1 4181 32888 33888 3 zk03

留神:
1、server.id的中的 id 的配置是在 zoo.cfg配置文件的 dataDir 配置项指定的目录中 创立 myid文件指定的。

1、下载 zookeeper 安装包

get https://mirror.bit.edu.cn/apache/zookeeper/zookeeper-3.6.2/apache-zookeeper-3.6.2-bin.tar.gz

2、解压三份,并搁置在 zookeeper 目录中

3、批改 zookeeper 配置文件,此处以 zk01 为例子

1、批改 conf 目录下的 zoo_sample.cfg 为 zoo.cfg

2、编辑 zoo.cfg 配置文件

留神:
1、此处拿 zk01 为示例编写,因为是本地上启动多个,所以 需要批改端口
2、各个服务器上的 myid 文件对应的值 都应该不一样,且惟一。
3、dataDir 的门路须要批改。
4、其余的配置能够看着批改,看具体的状况。

5、启动 3 个 zk 节点

别离进入到 zk01/bin,zk02/bin,zk03/bin目录下执行 如下命令

 ./zkServer.sh --config ../conf start

6、连贯 zk 集群

./zkCli.sh -server 127.0.0.1:2181,127.0.0.1:3181,127.0.0.1:4181

2、搭建一个 3 个节点的 kafka 集群

ip 客户端连贯端口 broker.id
127.0.0.1 9092 0
127.0.0.1 9093 1
127.0.0.1 9094 2

留神:
1、broker.id的值必须惟一,且是数字。

1、下载 kafka

https://www.apache.org/dyn/closer.cgi?path=/kafka/2.6.0/kafka_2.13-2.6.0.tgz

2、解压 3 份, 并搁置到 kafka 目录中

3、批改 server.properties 文件,此处以 kafka01 为例子

须要批改的属性 ,此处以kafka01 为示例, 不同的接口批改具体的值

属性名 属性值 形容
broker.id 0 每个 kafka 节点上配置的都须要不一样
listeners PLAINTEXT://127.0.0.1:9092 每个 kafka 节点上配置的都须要不一样,PLAINTEXT 示意明文传输
log.dirs ../logs 日志文件门路
zookeeper.connect 127.0.0.1:2181,127.0.0.1:3181,127.0.0.1:4181 zk 服务器地址
num.partitions 1 主题默认的分区数
log.retention.hours 168 管制日志文件保留的工夫, 单位小时

4、启动 3 个 kafka 节点

顺次进入到 kafka01/bin,kafka02/bin,kafka03/bin 目录, 执行如下命令

./kafka-server-start.sh ../config/server.properties & 

5、kafka 测试

此处以 kafka01作为示例

1、创立一个主题
bin/kafka-topics.sh --create --topic test-001 --replication-factor 1 --partitions 1 --bootstrap-server 127.0.0.1:9092,127.0.0.1:9093,127.0.0.1:9094

2、查看主题信息
bin/kafka-topics.sh --describe --bootstrap-server 127.0.0.1:9092,127.0.0.1:9093,127.0.0.1:9094 --topic test-001

3、往创立的主题中公布一条信息
bin/kafka-console-producer.sh --topic test-001 --bootstrap-server 127.0.0.1:9092,127.0.0.1:9093,127.0.0.1:9094

4、读取刚刚往主题中公布的音讯
bin/kafka-console-consumer.sh --topic test-001 --from-beginning --bootstrap-server 127.0.0.1:9092,127.0.0.1:9093,127.0.0.1:9094


到此,一个简略的可用的 kafka 集群就搭建结束了。

四、参考文档

1、https://zookeeper.apache.org/
2、https://kafka.apache.org/documentation/#quickstart

退出移动版