zoukankan      html  css  js  c++  java
  • 大数据学习之Kafka消息队列31

    一:Kafka概述

    离线部分:

    Hadoop->离线计算(hdfs / mapreduce) yarn

    zookeeper->分布式协调(动物管理员)

    hive->数据仓库(离线计算 / sql)easy coding

    flume->数据采集

    sqoop->数据迁移mysql->hdfs/hive hdfs/hive->mysql

    Azkaban->任务调度工具

    hbase->数据库(nosql)列式存储 读写速度

    实时:

    kafka

    storm

    官网:

    http://kafka.apache.org/

    ApacheKafka®是一个分布式流媒体平台

    流媒体平台有三个关键功能:

    发布和订阅记录流,类似于消息队列或企业消息传递系统。

    以容错的持久方式存储记录流。

    记录发生时处理流。

    Kafka通常用于两大类应用:

    构建可在系统或应用程序之间可靠获取数据的实时流数据管道

    构建转换或响应数据流的实时流应用程序

    二:kafka是什么?

    在流计算中kafka主要功能是用来缓存数据storm可以通过消费kafka中的数据进行流计算。

    是一套开源的消息系统,由scala写成。支持javaAPI的。

    kafka最初由LinkedIn公司开发,2011年开源。

    2012年从Apache毕业。

    是一个分布式消息队列,kafka读消息保存采用Topic进行归类。

    三:角色

    发送消息:Producer(生产者)

    接收消息:Consumer(消费者)

    为什么要用消息队列

    1)解耦

    为了避免出现问题

    2)拓展性

    可增加处理过程

    3)灵活

    面对访问量剧增,不会因为超负荷请求而完全瘫痪。

    4)可恢复

    一部分组件失效,不会影响整个系统。可以进行恢复。

    5)缓冲

    控制数据流经过系统的速度。

    6)顺序保证

    对消息进行有序处理。

    7)异步通信

    akka,消息队列提供了异步处理的机制。允许用户把消息放到队列 , 不立刻处理。

    介绍图:

    四:kafka架构设计

    kafka依赖zookeeper,用zk保存元数据信息。

    搭建kafka集群要先搭建zookeeper集群。

    zk在kafka中的作用?

    保存kafka集群节点状态信息和消费者当前消费信息。

    架构图:

    五:kafka集群安装部署

    1)官网下载安装包

    2)上传安装包

    3)解压安装包

    4)重命名

    5)修改配置文件    (config/server.properties)

    broker.id=0 #每台机器的id不同即可

    delete.topic.enable=true #是否允许删除主题

    log.dirs=/root/training/kafka/logs #运行日志保存位置(需提前在kafka目录下创建logs目录)

    zookeeper.connect=bigdata11:2181,bigdata12:2181,bigdata13:2181

    6)启动集群

    bin/kafka-server-start.sh config/server.properties &

    7)关闭

    bin/kafka-server-stop.sh

    六:Kafka命令行操作

    1)查看当前集群中已存在的主题topic

    bin/kafka-topics.sh --zookeeper bigdata11:2181 --list

    2)创建topic

    bin/kafka-topics.sh --zookeeper bigdata11:2181 --create --replication-facto

    r 3 --partitions 1 --topic guanxuan

    --zookeeper 连接zk集群

    --create 创建

    --replication-factor 副本

    --partitions 分区

    --topic 主题名

    3)删除主题

    bin/kafka-topics.sh --zookeeper bigdata11:2181 --delete --topic morning

    4)发送消息

    生产者启动:

    bin/kafka-console-producer.sh --broker-list bigdata11:9092 --topic morning

    消费者启动:

    bin/kafka-console-consumer.sh --bootstrap-server bigdata11:9092 --topi

    c morning--from-beginning

    5)查看主题详细信息

    bin/kafka-topics.sh --zookeeper bigdata11:2181 --describe --topic morning

  • 相关阅读:
    网络七层
    微信小程序开发工具 常用快捷键
    BZOJ 1026 windy数 (数位DP)
    BZOJ 1026 windy数 (数位DP)
    CodeForces 55D Beautiful numbers (SPOJ JZPEXT 数位DP)
    CodeForces 55D Beautiful numbers (SPOJ JZPEXT 数位DP)
    HDU 3709 Balanced Number (数位DP)
    HDU 3709 Balanced Number (数位DP)
    UVA 11361 Investigating Div-Sum Property (数位DP)
    UVA 11361 Investigating Div-Sum Property (数位DP)
  • 原文地址:https://www.cnblogs.com/hidamowang/p/10971485.html
Copyright © 2011-2022 走看看