Hadoop是一个分布式系统基础架构,由Apache基金会开发。用户可以在不了解分布式底层细节的情况下,开发分布式程序。充分利用集群的威力高速运算和存储。Hadoop实现了一个分布式文件系统(Hadoop Distributed File System),简称HDFS。HDFS有着高容错性的特点,并且设计用来部署在低廉的(low-cost)硬件上。而且它提供高传输率(high throughput)来访问应用程序的数据,适合那些有着超大数据集(large data set)的应用程序。HDFS放宽了(relax)POSIX的要求(requirements)这样可以流的形式访问(streaming access)文件系统中的数据。
Hadoop 是一个能够对大量数据进行分布式处理的软件框架。但是 Hadoop 是以一种可靠、高效、可伸缩的方式进行处理的。Hadoop 是可靠的,因为它假设计算元素和存储会失败,因此它维护多个工作数据副本,确保能够针对失败的节点重新分布处理。Hadoop 是高效的,因为它以并行的方式工作,通过并行处理加快处理速度。Hadoop 还是可伸缩的,能够处理 PB 级数据。此外,Hadoop 依赖于社区服务器,因此它的成本比较低,任何人都可以使用。
Hadoop带有用Java 语言编写的框架,因此运行在 Linux 生产平台上是非常理想的。本课程的讲解是采用linux平台进行模拟讲解,完全基于真实场景进行模拟现实
01,课程介绍,HDFS架构和原理,搭建CentOS开发环境
> Hadoop背景
> HDFS设计目标,应用场景,架构分析
> 使用Virtual安装CentOS虚拟机
> 虚拟机环境配置
02,hdfs单机和集群的配置安装
> Hadoop单机版安装和配置
> Hadoop集群安装和配置
> Hadoop命令行和WebUI的使用
03,hdfs应用-云存储系统(1)
> 云存储系统介绍和基本架构
> 搭建Eclipse和Maven开发环境
> 使用Maven创建并配置Struts2应用
> 使用bootstrap搭建UI框架
04,hdfs应用-云存储系统(2)
> 安装和配置Redis
> 用户管理模块开发
05,hdfs应用-云存储系统(3)
> gson介绍和使用实例
> 实现普通的文件上传,删除,下载
06,hdfs应用-云存储系统(4)
> 实现基于HDFS的上传,下载和删除
> HDFS小文件管理方式:SequenceFile和Har
07,深入hdfs-NameNode和DataNode
> hdfs的架构介绍
> hdfs如何读写文件
> FSImage和EditLog
> Rack Awareness
> hdfs基本管理
08,深入hdfs-HDFS federation
> HDFS节点管理
> HDFS升级和回滚
> HDFS Federation
> 如何使用ViewFS
09,namenode HA
> zookeeper配置
> namenode HA(双机)安装和配置
10,yarn和mapreduce
> 配置Yarn(单机和集群)
> MapReduce的工作原理
> 第一个MapRedcue程序
> Yarn命令行工具
11,mapreduce应用-搜索提示(1)
> 工作原理介绍(Ajax)
> 使用JQuery的AutoComplete控件搭建UI
12,mapreduce应用-搜索提示(2)
> 继承Mapreduce程序
> 使用Redis保存中间数据
> 如何对增量和全量数据进行统计
> ”潜在好友推荐“算法介绍
13,mapreduce的采样工具和partitiion
> 采样和分区的工作原理
> RandomSampler,InputSampler,IntervalSampler
> TotalOrderPartitioner(全局排序)
14,Map Join和Reduce Join
> Reduce side join
> Map side join
> 如何自定义数据类型
> 如何使用DistributedCache
15,mapreduce应用-PageRank
> PageRank算法详细讲解
> 如何用mapreduce实现PageRank算法
16, Hive入门
> Hive的架构
> CLI, Hive Server, HWI介绍
> 配置Hive,使用Mysql存储元数据
> CLI的基本使用
17, hive应用-搜索提示(1)
> Tomcat日志解析
> 使用正则表达式解析Tomcat日志
> 在查询中使用正则表达式
18, hive应用-搜索提示(2)
> 在hive查询中调用python脚本实现Redis插入
19,HQL(1)
> HQL基础:DDL,DML
> 数据类型:原子与集合
> TextFile的默认编码及自定义编码
20,HQL(2)
> Hive查询
> 正则表达式,基本函数,集合函数,表函数
> 嵌套查询,case when语句,like和rlike
> Groupby和Having等
21,Hive自定义函数
> 如何编写自定义函数
> 在自定义函数中连接Redis
> 在自定义函数中使用CacheFile
22,Compression in Hadoop
> Compression in Hadoop介绍
> 在MapReduce和Hive中使用Compression
> 安装和配置lzo
23,24, HBase入门
> Hbase架构
> Hbase集群安装
> 使用HBase Shell
25,26,27,HBase应用 - 话单查询
> Hbase Java API
> Struts2 and JSP
> Jquery Datatable and Datepicker
28,29,30,HBase应用 - 微博
> 表结构设计
> 关注好友
> 发微博
> 我的主页
31,32,Storm入门
> Storm架构及原理介绍
> 安装Storm
> 实现第一个topology
> Storm的grouping
33,Queue spout和DRPC
34,35,storm应用 - 语音话单计费
> 搭建计费topology
> 实现Queue spout和Mysql入库bolt
> 实现漫游和长途类型计算
> 计费逻辑的实现
> 整合所有功能到topology中
> 各个功能模块的验证