Kafka是由Apache软件基金会开发的一个开源流处理平台,同时也是一个高吞吐量的分布式发布订阅消息系统。它由Scala和Java编写,具有多种特性和广泛的应用场景。
Kafka是一个分布式消息系统,它允许生产者(Producer)发布消息到指定的主题(Topic),消费者(Consumer)可以订阅这些主题并消费其中的消息。
Kafka具有高吞吐量、低延迟、可扩展性、持久性、可靠性等特性,非常适合处理大规模数据流和实时数据处理任务。
ZooKeeper是一个分布式的、开放源码的分布式应用程序协调服务,它为分布式应用提供一致性服务。
1、安装Zookeeper
下载地址:Apache Download Mirrors
下载pache-zookeeper-3.9.2-bin.tar.gz
解压:tar -zxvf apache-zookeeper-3.9.2-bin.tar.gz -C ~/training/
2、配置Zookeeper环境变量:
> vi ~/bashrc, 在最下面添加:
ZOOKEEPER_HOME=/home/worker/training/apache-zookeeper-3.9.2-bin
export ZOOKEEPER_HOME
PATH=$ZOOKEEPER_HOME/bin:$PATH
export PATH
3、配置conf/zoo.cfg:
dataDir=/home/worker/training/apache-zookeeper-3.9.2-bin/tmp/zookeeper
server.1=demo1:2888:3888 //demo1是主机名
在/home/worker/training/apache-zookeeper-3.9.2-bin/tmp目录下创建文本文件myid,写入1。
4、启动zookeeper
./bin/zkServer.sh start
5、下载Kafka
下载地址:Apache Kafka
下载 kafka_2.13-3.8.0.tgz
tar -zxvf kafka_2.13-3.8.0.tgz -C ~/training/
6、配置kafka
vi ~/training/kafka_2.13-3.8.0/config/server.properties
log.dirs=/home/worker/training/kafka_2.13-3.8.0/tmp/kafka-logs
vi ~/training/kafka_2.13-3.8.0/config/zookeeper.properties
dataDir=/home/worker/training/apache-zookeeper-3.9.2-bin
7、测试Kafka收发消息
启动kafka:
bin/kafka-server-start.sh config/server.properties&
创建主题:
./bin/kafka-topics.sh --create --bootstrap-server demo1:9092 --replication-factor 1 --partitions 1 --topic mydemo1
启动生产者:
bin/kafka-console-producer.sh --broker-list demo1:9092 --topic mydemo1
启动消费者:
bin/kafka-console-consumer.sh --bootstrap-server demo1:9092 --topic mydemo1
测试方法:在生产者终端输入信息,在消费者终端即可同步显示,如下图所示: