BD232:大数据平台Storm实践

线下课堂时间:4 天实战演练面授
  • 【北京】    2017/5/16、17、18、19脱产班
  • 【上海】    2017/4/27、28、29、30脱产+周末班
预约试听
课程介绍
适用对象:对大数据、分布式存储、分析等感兴趣的朋友; Java、PHP、C等任意一门编程语言的开发者; 大型网站、电商网站等运维人员; 云计算、大数据从业者; 熟悉Hadoop生态体系,想了解和学习Hadoop与Spark整合在企业应用实战案例的朋友; 系统架构师、系统分析师、高级程序员、资深开发人员; 牵涉到大数据处理的数据中心运行、规划、设计负责人; 政府机关,金融保险、移动互联网等大数据单位的负责人; 高校、科研院所大数据研究人员,涉及到大数据与分布式数据处理的人员; 数据仓库管理人员、建模人员,分析和开发人员、系统管理人员、数据库管理人员以及对数据仓库感兴趣的其他人员。
学习收获:了解大数据业内最新发展趋势,深入掌握Storm的原理,Storm生态; 掌握Storm大数据平台技术及原理; 深入学习yarn框架下的Storm,掌握Storm研发; 掌握Storm开发; 了解Storm集群规划,应用案例解析; 列式数据库Storm的基本原理,应用场景,掌握基本的编程技巧。
详细大纲
1 流式实时数据处理:理论与技术
1.1 流式数据与流式实时计算
1.1.1 流式数据
1.1.2 流式实时计算
1.2 流式数据处理的系统与应用
1.2.1 发展与挑战
1.2.2 生态圈
1.3 Storm
1.3.1 起源与发展:Twitter的开源与影响
1.3.2 功能
1.3.3 特色:可扩展、可靠的分布式流式数据处理
1.4 Heron
1.4.1 起源与发展与Storm的区别
1.4.2 功能
1.4.3 特色:可扩展、可靠的分布式流式数据处理
1.5 其他开源流式数据处理系统
1.5.1 YahooS4
1.5.2 SparkStreaming
1.5.3 FacebookPuma
1.6 Storm的系统模型:架构与组成
1.6.1 系统架构与部署模式
1.6.2 系统节点
1.7 Storm的通信模型
1.7.1 Thrift:可扩展且跨语言的通信软件框架
1.7.2 Thrift在Storm中的应用:系统节点间的通信
1.7.3 ZeroMQ在Storm中的应用:Storm作业任务间的通信
1.7.4 ZeroMQ:面向分布式并发应用的高性能异步消息处理库
1.7.5 Tuple与declareOutputFields():数据项结构及声明
1.7.6 Storm可配置的通信机制
1.8 Storm集群部署和配置
1.8.1 Storm的依赖组件
1.8.2 Storm的部署环境
1.8.3 部署Storm服务
1.8.4 启动Storm
1.8.5 Storm的守护进程
1.8.6 部署Storm的其他节点
1.8.7 提交Topology
1.9 Storm内部剖析
1.9.1 Storm客户端
1.9.2 Nimbus
1.10 启动Nimbus服务
1.11 Nimbus服务的执行过程
1.12 分配Executor
1.13 调度器
1.14 默认调度器DefaultScheduler
1.15 均衡调度器EvenScheduler
1.16 Supervisor
1.16.1 ISupervisor接口
1.16.2 Supervisor的共享数据
1.16.3 Supervisor的执行过程
1.17 Worker
1.17.1 Worker中的数据流
1.17.2 创建Worker的过程
1.18 Executor
1.18.1 Executor的创建
1.18.2 创建Spout的Executor
1.18.3 创建Bolt的Executor
1.19 Task
1.19.1 Task的上下文对象
1.19.2 Task的创建
1.20 Storm中的统计
1.20.1 stats框架
1.20.2 metric框架
1.20.3 Ack框架
1.20.4 AckerBolt
1.21 Storm总体架构
1.22 上机演练
2 大数据平台Storm深入实践与开发实战
2.1 Storm的作业单元:Topology
2.1.1 Topology结构及构成
2.1.2 Stream:组件间的数据传递
2.2 构建Topology
2.2.1 TopologyBuilder与Config
2.2.2 Topology构建示例
2.2.3 Topology常见的编程模式
2.2.4 Topology的并行度
2.3 Storm的数据源编程单元:Spout
2.3.1 Spout的接口与实现
2.3.2 Spout的使用模式
2.3.3 Spout与数据的可靠性
2.4 Storm的数据处理编程单元:Bolt
2.4.1 Bolt的接口与实现
2.4.2 Bolt与数据的可靠性
2.5 Storm的保障能力
2.5.1 Storm的功能性保障:多粒度的并行化
2.5.2 Storm的非功能性保障:多级别的可靠性
2.6 Storm应用的开发与调试
2.6.1 Eclipse环境下的Storm工程
2.6.2 Storm应用的开发、调试与部署
2.7 常见问题与应对技巧
2.7.1 ZeroMQ版本
2.7.2 Zookeeper日志清理
2.7.3 Topology作业的打包与远程部署
2.8 DRPC
2.8.1 StormDRPC
2.8.2 LinearDRPCTopologyBuilder
2.8.3 本地模式DRPC
2.8.4 远程模式DRPC
2.8.5 非线性DRPC拓扑
2.9 上机演练
3 实时处理平台Flume+Kafka+Storm
3.1 实时平台介绍
3.1.1 实时平台架构介绍
3.1.2 Kafka架构
3.1.3 大众点评实时平台
3.2 基于Storm的实时数据平台
3.2.1 Hadoop到Storm的代码迁移经验
3.2.2 实时用户画像
3.2.3 其他场景画像
3.2.4 画像的兴趣度模型构建
3.2.5 外部画像融合经验分享
3.2.6 交互式查询和分析用户画像
3.2.7 实时产品和店铺信息更新
3.3 大数据应用案例
3.3.1 实时DAU计算
3.3.2 实时个性化推荐
3.3.3 广告投放的精准化
3.3.4 实时意图和搜索
3.4 上机演练
4 基于Storm的实时数据平台+Kafka+Storm+HBase+Redis
4.1 HBase技术原理介绍
4.2 HBase架构介绍
4.3 Redis架构介绍
4.4 Redis原理介绍
4.5 上机演练
5 Storm与算法分析平台SparkStreaming+SparkML结合
5.1 SparkStreaming介绍
5.2 SparkML介绍
5.3 SparkStreaming原理
5.4 SparkML原理
5.5 Storm使用经验和性能优化
5.6 使用经验
5.6.1 使用rebalance命令动态调整并发度
5.6.2 使用tick消息做定时器
5.6.3 使用组件的并行度代替线程池
5.6.4 不要用DRPC批量处理大数据
5.6.5 不要在Spout中处理耗时的操作
5.6.6 log4j的使用技巧
5.6.7 注意fieldsGrouping的数据均衡性
5.6.8 优先使用localOrShuffleGrouping
5.6.9 设置合理的MaxSpoutPending值
5.6.10 设置合理的Worker数
5.6.11 平衡吞吐量和时效性
5.6.12 性能优化
5.7 上机演练
课程评价

课程评价({{EvaluationTotal}})

课程满意度

评价

您还没有给课程评分哦

满意度

    追加评价:

课程咨询
内容:

您还没有填写内容!

暂无问答,赶紧去提问吧
{{item.AnswerState==1?"已解决":"未解决"}}
{{item.Content}}
{{item.StudentAskTime}}
{{itemanswer.UserName}}
{{itemanswer.Content}}
{{itemanswer.StudentAskTime}}
同类课程推荐 more
免费大讲堂 more
原创文章 more