/*目录*/

kafka

Kafka是什么

Kafka是由LinkedIn开发的一个分布式的消息系统,使用Scala编写,是一种消息中间件

为什么要使用Kafka

– 解耦、冗余、提高扩展性、缓冲
– 保证顺序,灵活,削峰填谷
– 异步通信

Kafka角色与集群结构

– producer:生产者,负责发布消息

– consumer:消费者,负责读取处理消息

– topic:消息的类别

– Parition:每个Topic包含一个或多个Partition

– Broker:Kafka集群包含一个或多个服务器

Kafka通过Zookeeper管理集群配置,选举Leader

Kafka集群的安装配置

Kafka集群的安装配置依赖Zookeeper,搭建Kafka集群之前,请先创建好一个可用的Zookeeper集群

– 安装OpenJDK运行环境
– 同步Kafka拷贝到所有集群主机
– 修改配置文件
– 启动与验证

步骤一:搭建Kafka集群

1)解压 kafka 压缩包(node1,node2,node3)
[root@node1 ~]# tar -xf kafka_2.10-0.10.2.1.tgz

2)把 kafka 拷贝到 /usr/local/kafka 下面
[root@node1 ~]# mv kafka_2.10-0.10.2.1 /usr/local/kafka

3)修改配置文件 /usr/local/kafka/config/server.properties
   vim /usr/local/kafka/config/server.properties
	broker.id=22			#21行
	zookeeper.connect=node1:2181,node2:2181,node3:2181	#122行

4)拷贝 kafka 到其他主机,并修改 broker.id ,不能重复

5)启动 kafka 集群(node1,node2,node3启动),启动后,kafka监听9092端口
[root@node1 local]# /usr/local/kafka/bin/kafka-server-start.sh -daemon /usr/local/kafka/config/server.properties 
[root@node1 local]#jps

验证:
– jps命令应该能看到Kafka模块
– netstat应该能看到9092在监听

6)验证配置,创建一个 topic
[root@node1 local]# /usr/local/kafka/bin/kafka-topics.sh --create --partitions 1 --replication-factor 1 --zookeeper node1:2181 --topic aa
// --create 创建消息
// --partitions 块数

7) 模拟生产者,发布消息 #不退出,写什么,接收者就会看到什么
[root@node2 ~]# /usr/local/kafka/bin/kafka-console-producer.sh --broker-list node2:9092 --topic aa

8)模拟消费者,接收消息 #不退出
[root@node3 ~]# /usr/local/kafka/bin/kafka-console-consumer.sh --bootstrap-server node1:9092 --topic aa

aa就是一个名称,好似房间号

kafka中文文档

posted @ 2020-07-16 10:05  嘟嘟噜~  阅读(103)  评论(0编辑  收藏  举报