大数据技术之Kafka.pdf

所需积分/C币:36 2019-09-15 19:25:54 1.48MB PDF
45
收藏 收藏
举报

大数据技术之Kafka.pdf文档,本文档介绍了大数据技术之Kafka,是一份比较不错的文档
心i 硅 尚硅谷大数据技术之Kaka 2) Kafka最初是由 Linkedin公司开发,并于2011年初开源。2012年10月从 Apache incubator毕业。该项目的目标是为处珄实时数据提供一个统一、高通量、低等待的平台。 3) Kafka是一个分布式消息队列。 Kafka对消息保存时根据 Topic进行归类,发送消息 者称为 Producer,消息接受者称为 Consumer,此外 kafka集群有多个 kafka实例组成,每个 实例( server)称为 broker 4)无论是 kafka集群,还是 consumer都依赖于 zookeeper集群保存一些meta信息 来保证系统可用性。 架构 producer producer producer kafka cluster consumer consumer consumer 整体架构 架构 心哇谷 集群管理消息 消费者消费消息 生产者生产消息 注册消息 天个难的 详细架构图 :消息生产者,就是向 发消息的客户端 消息消费者,向 取消息的客户端 :可以理解为一个队列; 更多Java-大数据-前端- python人工智能资料下载,可百度访问:尚硅谷官网 心硅容 尚硅谷大数据技术之Kaka ():这是用来实现个消息的广播(发给所有的 和单播(发给任意一个 )的手段。一个可以有多个 的消息会复制 (不是真的复制,是概念上的)到所有的,但每个 只会把消息发给该中的 。如果需要实现广播,只要每个 有一个独立的就可以了。要实现 单播只要所有的 在同一个。用还可以将 进行自由的分组而不需 要多次发送消息到不同的 台服务器就是一个一个集群由多个组成。一个 可以容纳多个 为了实现护展性,一个非常大的可以分布到多个 (即服务器)上, 个可以分为多个 每个 是一个有序的队列。 中的每条消息 都会被分配一个有序的()。 只保证按一个 中的顺序将消息发给 不保证个的整体(多个 间)的顺序 的存储文件都是按照 来命名,用做名字的好处是方使查 找。例如你想找位于 位置,只要找到 的文件即可。当然 就 是 第章 集群部署 环境准备 集群规划 包下载 更多Java-大数据-前端- python人工智能资料下载,可百度访问:尚硅谷官网 心硅容 尚硅谷大数据技术之Kaka d A ←c|① kafka.apache. org/downloads. html 8 kafka A distributed streaming platform Download INI ROLUCIION QU CKSTART 0. 11.0.0 is the latest release. The current stable version is 011.0.0 USE CASES You can verify your down oad by fol owing these procedures and usirg these KEYS CUMCNTATION 0.1100 PERFORMANCE Released Jure 28, 2U1/ Release Notes POWFRFD BY Source down oad: karka-U11U.U-src tgz(aso, md5 Biricry dowmnlu-d」 PROJECT INFO o5c叫|A211 211011001g7(amd5 ECOSYSTEM Scala 2.12 2120.11.0.0.tgz(asmd5 集群部署 )解压安装包 atquiqughadoop102 softwares tar -zxvf kafka 2.11-0.11.0.0. tgz -C /opt/mcdule/ )修改解压后的文件名称 [atquiquahadoop102 module] mv kafka 2. 11-0.l1.0.0/ kafka )在 目录下创建文件夹 [atguigughacoop102 kafka]s kdir logs )修改酉置文件 [atguiguahacoop102 kafka]s cd config/ [atguigu ghacoop102 config]s vi server Froperties 输入以下内容 broker的全局唯一编号,不能重复 broker. ic=0 十册除 toric功能使能 delete topic, enable=true 处理刈络请求的线程数量 扌用来处理磁盘IO的现成数量 num,i。. threads-8 发送套接字的缓冲区大小 102400 接收套接字的缓冲区大 socket. receive buffer bytes=102400 十请求套接字的缓冲区大小 socket request. max bytes=104857600 kafka运行日志存放的路径 在当前b 上的分区个数 num partitions=l 用来恢复和清玨data下数据的线程数量 num recovery. threads per data. d 更多Java-大数据-前端- python人工智能资料下载,可百度访问:尚硅谷官网 心硅容 尚硅谷大数据技术之Kaka segment.文件保留的最长时间,超时将被删除 log retention hours=168 配置连接2 keeper集群地址 zoo keeper. connect-hadoop102: 2181, hadoop103: 2181, hadoop101: 2181 )配置环境变量 [atguiguahadoop102 module]s sudo vi /etc/profile +KAFKA HOME export KAFKA IIOME-/opt/module/kafka export PATH-SPATH: SKAFKA HCME/bin [atguiguahacoop102 module]s source /etc/profile )分发安装包 [atguigughacoop 02 module]$ xsync kafka/ 注意:分发之后记得配置其他机器的环境变量 )分别在 和 上修改配置文件 中的 汪 不得重复 )启动集样 依次在 节点上启动 [atguiguahadoop102 kafka]s bin/kafka-server-start sh config/server properties [atguigughacoop103 kafka]s bin/kafka-server-start sh config/server properties& [atguigughacoop104 kafka]s bin/kafka-server-start sh config/server properties )关闭集群 [atguiguahadoop102 kafka]s bin/kafka-server-stop sh stop [atguiguahadoop104 kafka]s bin/kafka-server-stop sh stop 命令行操作 1)查看当前服务器中的所有 topic [atguigughacoop102 kafka]s bin/kafka-topics sh --zookeeper hadoop102: 2181 --list 2)创建 topIC [atguigughacoop102 kafka]s bin/kafka-topics sh --zookeeper hadoop102: 2.181 create --replication-factor 3 --partitions 1 --topic first 选项说明: topIC定义 topIc名 replication- factor定义副本数 - partitions定义分区数 3)删除topi Latguigughadoop102 kafka]s bin/kafka-topics sh --7ookeeper hadoop102: 2181\ Delete --topic first 需要 server properties中设置 delete topic. enable=true否则只是标记删除或者直接重启 更多Java-大数据-前端- python人工智能资料下载,可百度访问:尚硅谷官网 心i 硅 尚硅谷大数据技术之Kaka 4)发送消息 atgu hadoop102 kafka]s bin/kafk >he1。wc-1a 5)消费消息 [atguiguahadoop103 kafka]s bin/kafka-console-consumer sh :会把主题中以往所有的数据都读取出来。根据业务场景选择是 否增加该配置。 6)查看某个 Topic的详情 [atguiguahacoop102 kafka]s bin/kafka-topics sh --zookeeper hadoop102: 2181 esche-一t first 第章 工作流程分析 >核心组成 集群管理消息 消费者消費消忘 生产者生产消息 注丹 册消息 生产过程分析 写入方式 采用推()模式将消息发布到 ,每糸消息都被追加( )到分 区( )中,属于顺序写磁盘(顺序写磁盘效率比随机写内存要高,保障吞吐率) 分区( 消息发送时都被发送到一个 其木质就是一个目录,而是由一些 分区日志组成,其组织结构如下图所小 更多Java-大数据-前端- python人工智能资料下载,可百度访问:尚硅谷官网 心i 硅 尚硅谷大数据技术之Kaka Anatomy of a Topic 012 Partition pl- 567|8|9 Writes 567B9 01|2 old Net Producers writes 012 reads Consumera Consumer B 我们可以看到,每个 中的消息都是有序的,生产的消息被不断追加到 上,其中的每个消息都被赋予了个唯的值。 )分区的原因 ()方便在集群中扩展,每个 可以通过调整以适应它所在的机器,而一个 又可以有多个 组成,因此整个集群就可以适应任意大小的数据了; ()可以提高并发,因为可以以 为单位读写了 )分区的原则 )指定了 ,则直接使用 ()未指定 但指定,通过对的进行出一个 () 和都未指定,使用轮询选出一个 nener类 t part valueBytes, Cluster cluster) i ist<PartitionInfc> partitions cluster partitionsForropic(topic)i List<partition_nfo> availablePartitions cluster. availablepartitionsForTopic(topic)i 更多Java-大数据-前端- python人工智能资料下载,可百度访问:尚硅谷官网 心i 硅 尚硅谷大数据技术之Kaka f int part = Utils. toPositive(nextvalue) availabePart-tions size ()i eturr. availablepartitions get(part), partition() lse i // no partitions are available, give a non-available partition return Utils. toPositive(nextvalue) nunPartitions // hash the keyBytes to choose a partition return tils. topositive(Utils. murmur(keyBytes )) numPartitionsi 副本( 可能会有多个 (对应 配置中的 )。没有 的情况下,一日 宕机,其上所有 的数据都不可被消费,同时 也不能再将数据存于其上的 。引入 之后,同一个 可能会有多个 ,而这时需要在这些 之间选出 和 只与这个 交互,其它 作为 从 中复制数据。 写入流程 producer写入消息流程如下 写入流程 心硅容 先从 节点 找到该 的 从 消 将消息 将 发送给该 消息写入本 地 )写入本地后向发送 )收到所有 的后 上天下的难学的 先从 的 节点找到该 的 将消息发送给该 将消息写入本地 从 消息,写入本地后向发送 更多Java-大数据-前端- python人工智能资料下载,可百度访问:尚硅谷官网 心i 硅 尚硅谷大数据技术之Kaka )收到所有中的 的后,增加( 最后 的 并向 发送 保存消息 存储方式 物理上把分成一个或多个 中的 配 置),每个 物理上对应一个文件火(该文件夹存储该 的所有消息和索引文 件),如下 Latguigughacoop102 logs] drwxrwxr-x. 2 atguigu agui 963月 drwxrwxr-x. 2 atquigu atquiqu 40963 614: 35 first- drwxrwxr-x.2 atquiqu atquiqu 40968 614: 37 first-2 [atguigughacoop102 logs]s cd first-o [@hacoop102 first-0]s 11 rw-xw-r--,1 atguigu atguigu104857608月614:3300000000000000000. index 1 atquigu atguigu 198月615:070000000000000000,.1cg r×-xx-r--,1 atcuigu atg ig1104857568月614:33000000000000000. time index 1 atguigu atguigu 88 614: 37 leader-epock-checkpoint 存储策略 无论消息是否被消费,都会保留所有消息。有两种策略可以删除旧数据: )基于时问 )基于大小: 需要注意的是,因为 读取特定消息的时间复杂度为,即与文件大小无关, 所以这里删除过期文件与提高 性能无关。 更多Java-大数据-前端- python人工智能资料下载,可百度访问:尚硅谷官网

...展开详情
试读 45P 大数据技术之Kafka.pdf
立即下载 身份认证后 购VIP低至7折
一个资源只可评论一次,评论内容不能少于5个字
您会向同学/朋友/同事推荐我们的CSDN下载吗?
谢谢参与!您的真实评价是我们改进的动力~
  • 领英

  • GitHub

  • 签到王者

  • 分享王者

关注 私信
上传资源赚钱or赚积分
最新推荐
大数据技术之Kafka.pdf 36积分/C币 立即下载
1/45
大数据技术之Kafka.pdf第1页
大数据技术之Kafka.pdf第2页
大数据技术之Kafka.pdf第3页
大数据技术之Kafka.pdf第4页
大数据技术之Kafka.pdf第5页
大数据技术之Kafka.pdf第6页
大数据技术之Kafka.pdf第7页
大数据技术之Kafka.pdf第8页
大数据技术之Kafka.pdf第9页

试读结束, 可继续读5页

36积分/C币 立即下载