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

相关推荐
掘金-我是哪吒7 小时前
分布式微服务系统架构第156集:JavaPlus技术文档平台日更-Java线程池使用指南
java·分布式·微服务·云原生·架构
亲爱的非洲野猪8 小时前
Kafka消息积压的多维度解决方案:超越简单扩容的完整策略
java·分布式·中间件·kafka
活跃家族8 小时前
分布式压测
分布式
前端世界9 小时前
HarmonyOS开发实战:鸿蒙分布式生态构建与多设备协同发布全流程详解
分布式·华为·harmonyos
DavidSoCool10 小时前
RabbitMQ使用topic Exchange实现微服务分组订阅
分布式·微服务·rabbitmq
掘金-我是哪吒11 小时前
分布式微服务系统架构第158集:JavaPlus技术文档平台日更-JVM基础知识
jvm·分布式·微服务·架构·系统架构
东窗西篱梦12 小时前
Redis集群部署指南:高可用与分布式实践
数据库·redis·分布式
Acrel_Fanny12 小时前
Acrel-1000系列分布式光伏监控系统在湖北荆门一马光彩大市场屋顶光伏发电项目中应用
分布式
xufwind12 小时前
spark standlone 集群离线安装
大数据·分布式·spark
半新半旧13 小时前
Redis集群和 zookeeper 实现分布式锁的优势和劣势
redis·分布式·zookeeper