在自己的mac上安装Kafka,直接执行命令brew install kafka,结果报了如下提示:

kafka: Java 1.8 is required to install this formula.
JavaRequirement unsatisfied!
You can install with Homebrew Cask:
brew cask install homebrew/cask-versions/java8
You can download from:
https://www.oracle.com/technetwork/java/javase/downloads/index.html

从提示中,可以看出是缺少java1.8的jdk。于是执行命令brew cask install homebrew/cask-versions/java8,安装Java1.8的jdk

接着可能报错:

Updating Homebrew...
Error: Cask 'java8' is unavailable: '/usr/local/Homebrew/Library/Taps/homebrew/homebrew-cask-versions/Casks/java8.rb' does not exist.

接着执行命令

brew cask install homebrew/cask-versions/adoptopenjdk8

,然后再安装kafka,

brew install kafka

至此,mac上安装kafka的过程结束。

运行kafka是需要依赖于zookeeper的,所以安装kafka的时候也会包含zookeeper。

kafka的安装目录:/usr/local/Cellar/kafka/2.0.0/bin
kafka的配置文件目录:/usr/local/Cellar/kafka/2.0.0/bin
kafka服务的配置文件:/usr/local/etc/kafka/server.properties
zookeeper配置文件: /usr/local/etc/kafka/zookeeper.properties 

 


1. ​​# server.properties中的重要配置​​
2.
3. ​​broker.id=0​​
4. ​​listeners=PLAINTEXT://:9092​​
5. ​​advertised.listeners=PLAINTEXT://127.0.0.1:9092​​
6. ​​log.dirs=/usr/local/var/lib/kafka-logs​​

 

1. ​​# zookeeper.properties中的重要配置​​
2.
3. ​​dataDir=/usr/local/var/lib/zookeeper​​
4. ​​clientPort=2181​​
5. ​​maxClientCnxns=0​​

使用以下命令,就可以启动zookeeper和Kafka:

1.在执行各命令前,先转到kafka的bin目录,

cd /usr/local/Cellar/kafka/2.0.0/bin

2.首先,启动zookeeper:

zookeeper-server-start /usr/local/etc/kafka/zookeeper.properties

3.然后,启动Kafka:

kafka-server-start /usr/local/etc/kafka/server.properties

4.接下来,让我们创建一个“使用单个分区”、“只有一个副本”、名为“test”的主题的topic,

kafka-topics --create --zookeeper localhost:2181 --replication-factor 1 --partitions 1 --topic test

5.查看创建的topic,运行list topic命令:

kafka-topics --list --zookeeper localhost:2181

6.生产消息:

在命令行启动一个Kafka生产者,从文件或标准输入接收输入,并将其作为消息发送到Kafka集群。默认情况下,每行都将作为单独的消息发送。

kafka-console-producer --broker-list localhost:9092 --topic test

7.消费消息:

在命令行启动一个Kafka消费者,将消息转储到标准输出。

kafka-console-consumer --bootstrap-server localhost:9092 --topic test --from-beginning

8.如果想删除topic,可以使用如下命令:

kafka-topics --delete  --zookeeper localhost:2181 --topic