Apache Kafka

什么是Kafka?

Apache Kafka是一个分布式发布 - 订阅消息系统和一个强大的队列,可以处理大量的数据,并使您能够将消息从一个端点传递到另一个端点。 Kafka适合离线和在线消息消费。 Kafka消息保留在磁盘上,并在群集内复制以防止数据丢失。

Kafka 的安装(Ubuntu 18.04 arm64)

安装 Java

更新软件包并安装 openjdk-8-jdk (OJBK? |・ω・`))

sudo apt-get update
sudo apt-get install openjdk-8-jdk
java -version # 查看java是否安装成功

安装 Zookeeper

从官网:http://zookeeper.apache.org/releases.html (opens new window)下载最新版本

wget https://downloads.apache.org/zookeeper/zookeeper-3.6.0/apache-zookeeper-3.6.0.tar.gz
tar -zxf apache-zookeeper-3.6.0.tar.gz
cd apache-zookeeper-3.6.0/
mkdir data
vi conf/zoo.cfg
# 作以下配置
# tickTime=2000
# dataDir=/path/to/zookeeper/data
# clientPort=2181
# initLimit=5
# syncLimit=2
bin/zkServer.sh start # 启动 Zookeeper

安装 Kafka

下载地址:https://kafka.apache.org/downloads (opens new window)

wget https://downloads.apache.org/kafka/2.5.0/kafka_2.12-2.5.0.tgz
tar -zxf kafka_2.12-2.5.0.tgz
cd kafka_2.12-2.5.0/
mkdir logs
vi config/server.properties 
# 作以下配置
# broker.id=1
# listeners=PLAINTEXT://:9092
# advertised.listeners=PLAINTEXT://host_ip:9092
# log.dirs=/PATH/TO/kafka_2.12-2.5.0/logs

测试

# 启动 Zookeeper
bin/zookeeper-server-start.sh -daemon config/zookeeper.properties
# 启动 Kafka 服务
bin/kafka-server-start.sh config/server.properties
# 创建 topic
bin/kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 1 --partitions 1 --topic Hello-Kafka
# 创建消息生产者
bin/kafka-console-producer.sh --broker-list localhost:9092 --topic Hello-Kafka
# 创建消息消费者
bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic Hello-Kafka --from-beginning