kafka入门(二、安装zookeeper和kafka)

1.zookeeper的安装

1.1.下载zookeeper

本文下载的版本apache-zookeeper-3.6.1-bin.tar.gz

1.2.修改zookeeper配置文件

conf/zoo_sample.cfg复制一份副本,conf/zoo.cfg

修改配置项

dataDir=/data/software/apache-zookeeper-3.6.1-bin/tmp

根据自己的情况修改目录

1.3.启动zookeeper

linux 启动命令 zkServer.sh start

关闭zookeeper命令 zkServer.sh stop

如果是windows系统

启动命令zkServer.cmd

退出ctrl+c

1.4.查看brokers的id

./zkCli.sh

ls /brokers/ids

2.kafka的安装

2.1.下载kafka

本文下载的版本kafka_2.12-2.5.0.tgz

2.2.修改kafka配置文件

conf/server.properties复制3个副本,分布为conf/server1.properties,conf/server2.properties,conf/server3.properties

修改三个属性:

broker.id 此id不能重复

listeners 端口号

log.dirs 日志存放目录

 server1.properties修改为

broker.id=1

listeners=PLAINTEXT://:9011

log.dirs=/data/software/kafka_2.12-2.5.0/logs/log1

 server2.properties修改为

broker.id=2

listeners=PLAINTEXT://:9012

log.dirs=/data/software/kafka_2.12-2.5.0/logs/log2

 server3.properties修改为

broker.id=3

listeners=PLAINTEXT://:9013

log.dirs=/data/software/kafka_2.12-2.5.0/logs/log3

2.3启动kafka

查看zookeeper的broker的id(参考1.4章节)

可以看到没有已启动的id

启动1个kafka的节点server1.properties

常规模式启动kafka

bin/kafka-server-start.sh config/server1.properties

进程守护模式启动kafka

nohup bin/kafka-server-start.sh config/server1.properties >/dev/null 2>&1 & 

启动成功后,查看zookeeper的broker的id(参考1.4章节)

可以看到已经有一个节点1已启动

 2.4关闭kafka的命令

只有一个kafka时,

bin/kafka-server-stop.sh

3.单节点kafka

3.1创建topic

bin/kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 1 --partitions 1 --topic test

3.2查看topic

bin/kafka-topics.sh --list --zookeeper localhost:2181

3.3发送消息

bin/kafka-console-producer.sh --broker-list localhost:9011 --topic test

3.4接收消息

bin/kafka-console-consumer.sh --bootstrap-server localhost:9011 --topic test --from-beginning

 

 4.多节点kafka

 4.1再启动两个kafka节点

由于2.2章节已配置了两个配置文件server2.properties和server3.properties

这里可以直接启动

nohup bin/kafka-server-start.sh config/server2.properties >/dev/null 2>&1 & 

nohup bin/kafka-server-start.sh config/server3.properties >/dev/null 2>&1 & 

参考1.4章节查看broker

 

 

 可以看到节点2和3都已启动。

4.2创建3个副本的topic

bin/kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 3 --partitions 1 --topic test3

4.3查看topic

bin/kafka-topics.sh --describe --zookeeper localhost:2181 --topic test3

第一行给出了所有 partition 的一个总结,每行给出了一个 partition 的信息。因为我们这个 topic 只有一个 partition 所以只有一行信息。

“leader” 负责响应给定 partition 的所有读和写请求。每个节点都会是从所有 partition 集合随机选定的一个子集的“leader”

“replicas” 是一个节点列表,包含所有复制了此 partition log 的节点,不管这个节点是否为 leader 也不管这个节点当前是否存活

“isr” 是当前处于同步状态的副本。这是“replicas”列表的一个子集表示当前处于存活状态并且与 leader 一致的节点

 对比一下单节点的topic

 4.4发送消息

bin/kafka-console-producer.sh --broker-list localhost:9011 --topic test3

4.5接收消息

bin/kafka-console-consumer.sh --bootstrap-server localhost:9011 --from-beginning --topic test3

 

posted @ 2020-06-09 11:33  微风吹过jy  阅读(238)  评论(0)    收藏  举报