大数据实时计算---Kafka介绍(上)

本文介绍了大数据中常用的消息中间件Kafka,包括其基本概念、核心组件、集群搭建过程以及操作集群的两种方式。Apache Kafka是一个高通量、低延迟的消息平台,用于异步处理、解耦和削峰。文章详细讲解了Kafka集群的组建,从安装JDK和Zookeeper,到启动Zookeeper集群和部署Kafka,并提供了初步的操作命令和API使用示例。
摘要由CSDN通过智能技术生成

在介绍大数据实时计算介绍之前,我们先介绍大数据使用的消息中间件Kafka,在大数据中经常会被用到。

  • Kafka基本概念
  • Kafka集群的搭建
  • Kafka集群的操作

ApacheKafka的概念

我们从三个方面去理解什么是kafka

  • Apache Kafka 是一个消息队列(生产者消费者模式)
  • Apache Kafka 目标:构建企业中统一的、高通量、低延时的消息平台。

大多的是消息队列(消息中间件)都是基于JMS标准实现的,Apache Kafka 类似于JMS的实现。消息中间件一般要解决的问题下面的三种:
异步,解耦,削峰

在这里插入图片描述

ApacheKafka的基本架构

kafka的核心组件有下面几个:

  • Kafka Cluster:由多个服务器组成。每个服务器单独的名字broker。

  • Kafka Producer:生产者、负责生产数据。

  • Kafka consumer:消费者、负责消费数据。

  • Kafka Topic: 主题,一类消息的名称。存储数据时将一类数据存放在某个topci下,消费数据也是消费一类数据。

    • 订单系统:创建一个topic,叫做order。
    • 用户系统:创建一个topic,叫做user。
    • 商品系统:创建一个topic,叫做product。
  • 注意:Kafka的元数据都是存放在zookeeper中。


搭建Kafka集群

准备环境
  1. 安装jdk,安装zookeeper
  2. 安装目录规范
安装包存放的目录:/export/software
安装程序存放的目录:/export/servers
数据目录:/export/data
日志目录:/export/logs
  1. 验证环境
    JDK环境
    在这里插入图片描述
    zookeeper环境
    在这里插入图片描述
    在这里插入图片描述
启动zookeeper集群
  1. 一键启动脚本—>需要自己编写
  2. 手动启动
部署kafka集群
  1. 安装包的下载,解压,重命名

  2. 修改配置文件 conf目录下的server.properties文件,修改对应红色位置的三条数据
    在这里插入图片描述

  3. 分发节点
    使用命令 scp -r /export/server/kafka node02:/export/server/
    修改各个节点上的server.properties文件的broker.id,对应各个节点

启动集群
cd /export/servers/kafka/bin
./kafka-server-start.sh /export/servers/kafka/config/server.properties

掌握操作集群的两种方式

  1. 使用控制台操作集群

    创建一个topic

    ./kafka-topics.sh  --create --partitions 3 --replication-factor 2 --topic order --zookeeper node01:2181,node02:2181,node03:2181
    

    编写代码启动一个生产者,生产数据

    ./kafka-console-producer.sh  --broker-list node01:9092,node02:9092,node03:9092 --topic order
    

    编写代码启动给一个消费者,消费数据

    ./kafka-console-consumer.sh  --bootstrap-server node01:9092,node02:9092,node03:9092 --from-beginning --topic order
    
  2. Kafka 常用操作命令

    查看当前服务器中的所有topic
    bin/kafka-topics.sh --list --zookeeper zk01:2181
    
    删除topic
    bin/kafka-topics.sh --delete --zookeeper zk01:2181 --topic test
    需要server.properties 中设置delete.topic.enable=true 否则只是标记删除或者直接重启。
    
    查看某个Topic 的详情
    bin/kafka-topics.sh --topic test --describe --zookeeper zk01:2181
    
    对分区数进行修改
    bin/kafka-topics.sh --zookeeper zk01 --alter --partitions 2 --topic test
    
  3. 使用java API操作集群

    ​ 1.1创建maven工程,导入kafka-clients依赖

    <dependency>
        <groupId>org.apache.kafka<
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值