安装openjdk-8-jdk

sudo apt-get install openjdk-8-jdk

查看java版本,看看是否安装成功

java -version

安装Zookeeper

apt-get install zookeeper

安装Kafka

mkdir kafka
cd kafka
wget http://mirrors.tuna.tsinghua.edu.cn/apache/kafka/2.2.1/kafka_2.11-2.2.1.tgz  

tar -xzf kafka_2.11-2.2.1.tgz --strip 1

配置Kafka

配置文件路径 ~/kafka/config/server.properties

默认情况下,Kafka不允许您删除主题。 要能够删除主题,请在文件末尾添加以下行

delete.topic.enable = true

远程访问需要加上主机名

advertised.host.name=对外IP地址

以及ZooKeeper地址

zookeeper.connect=ZooKeeper对外IP地址:2181

启动服务

1、启动 zk

使用安装包中的脚本启动单节点 Zookeeper 实例:

bin/zookeeper-server-start.sh -daemon config/zookeeper.properties
2、启动Kafka 服务

使用 kafka-server-start.sh 启动 kafka 服务:

bin/kafka-server-start.sh config/server.properties
或者(后台运行)
bin/kafka-server-start.sh config/server.properties 1>/dev/null 2>&1 &

1>/dev/null 2>&1 是将命令产生的输入和错误都输入到空设备,也就是不输出的意思。/dev/null 代表空设备,“/”不要漏掉,否则会报 -bash: dev/null not a file or dirctory 的错误 ;

#停止kafka
bin/kafka-server-stop.sh

#停止zookeeper
bin/zookeeper-server-stop.sh

创建 topic

使用 kafka-topics.sh 创建单分区单副本的 topic test:

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

查看 topic 列表

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

产生消息

使用 kafka-console-producer.sh 发送消息:

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

消费消息

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

查看描述 topics 信息

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

远程访问

打开config/server.properties配置文件,更改如下

把31行的注释去掉listeners=PLAINTEXT://:9092

把36行的注释去掉,把advertised.listeners值改为PLAINTEXT://host_ip:9092(我的服务器ip是192.168.3.45)

Logo

Kafka开源项目指南提供详尽教程,助开发者掌握其架构、配置和使用,实现高效数据流管理和实时处理。它高性能、可扩展,适合日志收集和实时数据处理,通过持久化保障数据安全,是企业大数据生态系统的核心。

更多推荐