一、课程介绍
Hadoop2.×是最新版,旧版本中的单点故障、安全等都得到解决,推出新的计算框架,提升了mr框架。
预备知识:Linux和Java
Linux基础学习篇,vim程序编辑器
二、Hadoop是什么
n 面向大数据处理
大数据是相对概念,“现有技术无法处理的数据量”,数据不多无需用Hadoop,反倒增加复杂度。
n 擅长离线数据分析
与生产数据脱离进行处理,非实时、半实时比较适合,实时、OLAP/OLTP不适合,因为Hadoop不是数据库,不支持事务,文件系统是半只读,其内容只能追加数据,给随机读写带来很大麻烦,所以不适合做实时交易系统,只适合做离线数据分析。
n 分布式文件系统+计算框架
Hadoop由两部分构成
n Hadoop不是数据库,Hbase才是数据库
Hive允许用查询语言查询数据
n Hadoop是一个快速进化的生态系统
Hadoop目前最新是2.x版本,整个大数据领域技术演进非常快
n Hadoop会使用在哪些行业
传统的产生大量数据的行业,如电子商务的海量点击流,通过Hadoop分析个人兴趣和商品受欢迎程度等;如电信运营商的数据
三、课程目标
n 部署:Hadoop(V1和V2),Hbase,Hive,Pig,Mahout
V1大企业在使用(一般是一年前部署的,如果企业已有hadoop一般是第一版,如果还未使用,则对v2感兴趣),Hbase较困难,其它比较简单。
n 数据集成:Sqoop,Chukwa,Flume,与Oracle、Mysql等关系数据库集成,与R等常用数据分析工具集成
如何将其它系统的数据(如mysql,Oracle或文件日志)迁移到Hbase中
n 掌握HDFS原理和基本操作
n 掌握MR工作原理,知道怎么将MR算法解决实际问题
n 掌握YARN框架的原理及使用方法,知道怎样写YARN应用程序
n 能够书写MR程序
n 具有阅读源代码的能力
四、Hadoop典型职位
具备Hadoop集群,运维和开发。
运维:实施
Hadoop程序员:MR程序,源代码开发(针对公司的特殊情况修改hadoop源码)
架构师:设计大数据平台,包括硬件平台,ETL流程等;或数据架构师,集群中如何放数据等
数据仓库工程师:在Hadoop+Hive搭建的数据仓库上,针对业务部门的需求查询数据。例如京东
五、大数据平台知识路线图
n 基础课程
n Hadoop方向
n Hadoop数据分析平台
u Hadoop应用开发实战案例
u Mahout机器学习平台
实现数据挖掘算法。把常用的数据挖掘算法MR化,固化在API中,只需通过命令行导入命令,或者通过JavaAPI调用常用算法
n Nosql方向
n 流数据实时分析方向
Storm:先在内存中计算,产生一定阈值,触发一些事件,之后可以抛弃或者存储。
Hadoop:先存到磁盘,再计算,所以只能离线分析
Spark:吸取Hadoop和Storm的优点,用Scala写MR程序效率高
n 虚拟化方向
n 高性能计算方向
六、典型实验环境(拥有服务器)
n 最好有三台以上物理服务器。如果只有一台服务器和一台PC:在服务器上装ESXI,ESXI可以在一个服务器上产生至少3个虚拟机
n 只有一台笔记本或PC,基于Win
Ø 至少4G内存,最好运行64位Win系统,因为32位只能支持3G内存。
Ø 安装vmvareworkstation或virtual box 检查笔记本bias中的vt功能是否有打开,未打开的话性能很低
Ø 部署3台虚拟机,能同时运行,如果智能运行2台虚拟机,可以把host也当作一个节点,使用cygwin,虚拟网络配置为网桥方式(brige方式,而不要net方式)
Ø 安装linux和java
Ø 如果配置太低,只好使用伪分布式