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

相关推荐
武子康41 分钟前
Java-71 深入浅出 RPC Dubbo 上手 父工程配置编写 附详细POM与代码
java·分布式·程序人生·spring·微服务·rpc·dubbo
武子康3 小时前
Java-72 深入浅出 RPC Dubbo 上手 生产者模块详解
java·spring boot·分布式·后端·rpc·dubbo·nio
橘子在努力6 小时前
【橘子分布式】Thrift RPC(理论篇)
分布式·网络协议·rpc
lifallen8 小时前
Kafka 时间轮深度解析:如何O(1)处理定时任务
java·数据结构·分布式·后端·算法·kafka
沈健_算法小生11 小时前
基于SpringBoot3集成Kafka集群
分布式·kafka·linq
Swift社区11 小时前
ELK、Loki、Kafka 三种日志告警联动方案全解析(附实战 Demo)
分布式·elk·kafka
chanalbert20 小时前
Nacos 技术研究文档(基于 Nacos 3)
spring boot·分布式·spring cloud
线条121 小时前
Spark 单机模式安装与测试全攻略
大数据·分布式·spark
C182981825751 天前
分布式ID 与自增区别
分布式
码字的字节1 天前
深入解析Hadoop架构设计:原理、组件与应用
大数据·hadoop·分布式·hadoop架构设计