kafka--多易杰哥讲解

        Kafka是一种分布式的流式数据平台,广泛应用于实时流数据处理和消息系统。它可以让处理数据的应用程序能够处理高流量的数据流,同时提供可靠性和可扩展性。 

【多易教育】-Kafka文档

1.基本概念

1.1什么是kafka  

Kafka 最初是由 LinkedIn 即领英公司基于 Scala 和 Java 语言开发的分布式消息发布-订阅系统,现已捐献给Apache 软件基金会。其具有高吞吐、低延迟的特性,许多大数据实时流式处理系统比如 Storm、Spark、Flink等都能很好地与之集成。

总的来讲,Kafka 通常具有 3 重角色:

  • 存储系统:通常消息队列会把消息持久化到磁盘,防止消息丢失,保证消息可靠性。Kafka 的消息持久化机制和多副本机制使其能够作为通用数据存储系统来使用。
  • 消息系统:Kafka 和传统的消息队列比如 RabbitMQ、RocketMQ、ActiveMQ 类似,支持流量削峰、服务解耦、异步通信等核心功能。 ==》 先进先出 ==》 只针对分区,不是全局的
  • 流处理平台:Kafka 不仅能够与大多数流式计算框架完美整合,并且自身也提供了一个完整的流式处理库,即 Kafka Streaming。Kafka Streaming 提供了类似 Flink 中的窗口、聚合、变换、连接等功能。

一句话概括:Kafka 是一个分布式的基于发布/订阅模式的消息中间件,在业界主要应用于大数据实时流式计算领域,起解耦合和削峰填谷的作用。

1.2kafka的特点

  • 高吞吐量、低延迟:kafka每秒可以处理几十万条消息,它的延迟最低只有几毫秒,每个topic可以分多个partition, 由多个consumer group 对partition进行consume操作。
  • 可扩展性:kafka集群支持热扩展
  • 持久性、可靠性:消息被持久化到本地磁盘,并且支持数据备份防止数据丢失
  • 容错性:允许集群中有节点失败(若副本数量为n,则允许n-1个节点失败)
  • 高并发:支持数千个客户端同时读写

Kafka在各种应用场景中,起到的作用可以归纳为这么几个术语:削峰填谷,解耦!

在大数据流式计算领域中,kafka主要作为计算系统的前置缓存和输出结果缓存;

2.安装部署

2.1安装zookeeper集群

  1. 上传安装包
  1. 移动到指定文件夹

Plain Text
 mv zookeeper-3.4.6.tar.gz  /opt/apps/

  1. 解压

Plain Text
tar -zxvf zookeeper-3.4.6.tar.gz

  1. 修改配置文件

Plain Text
(1)进入到conf目录下
cd /opt/apps/zookeeper-3.4.6/conf
(2)修改配置文件名称
mv  zoo_sample.cfg   zoo.cfg
(3)编辑配置文件
vi zoo.cfg
dataDir=/opt/apps/data/zkdata
server
.1=linux01:2888:3888
server
.2=linux01:2888:3888
server
.3=linux01:2888:3888

  1. 创建数据目录

Plain Text
mkdir -p /opt/apps/data/zkdata

  1. 在各个节点的数据存储目录中,生成一个myid文件,内容为它的id

Plain Text
echo 1 > /opt/apps/data/zkdata/myid
echo 2 > /opt/apps/data/zkdata/myid
echo 3 > /opt/apps/data/zkdata/myid

  1. 分发安装包

Plain Text
# 使用for循环分发
for i in {2..3};
do scp -r zookeeper-3.4.6 linux0$i:$PWD
done

  1. 配置环境变量

Plain Text
vi /etc/profile
#ZOOKEEPER_HOME
export ZOOKEEPER_HOME=/opt/apps/zookeeper-3.4.6
export PATH=$PATH:$ZOOKEEPER_HOME/bin

source /etc/profile
# 注意:还需要分发环境变量

  1. 启停集群

Plain Text
bin/zkServer.sh start   # zk服务启动
bin/zkServer.sh status  # zk查看服务状态
bin/zkServer.sh stop    # zk停止服务

  1. 一键启停脚本

(1)启动脚本

Plain Text
#!/bin/bash
for i in 1 2 3
do
ssh linux0${i} "source /etc/profile;/opt/apps/zookeeper-3.4.6/bin/zkServer.sh start"
done

(2)停止脚本

Plain Text
#!/bin/bash
for i in 1 2 3
do
ssh linux0${i} "source /etc/profile;/opt/apps/zookeeper-3.4.6/bin/zkServer.sh stop"
done

2.2安装kafka集群

  1. 上传安装包
  1. 解压

Plain Text
tar -zxvf kafka_2.11-2.2.2.tgz tar  -C /opt/apps/

  1. 修改配
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值