Kafka集群部署与安装

一、什么是Kafka

Kafka是一个Pub-Sub的消息系统,无论是发布还是订阅,都须指定Topic。

Kafka是一种高吞吐量的分布式发布订阅消息系统,它可以处理消费者大规模的网站中的所有动作流数据

二、JMS:Java Message Service Java消息服务

1、用于在两个应用程序之间,或分布式系统中发送消息,进行异步通信

2、JMS提供者

消息中间件,如:Kafka,RabbitMQ,RoketMQ,ActiveMQ,HornetQ

3、JMS客户

JMS程序,负责发送消息和接收处理消息

4、JMS生产者

产生并发送消息的程序

5、JMS消费者

接收并处理消息的程序

6、JMS队列

存储消息,对应于点对点消息

7、JMS主题

存储消息,对应于发布订阅消息

8、JMS消息 两种JMS消息类型

(1)、点对点(Point to Point):消息分发给一个单独的使用者,绑定一个队列javax.jms.Queue

(2)、发布/订阅(Publish/Subscribe):消息发布到一个主题,多个使用者可以订阅该主题javax.jms.Topic

9、KAFKA消息中间件的特点

消息队列中间件保证消息不丢失,并且至少消费一次

三、安装SCALA

1、将课程提供的scala-2.11.12.tgz使用WinSCP拷贝到node1的/usr/local目录下。

2、对scala-2.11.12.tgz进行解压缩:tar -zxvf scala-2.11.12.tgz。

3、对scala目录进行重命名:mv scala-2.11.12 scala

4、配置scala相关的环境变量

vi .bashrc

export SCALA_HOME=/usr/local/scala

export PATH=PATH:SCALA_HOME/bin

source .bashrc

5、查看scala是否安装成功:scala -version

6、按照上述步骤在node2和node3机器上都安装好scala。使用scp将scala和.bashrc拷贝到node2和node3上即可。

7、检测:scala -version

四、安装KAFKA

1、将课程提供的kafka_2.11-0.10.0.0.tgz使用WinSCP拷贝到node1的/usr/local目录下。

2、对kafka_2.11-0.10.0.0.tgz进行解压缩:tar -zxvf kafka_2.11-0.10.0.0.tgz。

3、对kafka目录进行改名:mv kafka_2.11-0.10.0.0 kafka

4、配置kafka

vi /usr/local/kafka/config/server.properties

依次增长的整数,0、1、2、3、4,集群中Broker的唯一id

broker.id=1

port=9092

zookeeper.connect=node1:2181,node2:2181,node3:2181

五、KAFKA集群配置

1、按照上述步骤在node2和node3分别安装kafka。用scp把kafka拷贝到node2和node3行即可。

2、唯一区别的,就是server.properties中的broker.id,要设置为1和2

六、启动KAFKA集群

1、在三台机器上分别执行以下命令:nohup bin/kafka-server-start.sh config/server.properties &

2、使用jps检查启动是否成功

七、测试

创建 topic

bin/kafka-topics.sh --zookeeper node10:2181,node11:2181,node12:2181 --topic TestTopic --replication-factor 1 --partitions 1 --create

生产者

bin/kafka-console-producer.sh --broker-list node10:9092,node11:9092,node12:9092 --topic TestTopic

消费者

bin/kafka-console-consumer.sh --zookeeper node10:2181,node1a1:2181,node12:2181 --topic TestTopic --from-beginning

相关推荐
xuefeiniao44 分钟前
使用宝塔安装RabbitMQ,启动不起来
分布式·rabbitmq·ruby
分布式存储与RustFS3 小时前
Helm在Kubernetes上部署RustFS生产环境指南
分布式·零基础·picgo·对象存储·minio·rustfs
rchmin4 小时前
Nacos配置中心避坑指南:灵活配置 server-addr 的坑
分布式·nacos·动态配置
nashane5 小时前
HarmonyOS 6.0 分布式相机实战:调用远端设备摄像头与AI场景识别(API 11+)
分布式·数码相机·harmonyos·harmonyos 5
炘爚8 小时前
C++实现分布式集群聊天服务器
服务器·c++·分布式
gududexiao8 小时前
RabbitMQ 的介绍与使用
分布式·rabbitmq·ruby
Kristrina8 小时前
RabbitMQ高级特性----生产者确认机制
分布式·rabbitmq
渔民小镇8 小时前
5 分钟搭建桌游服务器:Room 模块 + 领域事件实战
java·运维·服务器·分布式·游戏
weixin_419658318 小时前
RabbitMQ 介绍
分布式·rabbitmq
未秃头的程序猿9 小时前
从“拆东墙补西墙”到“最终一致”:分布式事务在Spring Boot/Cloud中的破局之道
分布式·后端·spring cloud