大数据学习之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

原文地址:https://www.cnblogs.com/hidamowang/p/10971485.html

时间: 2024-10-02 19:26:17

大数据学习之Kafka消息队列31的相关文章

史上最全“大数据”学习资源整理

史上最全"大数据"学习资源整理 当前,整个互联网正在从IT时代向DT时代演进,大数据技术也正在助力企业和公众敲开DT世界大门.当今"大数据"一词的重点其实已经不仅在于数据规模的定义,它更代表着信息技术发展进入了一个新的时代,代表着爆炸性的数据信息给传统的计算技术和信息技术带来的技术挑战和困难,代表着大数据处理所需的新的技术和方法,也代表着大数据分析和应用所带来的新发明.新服务和新的发展机遇. 为了帮助大家更好深入了解大数据,云栖社区组织翻译了GitHub Aweso

2018年大数据学习路线图新鲜出炉:从此小白也能学懂编程

移动互联网的迅速崛起让数据变得更为多样.丰富.它的移动性,它的碎片化,它的私密性和随时性都刚好弥补了用户离开桌面电脑之后的数据,从而与原有的互联网数据一起很好滴勾勒出一个网民一天的生活,日常生活的数据化.现如今大数据已经上升到国家战略层面,企业对于大数据的关注和重视程度也在不断提升.今天小编就给大家分享一下2018年最新大数据学习路线图,希望能对广大大数据爱好者有所帮助. 第一阶段 Java语言基础: Java开发介绍.熟悉Eclipse开发工具.Java语言基础.Java流程控制.Java字符

大数据学习路线图 让你精准掌握大数据技术学习?

大数据指不用随机分析法这样捷径,而采用所有数据进行分析处理的方法.互联网时代每个企业每天都要产生庞大的数据,对数据进行储存,对有效的数据进行挖掘分析并应用需要依赖于大数据开发,大数据开发课程采用真实商业数据源并融合云计算+机器学习,让学员有实力入职一线互联网企业. 今天小编的技术分享详细学习大数据的精准路线图,学好大数据就还得靠专业的工具. 大数据学习QQ群:119599574 阶段一. Java语言基础 Java开发介绍.熟悉Eclipse开发工具.Java语言基础.Java流程控制.Java

大数据学习之Hadoop快速入门

1.Hadoop生态概况 Hadoop是一个由Apache基金会所开发的分布式系统集成架构,用户可以在不了解分布式底层细节情况下,开发分布式程序,充分利用集群的威力来进行高速运算与存储,具有可靠.高效.可伸缩的特点.大数据学习资料分享群119599574 Hadoop的核心是YARN,HDFS,Mapreduce,常用模块架构如下 2.HDFS 源自谷歌的GFS论文,发表于2013年10月,HDFS是GFS的克隆版,HDFS是Hadoop体系中数据存储管理的基础,它是一个高度容错的系统,能检测和

大数据学习路线指导,告诉你如何学习大数据

大数据指不用随机分析法这样捷径,而采用所有数据进行分析处理的方法.互联网时代每个企业每天都要产生庞大的数据,对数据进行储存,对有效的数据进行挖掘分析并应用需要依赖于大数据开发,大数据开发课程采用真实商业数据源并融合云计算+机器学习,让学员有实力入职一线互联网企业. 今天小编的技术分享详细学习大数据的精准路线图, ? ? 阶段一. Java语言基础 Java开发介绍.熟悉Eclipse开发工具.Java语言基础.Java流程控制.Java字符串.Java数组与类和对象.数字处理类与核心技术.I/O

大数据学习路线 让你精准掌握大数据技术学习

大数据指不用随机分析法这样捷径,而采用所有数据进行分析处理的方法.互联网时代每个企业每天都要产生庞大的数据,对数据进行储存,对有效的数据进行挖掘分析并应用需要依赖于大数据开发,大数据开发课程采用真实商业数据源并融合云计算+机器学习,让学员有实力入职一线互联网企业. 今天小编的技术分享详细学习大数据的精准路线图,学好大数据就还得靠专业的工具. 阶段一. Java语言基础 Java开发介绍.熟悉Eclipse开发工具.Java语言基础.Java流程控制.Java字符串.Java数组与类和对象.数字处

大数据学习路径

大数据学习路径我vx ①⑤零零③④③⑥⑨③① 备注 A 更多大数据第一阶段linux+搜索+hadoop体系 Linux基础→shell编程→高并发架构→lucene,solr搜索→hadoop体系→HDFS→mapreduce→hbase→zookeeper→hive→flume→sqoop→项目实战一 第二阶段机器学习 R语言→mahout→项目实战二 第三阶段storm流式计算 kafka→storm→redis→项目实战三 第四阶段spark内存计算 scala编程→spark core

大数据学习路线及各阶段学习书籍推荐

大数据学习路线及各阶段学习书籍推荐!废话不多说,直接切入主题,有需要的小伙伴可以参考学习! 阶段一.大数据基础--java语言基础方面 (1)Java语言基础 Java开发介绍.熟悉Eclipse开发工具.Java语言基础.Java流程控制.Java字符串.Java数组与类和对象.数字处理类与核心技术.I/O与反射.多线程.Swing程序与集合类 (2) HTML.CSS与JavaScript PC端网站布局.HTML5+CSS3基础.WebApp页面布局.原生JavaScript交互功能开发.

大数据怎么学习?从零开始大数据学习路线

大数据.人工智能的崛起,都让很多人看到了信息技术的日新月异,也推动了更多传统型企业逐渐往互联网企业转型.如何更好的去分析客户群体,去抓住自己的客户所需,是离不开大数据的帮助的!为此,也有越来越多的企业看到大数据程序员岗位的重要性,不断的招兵买马,以求让自己的企业能够在这信息时代的竞争中立于不败之地!创一个小群,供大家学习交流聊天如果有对学大数据方面有什么疑惑问题的,或者有什么想说的想聊的大家可以一起交流学习一起进步呀.也希望大家对学大数据能够持之以恒大数据爱好群,如果你想要学好大数据最好加入一个