Kafka是由Apache软件基金会开发的一个开源流处理平台,由Scala和Java编写。该项目的目标是为处理实时数据提供一个统一、高吞吐、低延迟的平台。其持久化层本质上是一个“按照分布式事务日志架构的大规模发布/订阅消息队列”,[4]这使它作为企业级基础设施来处理流式数据非常有价值。此外,Kafka可以通过Kafka Connect连接到外部系统(用于数据输入/输出),并提供了Kafka Streams——一个Java流式处理库。
大白话就是kafka其实消息队列得一种。
基于星环云课堂TranswarpVD
查看Zookeeper和Kafka集群的服务地址
打开Transwarp Manager查看Zookeeper集群和kafka的服务地址如下所示
zookeeper地址:
172.18.48.5:2181
172.18.48.6:2181
172.18.48.7:2181
kafka地址**(也就是Broker地址)**:
172.18.48.5:9092
172.18.48.6:9092
172.18.48.7:9092
172.18.48.8:9092
后续的命令替换
{Broker_List} :172.18.48.5:9092,172.18.48.6:9092,172.18.48.7:9092,172.18.48.8:9092
{Zookeeper_List}: 172.18.48.5:2181,172.18.48.6:2181,172.18.48.7:2181
{topic _name} :kafka_topic_zhanghaodong
? 掌握Kafka的基本使用。‘
? 了解Kafka消息的发布\订阅机制。
? 任务:利用TDH Client集成的Kafka客户端,创建名为{topic_name}的Kafka Topic,命名规范为kafka_topic_账号,如账号student1,则创建Topic为kafka_topic_student1。
? 步骤
Linux:
cd /transwarp/Desktop/TDH-Client/kafka/bin
// 进入TDH Client集成的Kafka客户端目录
./kafka-topics.sh --bootstrap-server {Broker_List} --create --topic {topic_ name} --partitions 1 --replication-factor 1 --command-config /transwarp/Desktop/TDH-Client/kafka/config/consumer.properties
// 创建Topic
./kafka-topics.sh --zookeeper {Zookeeper_List} --list
// 列出所有Topic,查看Topic是否创建成功
? 任务:在当前命令行窗口中,创建Kafka Console Producer,它负责在控制台向Kafka Topic发布消息。
? 步骤
Linux:
? 任务:新建一个命令行窗口,创建Kafka Console Consumer,它负责在控制台接收Kafka Topic的消息。
? 说明:在Producer窗口中输入消息并回车,消息发送到Kafka Topic,Consumer窗口可实时接收到消息。
? 步骤
Linux:
学习消息队列kafka原理得时候其实蛮痛苦得,因为很复杂。但是实际开发中用起来是很方便的,这个实验就是这样的。