新書推薦:
《
DK威士忌大百科
》
售價:NT$
1340.0
《
小白学编织
》
售價:NT$
299.0
《
Android游戏开发从入门到精通 第2版 王玉芹
》
售價:NT$
495.0
《
西班牙内战:秩序崩溃与激荡的世界格局:1936-1939
》
售價:NT$
990.0
《
非对称创新:中国企业赶超战略 魏江 刘洋
》
售價:NT$
495.0
《
潜能觉醒
》
售價:NT$
395.0
《
初平:汉末群雄混战(190—195)
》
售價:NT$
245.0
《
建安:官渡大决战(196—200)
》
售價:NT$
245.0
|
編輯推薦: |
之前的大数据平台主要基于Hadoop生态系统进行全量更新和增量更新,大部分业务都是一天更新一次,目前增量更新逐渐被流式框架取代,以达到实时。但是,数据的暴增又让实时系统的稳定性成为各公司的一个技术难题,并且各类实时应用的性能也逐渐成为一种挑战。很多开源软件在数据量上升后或多或少地存在一些bug,往往影响公司的一大批应用和业务,如何更好地了解和使用Hadoop、Storm、Spark等基础框架就成为一个迫切需要解决的问题。
《Storm技术内幕与大数据实践》从实时大数据平台的整体架构,到大众点评和1号店实时平台的具体介绍,再通过一张张顺序图讲解了Storm的内部机制,从外到里,从下到上,一步步介绍了互联网公司实时大数据平台的整体情况。
此外,用户画像已经慢慢成为很多公司的基础数据,支撑着公司内部大数据应用的个性化和精准化,如何让用户的短期画像更新得更及时,如何融入外部公司的大数据,也是不少公司面临的问题。本书分享了作者在融合外部数据方面的一些感悟,希望对摸索融合外部数据的用户有益。书的最后还介绍了推荐系统、精准化广告、搜索等一些常见的大数据应用。
|
內容簡介: |
《Storm技术内幕与大数据实践》内容主要围绕实时大数据系统的各个方面展开,从实时平台总体介绍到集群源码、运维监控、实时系统扩展、以用户画像为主的数据平台,最后到推荐、广告、搜索等具体的大数据应用。书中提到的不少问题是实际生产环境中因为数据量增长而遇到的一些真实问题,对即将或正在运用实时系统处理大数据问题的团队会有所帮助。
|
關於作者: |
陈敏敏 1号店个性精准化部门资深架构师,在此之前曾服务于微软和三星电子等公司,长期从事大数据、搜索和推荐平台相关工作。目前主要关注于NoSQL、实时计算框架、推荐、广告投放等相关技术。
王新春 大众点评网数据平台资深工程师,负责点评实时计算平台相关工作,推动流式计算和实时计算在点评的应用和推广,一直致力于大数据和分布式系统的研究和应用。目前主要从事NoSQL、实时分布式系统的研究与开发。
黄奉线 1号店基础架构部分布式存储团队负责人,推动流式计算在1号店的应用,获得CTO特别奖,长期从事基础架构相关工作。目前主要关注于NoSQL、开源、流式计算、分布式存储等相关技术。
|
目錄:
|
第1章 绪论
1.1 Storm的基本组件
1.1.1 集群组成
1.1.2 核心概念
1.1.3 Storm的可靠性
1.1.4 Storm的特性
1.2 其他流式处理框架
1.2.1 Apache S4
1.2.2 Spark Streaming
1.2.3 流计算和Storm的应用
第2章 实时平台介绍
2.1 实时平台架构介绍
2.2 Kafka架构
2.2.1 Kafka的基本术语和概念
2.2.2 Kafka在实时平台中的应用
2.2.3 消息的持久化和顺序读写
2.2.4 sendfile系统调用和零复制
2.2.5 Kafka的客户端
2.2.6 Kafka的扩展
2.3 大众点评实时平台
2.3.1 相关数据
2.3.2 实时平台简介
2.3.3 Blackhole
2.4 1号店实时平台
第3章 Storm集群部署和配置
3.1 Storm的依赖组件
3.2 Storm的部署环境
3.3 部署Storm服务
3.3.1 部署ZooKeeper
3.3.2 部署Storm
3.3.3 配置Storm
3.4 启动Storm
3.5 Storm的守护进程
3.6 部署Storm的其他节点
3.7 提交Topology
第4章 Storm内部剖析
4.1 Storm客户端
4.2 Nimbus
4.2.1 启动Nimbus服务
4.2.2 Nimbus服务的执行过程
4.2.3 分配Executor
4.2.4 调度器
4.2.5 默认调度器DefaultScheduler
4.2.6 均衡调度器EvenScheduler
4.3 Supervisor
4.3.1 ISupervisor接口
4.3.2 Supervisor的共享数据
4.3.3 Supervisor的执行过程
4.4 Worker
4.4.1 Worker中的数据流
4.4.2 创建Worker的过程
4.5 Executor
4.5.1 Executor的创建
4.5.2 创建Spout的Executor
4.5.3 创建Bolt的Executor
4.6 Task
4.6.1 Task的上下文对象
4.6.2 Task的创建
4.7 Storm中的统计
4.7.1 stats框架
4.7.2 metric框架
4.8 Ack框架
4.8.1 Ack的原理
4.8.2 Acker Bolt
4.9 Storm总体架构
第5章 Storm运维和监控
5.1 主机信息监控
5.1 日志和监控
5.2 Storm UI和NimbusClient
5.3 Storm Metric的使用
5.4 Storm ZooKeeper的目录
5.5 Storm Hook的使用
第6章 Storm的扩展
6.1 Storm UI的扩展
6.1.1 Storm UI原生功能
6.1.2 Storm UI新功能需求
6.1.3 Storm的Thrift接口
6.2 资源隔离
6.2.1 CGroup测试
6.2.2 基于CGroup的资源隔离的实现
第7章 Storm开发
7.1 简单示例
7.2 调试和日志
7.3 Storm Trident
7.4 Strom DRPC
第8章 基于Storm的实时数据平台
8.1 Hadoop到Storm的代码迁移经验
8.2 实时用户画像
8.2.1 简单实时画像
8.2.2 实时画像优化
8.2.3 实时画像的毫秒级更新
8.3 其他场景画像
8.4 画像的兴趣度模型构建
8.5 外部画像融合经验分享
8.6 交互式查询和分析用户画像
8.7 实时产品和店铺信息更新
第9章 大数据应用案例
9.1 实时DAU计算
9.2 实时个性化推荐
9.2.1 推荐系统介绍
9.2.2 实时推荐系统的方法
9.2.3 基于Storm的实时推荐系统
9.3 广告投放的精准化
9.3.1 点击率预测
9.3.2 搜索引擎营销
9.3.3 精准化营销与千人千面
9.4 实时意图和搜索
9.4.1 用户意图预测
9.4.2 搜索比价
9.4.3 搜索排序
第10章 Storm使用经验和性能优化
10.1 使用经验
10.1.1 使用rebalance命令动态调整并发度
10.1.2 使用tick消息做定时器
10.1.3 使用组件的并行度代替线程池
10.1.4 不要用DRPC批量处理大数据
10.1.5 不要在Spout中处理耗时的操作
10.1.6 log4j的使用技巧
10.1.7 注意fieldsGrouping的数据均衡性
10.1.8 优先使用localOrShuffleGrouping
10.1.9 设置合理的MaxSpoutPending值
10.1.10 设置合理的Worker数
10.1.11 平衡吞吐量和时效性
10.2 性能优化
10.2.1 找到Topology的性能瓶颈
10.2.2 GC参数优化
10.3 性能优化原则
附录A Kafka原理
附录B 将Storm源码导入Eclipse
|
|