Linux大纲 这章是基础课程,帮大家进入大数据领域打好Linux基础,以便更好地学习Hadoop,hbase,NoSQL,Spark,Storm,docker,kvm,openstack等众多课程。因为企业中无一例外的是使用Linux来搭建或部署项目。
1) Linux的介绍,Linux的安装:VMware Workstation虚拟软件安装过程、CentOS虚拟机安装过程
2) 了解机架服务器,采用真实机架服务器部署linux
3) Linux的常用命令:常用命令的介绍、常用命令的使用和练习
4) Linux系统进程管理基本原理及相关管理工具如ps、pkill、top、htop等的使用;
5) Linux启动流程,运行级别详解,chkconfig详解
6) VI、VIM编辑器:VI、VIM编辑器的介绍、VI、VIM扥使用和常用快捷键
7) Linux用户和组账户管理:用户的管理、组管理
8) Linux磁盘管理,lvm逻辑卷,nfs详解
9) Linux系统文件权限管理:文件权限介绍、文件权限的操作
10) Linux的RPM软件包管理:RPM包的介绍、RPM安装、卸载等操作
11) yum命令,yum源搭建
12) Linux网络:Linux网络的介绍、Linux网络的配置和维护
13) Shell编程:Shell的介绍、Shell脚本的编写
14) Linux上常见软件的安装:安装JDK、安装Tomcat、安装mysql,web项目部署
大型网站
高并发处理 通过本章的学习大家将会了解大数据的源头,数据从何而来,继而更好的了解大数据。并且通过学习何果处理大型网站高并发问题反向更深入的学习了Linux,同时站在了更高的角度去触探了架构。
1) 第四层负载均衡
a) Lvs负载均衡
i. 负载算法,NAT模式,直接路由模式(DR),隧道模式(TUN)
b) F5负载均衡器介绍
2) 第七层负载均衡
a) Nginx b) Apache
3) Tomcat、jvm优化提高并发量
4) 缓存优化
a) Java缓存框架
i. Oscache,ehcache
b) 缓存数据库
i. Redis,Memcached
5) Lvs+nginx+tomcat+redis|memcache构建二层负载均衡千万并发处理
6) Haproxy
7) Fastdfs小文件独立存储管理
8) Redis缓存系统
a) Redis基本使用 b) Redis sentinel高可用 c) Redis好友推荐算法
Lucene课程 在大数据里面文本数据的搜索是很重要的一块,特别是里面的分词技术,是后面机器学习里面文本挖掘的基石,我们需要深入学习java领域里面的搜索核心技术lucene,同时也可以了解到百度 google这样的搜索系统是怎么架构实现的。
1) Lucene介绍2) Lucene 倒排索引原理 > 3) 建索引 IndexWriter 4) 搜索 IndexSearcher 5) Query 6) Sort和 过滤 (filter) 7) 索引优化和高亮
Solr课程 接着前面lucene技术搜索,如果把lucene技术比如为发动机,那solr就是一辆成型的汽车了。学习完solr可以帮助你在企业里面快速的架构搜索系统。首先Solr是基于Lucene做的,Lucene是一套信息检索工具包,但并不包含搜索引擎系统,它包含了索引结构、读写索引工具、相关性工具、排序等功能,因此在使用Lucene时你仍需要关注搜索引擎系统,例如数据获取、解析、分词等方面的东西。而Solr的目标是打造一款企业级的搜索引擎系统,因此它更接近于我们认识到的搜索引擎系统,它是一个搜索引擎服务,通过各种API可以让你的应用使用搜索服务,而不需要将搜索逻辑耦合在应用中。而且Solr可以根据配置文件定义数据解析的方式,更像是一个搜索框架,它也支持主从、热换库等操作。还添加了飘红、facet等搜索引擎常见功能的支持。
1) 什么是solr2) 为什么工程中要使用solr3) Solr的原理4) 如何在tomcat中运行solr5) 如何利用solr进行索引与搜索6) solr的各种查询7) solr的Filter8) solr的排序9) solr的高亮10) solr的某个域统计11) solr的范围统计12) solrcloud集群搭建
Hadoop
离线计算大纲
一、初识hadoop
听过大数据,必听过hadoop,此部分带领大家了解hadoop的用途,在大数据中的用途,以及快速搭建一个hadoop的实验环境,在本过程中不仅将用到前面的Linux知识,而且会对hadoop的架构有深入的理解,并为你以后架构大数据项目打下坚实基础。
1) Hadoop生态环境介绍2) Hadoop云计算中的位置和关系3) 国内外Hadoop应用案例介绍4) Hadoop 概念、版本、历史5) Hadoop 核心组成介绍及hdfs、mapreduce 体系结构6) Hadoop 的集群结构7) Hadoop 伪分布的详细安装步骤8) 通过命令行和浏览器观察hadoop
二、 HDFS体系结构和shell以及java操作
详细剖析HDFS,从知晓原理到开发网盘的项目让大家打好学习大数据的基础,大数据之于分布式,分布式学习从学习分布式文件系统(HDFS)开始。
1) HDFS底层工作原理2) HDFS datanode,namenode详解3) Hdfs shell4) Hdfs java api
三、 详细讲解Mapreduce
Mapreduce可以说是任何一家大数据公司都会用到的计算框架,也是每个大数据工程师应该熟练掌握的,此处的学习除了老师详细的讲解理论外,会通过大量的案例让大家彻底掌握。
1) Mapreduce四个阶段介绍2) Writable3) InputSplit和OutputSplit4) Maptask5) Shuffle:Sort,Partitioner,Group,Combiner6) Reducer
四、 Mapreduce案例案例
1) 二次排序2) 倒排序索引3) 路径
4) 电信数据挖掘之-----移动轨迹预测分析(中国棱镜计划)
5) 社交好友推荐算法6) 互联网精准广告推送 算法7) 阿里巴巴天池大数据竞赛 《天猫推荐算法》案例8) Mapreduce实战pagerank算法
五、 Hadoop2.x集群搭建
前面带领大家开发了大量的MapReduce程序,此部分将带来大家让开发的程序运行在分布式集群中,并且运行在健壮高可用的集群中。
1) Hadoop2.x集群结构体系介绍2) Hadoop2.x集群搭建3) NameNode的高可用性(HA)4) HDFS Federation5) ResourceManager 的高可用性(HA)6) Hadoop集群常见问题和解决方法 7) Hadoop集群管理
分布式数据库
Hbase 大数据中使用Hbase的案例多的举不胜举,也可凸显大家学习的必要性。即使工作多年的大数据工程师Hbase的优化也是需要好好学习的重点。
1) HBase定义2) HBase与RDBMS的对比3) 数据模型4) 系统架构5) HBase上的MapReduce6) 表的设计7) 集群的搭建过程讲解8) 集群的监控9) 集群的管理10) HBase Shell以及演示11) Hbase 树形表设计12) Hbase 一对多 和 多对多 表设计13) Hbase 微博 案例14) Hbase 订单案例15) Hbase表级优化16) Hbase 写数据优化17) Hbase 读数据优化
数据仓库Hive Hive是使用sql进行计算的hadoop框架,工作中常用到的部分,也是面试的重点,此部分大家将从方方面面来学习Hive的应用,任何细节都将给大家涉及到。
1) 数据仓库基础知识2) Hive定义3) Hive体系结构简介4) Hive集群5) 客户端简介6) HiveQL定义7) HiveQL与SQL的比较8) 数据类型9) 外部表和分区表10) ddl与CLI客户端演示11) dml与CLI客户端演示12) select与CLI客户端演示13) Operators 和 functions与CLI客户端演示14) Hive server2 与jdbc15) 用户自定义函数(UDF 和 UDAF)的开发与演示16) Hive 优化
数据迁移工具Sqoop sqoop适用于关系型数据库和HDFS分布式数据系统之间进行数据转换,在企业中,是构建数据仓库的一大工具。
1) 介绍 和 配置Sqoop
2) Sqoop shell使用
3) Sqoop-import
a) DBMS-hdfs b) DBMS-hive c) DBMS-hbase
4) Sqoop-export
Flume分布式
日志框架 Flume是Cloudera提供的日志收集系统,目前是Apache下的一个孵化项目,Flume支持在日志系统中定制各类数据发送方,用于收集数据。大家学习完此节后不但可以掌握Flume的使用,而且可以进行对于Flume的开发。
1) flume简介-基础知识2) flume安装与测试3) flume部署方式4) flume source相关配置及测试5) flume sink相关配置及测试6) flume selector 相关配置与案例分析7) flume Sink Processors相关配置和案例分析8) flume Interceptors相关配置和案例分析9) flume AVRO Client开发10) flume 和kafka 的整合
Zookeeper
开发 Zookeeper在分布式集群(Hadoop生态圈)中的地位越来越突出,对分布式应用的开发也提供了极大便利,这也是这里我们带领大家深入学习 Zookeeper的原因。本课程主要内容包括Zookeeper深入、客户端开发(Java编程,案例开发)、日常运维、Web界面监控。大家这里学好Zookeeper,对后面学习其他技术至关重要。
1) Zookeeper java api开发2) Zookeeper rmi高可用分布式集群开发3) Zookeeper redis高可用监控实现4) Netty 异步io通信框架 5) Zookeeper实现netty分布式架构的高可用
项目实战
某大型电商日志分析和订单管理
在实战中学习,技术点非常多,怎么样实际运用这些点是我们在自学过程中体验不到的。电商日志分析包括:pv、uv,跳出率,二跳率、广告转化率、搜索引擎优化等,订单模块有:产品推荐,商家排名,历史订单查询,订单报表统计等。
项目技术架构体系:
a) Web项目和云计算项目的整合 b) Flume通过avro实时收集web项目中的日志 c) 数据的ETL d) Hive 批量 sql执行 e) Hive 自定义函数 f) Hive和hbase整合。 g) Hbase 数据支持 sql查询分析 h) Mapreduce数据挖掘 i) Hbase dao处理 j) Sqoop 在项目中的使用。 k) Mapreduce 定时调用和监控
|