大数据精英班课程大纲

时间:2018-07-16 08:36:48

11月15日第9期大数据实战班名额预定中(北京面授全日制脱产班)

时间周期:4个月 

占位费 500 元

我们承诺:

  1. 推荐就业

  2. 3个月不就业退还全部学费

  3. 保证学会,学不会无限重读,直到学会为止(必须听从学校老师安排,无不良记录)


适合对象:

1.纯零基础但已经毕业的大学生

2.想转行大数据的社会人员


本课程从零基础开始学大数据,目前毕业的学员已经100%就业,未出现3个月未就业的情况。


JavaSE部分授课时间为15天左右

大数据体系部分为3个半月左右(有java基础的同学可以直接报读大数据体系课程3.5个月左右)


学习资料领取请加QQ  2094218269 


1.课程说明

本系列课程适合所有对大数据开发有兴趣的人员,从JavaSE到大数据生态圈高端课程的开发。课程内容量很大,有一定的难度和深度,让大家在4个月的时间内,技术能够有很大程度的提升。本套课程已经成熟过度到Centos企业版本,这套课程更接近企业环境,所有案例都来源于真实企业生产环境。

学习时间:4个月,每周上课5天,上课时间(9:00-12:00,14:00-18:00)


课程路线

第一阶段 JavaSE+MySql+Linux (第1阶段学费)

Java语言入门   -->     OOP编程     -->   Java常用Api、集合   -->    IO/NIO     -->       Java实用技术   -->   Mysql数据库   --> 阶段项目实战 -->  Linux基础  -->shell编程


第二阶段 Hadoop与生态系统(第2阶段学费)

Hadoop        -->    MapReduce   -->          Avro       -->     Hive      -->  HBase       -->     Zookeeper   -->       Flume         -->     Kafka  -->  Sqoop       -->      Pig


第三阶段 Storm与Spark及其生态圈(第3阶段学费)

Storm    -->  Scala     -->  Spark   -->  Spark SQL  -->   Spark Streaming   -->  Spark 机器学习


第四阶段 其他((第3阶段学费))

Mahout机器学习 -->  R语言 -->  Python


第五阶段 项目实战、技术综合运用(第3阶段学费)

某手机公司bug系统 --》 传统广告怎么用大数据


课程升级部分都会相应添加在大纲中

JavaSE

此课程对于初级程序员来说,可以在短时间内迅速提高开发能力,掌握流行的技术,把握技术的发展脉络。对于中高级程序员来说,本课程可以在短时间内快速提升个人的开发能力及流程设计能力,此课是JavaSE深入浅出讲解。


1) Java语言入门,Java基础语法、数据类型、运算符、流程控制语句、函数、数组

2) OOP编程,面向对象编程(OOP)、类和对象,封装、继承、多态三大特性

3) Java常用Api、集合,集成开发工具(Eclipse)安装使用

4) 常用IO流及编码表,异常体系Exception、Error,NIO

5) Java实用技术,多线程、网络编程、反射、内省、设计模式

阶段培训目标

掌握常见的数据结构和实用算法培养良好的企业级编程习惯。掌握面向对象的基本原则以及在编程实践中的意义掌握Java面向对象编程基本实现原理。熟练掌握JDK核心API编程技术理解API设计原则具备熟练的阅读API文档的能力为后续的课程学习打下坚实的语言基础。熟练掌握JavaSE核心内容,特别是IO和多线程初步具备面向对象设计和编程的能力掌握基本的JVM优化策略。


数据库MySql

本教程从基础的MySQL开始介绍,让学员能够从易到难,从Java的数据库的灵活使用。其中分库介绍了,各个数据库的基本独立使用,以及各自的安装和配置。课程中主要是以SQL脚本为基础,带领学员更加牢固的掌握知识点。

1) MySql数据库的应用

2) 触发器、存储过程序列、索引、视图对象

3) JDBC技术:JDBC基础Statement、PreparedStatement、ResultSet结果集对象等

4) 数据库连接池技术

5) ORM对象关系映射基本思想。


阶段培训目标

熟练掌握SQL语句掌握一定的数据库查询技巧及SQL语句优化技巧。掌握MySql体系结构及核心编程技术。

阶段项目

1) 实时聊天软件

综合运用Java基础、Swing、集合、IO、数据库、Socket编程,编写一个实时聊天软件,实现单聊和群聊功能。

2) 多线程下载器

部署Tomcat服务器,实现C/S模式的多线程下载器,其中包括暂停、断点续传、不阻塞前台线程等功能。

3) 屏幕广播

运用UDP、压缩、抓屏等技术,实现屏幕广播功能。


Linux&VMware基础

这章是Linux基础课程,帮大家进入大数据领域打好 Linux 基础,以便更好地学习Hadoop,NoSQL,Spark,Storm 等众多课程。因为企业中无一例外的是使用 Linux 来搭建或部署项目。

1) Linux的介绍,Linux的安装;VMware Workstation虚拟软件安装和增强工具安装、Centos虚拟机安装

2) Linux的常用命令:介绍、使用和练习

3) nano编辑器:nano编辑器的介绍、nano扥使用和常用快捷键

4) Linux用户和组账户管理:用户的管理、组管理

5) Linux系统文件权限管理:文件权限介绍、文件权限的操作

6) Centos软件包管理器Yum命令,源修改

7) Linux网络管理:hosts,hostname,ifconfig,静态IP配置等

8) Linux系统进程管理常用命令ps、pkill、top、htop等的使用

9) Shell编程:Shell的介绍、Shell脚本的编写



Hadoop课程

Hadoop整套大数据课程的基石:其一,分布式文件系统HDFS用于存储海量数据,无论是Hive、HBase或者Spark数据存储在其上面;其二是分布式资源管理框架 YARN,是Hadoop 云操作系统(也称数据系统),管理集群资源和分布式数据处理框架MapReduce、Spark应用的资源调度与监控;分布式并行计算框架 MapReduce目前是海量数据并行处理的一个最常用的框架。Hadoop 2.x的编译、环境搭建、HDFS Shell使用,YARN 集群资源管理与任务监控,MapReduce编 程,分布式集群的部署管理(包括高可用性HA)必须要掌握的。

一、 Hadoop介绍和环境搭建

听过大数据,必听过hadoop,此部分带领大家了解hadoop的用途,在大数据中的用途,以及快速搭建一个hadoop的实验环境,在本过程中不仅将用到前面的Linux知识,而且会对hadoop的架构有深入的理解,并为你以后架构大数据项目打下坚实基础。

1) Hadoop生态环境介绍

2) Hadoop云计算中的位置和关系

3) 国内外Hadoop应用案例介绍

4) Hadoop 概念、版本、历史

5) Hadoop 核心组成介绍及hdfs、mapreduce 体系结构

6) Hadoop独立模式安装和测试

7) Hadoop 的集群结构

8) Hadoop 伪分布的详细安装步骤

9) 通过命令行和浏览器观察Hadoop

10) Hadoop启动脚本分析

11) Hadoop完全分布式环境搭建

12) Hadoop安全模式、回收站介绍

二、 HDFS体系结构和Shell以及Java操作

详细剖析HDFS,从知晓原理到开发网盘的项目让大家打好学习大数据的基础,大数据之于分布式,分布式学习从学习分布式文件系统(HDFS)开始。

1) HDFS底层工作原理

2) HDFSdatanode,namenode详解

3) 单点故障(SPOF)和高可用(HA)

4) 通过API访问HDFS

5) 常用压缩算法介绍和安装使用

6) Maven介绍和安装,eclipse中试用Maven,搭建Maven本地仓库

三、 详细讲解Mapreduce

Mapreduce可以说是任何一家大数据公司都会用到的计算框架,也是每个大数据工程师应该熟练掌握的,此处的学习除了老师详细的讲解理论外,会通过大量的案例让大家彻底掌握。

1) Mapreduce四个阶段介绍

2) Job、Task介绍

3) 默认工作机制

4) 创建MR应用开发,获取年度的最高气温

5) 在Windows上运行MR作业,

6) Mapper、Reducer

7) InputSplit和OutputSplit

8) Shuffle:Sort,Partitioner,Group,Combiner

9) 通过计数器调试程序

10) 在Windows安装Hadoop

11) 在eclipse安装hadoop插件,访问hadoop资源

12) 在eclipse中编写ant脚本

13) YARN调度框架事件分发机制

14) 远程调试资源管理器

15) Hadoop的底层google ProtoBuf的协议分析

16) Hadoop底层IPC原理和RPC

四、 Hadoop高可用-HA

前面带领大家开发了大量的MapReduce程序,此部分将带来大家让开发的程序运行在分布式集群中,并且运行在健壮高可用的集群中。

1) Hadoop2.x集群结构体系介绍

2) Hadoop2.x集群搭建

3) NameNode的高可用性(HA)

4) HDFS Federation

5) ResourceManager 的高可用性(HA)

6) Hadoop集群常见问题和解决方法

7) Hadoop集群管理

数据序列化系统Avro

Avro是一个数据串行化系统,提供了丰富的数据结构,紧凑、快速、二进制数据格式,存储持久化数据的容器文件,远程过程调用RPC,动态语言的简单集成。代码生成不需要读写数据文件,也不需要实现RPC协议。

1) Avro简介

2) Avro环境搭建

3) 数据类型和模式

4) 使用方式

5) 使用AVRO-tools工具生成源代码

6) 在MR中使用avro串行化


数据串行化技术Protobuf

1) Protobuf简介

2) Protobuf使用方式:描述语言、编译器、类库

3) Protobuf使用过程:准备过程、Designing objects、描述对象,采用proto文本文件描述、编译描述文件、创建maven项目,导入坐标,复制生成的类到项目中、使用对象


数据仓库Hive

Hive可以将sql语句转换为MapReduce任务进行运行。其优点是学习成本低,可以通过类SQL语句快速实现简单的MapReduce统计,不必开发专门的MapReduce应用,十分适合数据仓库的统计分析,工作中最常用到的部分,也是面试的重点。

此部分大家将从方方面面来学习 Hive 的应用,任何细节都将给大家涉及到。

1) 数据仓库基础知识

2) Hive体系结构简介

3) Hive客户端简介

4) Hive集群

5) HiveQL定义

6) HiveQL与SQL的比较

7) 数据类型

8) 配置Hive使用MySql数据库

9) Hive管理表、外部表、临时表、分区表和桶表

10) DDL与CLI客户端演示

11) DML与CLI客户端演示

12) select与CLI客户端演示

13) Hive join、union、View、Index演示

14) Operators和functions与CLI客户端演示

15) 安全、锁

16) 用户自定义函数(UDF和UDAF)的开发与演示

17) Hive 压缩和优化


分布式数据库HBase

大数据中使用Hbase的案例多的举不胜举,也可凸显大家学习的必要性。即使工作多年的大数据工程师Hbase的优化也是需要好好学习的重点。

这章将带领大家学习非常常用的HBase,包括HBase环境搭建,常用CRUD操作,常用API以及HBase的调优等。

1) HBase简介

2) HBase与RDBMS的对比

3) HBase安装:本地模式、为分布式模式、完全分布式模式

4) HBase Shell体验

5) 数据模型

6) 系统架构

7) HBase核心术语介绍

8) 通过API操作HBase

9) 表的设计

10) HBase自定义协处理器

11) HBase上的MapReduce

12) 集群的搭建过程讲解

13) 集群的监控

14) 集群的管理

15) Hbase表级优化

16) Hbase写数据优化

17) Hbase 读数据优化

18) 使用Kundera ORM操纵hbase


Zookeeper开发

Zookeeper在分布式集群(Hadoop生态圈)中的地位越来越突出,对分布式应用的开发也提供了极大便利,这也是这里我们带领大家深入学习 Zookeeper的原因。本课程主要内容包括Zookeeper深入、客户端开发(Java编程,案例开发)、日常运维、Web界面监控。大家这里学好Zookeeper,对后面学习其他技术至关重要。

1) Zookeeper简介

2) Zookeeper组件

3) Zookeeper名字空间等级

4) ZNode类型

5) Zookeeper的工作流程,leader select过程

6) 搭建Zookeeper为分布搭建、集群搭建

7) Zookeeper Cli

8) 使用Zookeeper的客户端API连接Zookeeper

9) Zookeeper rmi高可用分布式集群开发

10) Netty 异步io通信框架

11) Zookeeper实现netty分布式架构的高可用


Flume分布式日志框架

Flume 最早是 Cloudera 提供的日志收集系统,目前是 Apache 下的一个孵化项目,Flume 支持在日志系统中定制各类数据发送方,用于收集数据。

大家学习完此节后不但可以掌握 Flume 的使用,而且可以进行对于 Flume 的开发。

1) flume简介-基础知识

2) flume优点

3) flume架构:水槽

4) flume安装与测试

5) flume部署方式

6) flume source相关配置及测试

7) flume sink相关配置及测试

8) flume源代码分析

9) flume selector 相关配置与案例分析

10) flume Sink Processors相关配置和案例分析

11) flume Interceptors相关配置和案例分析

12) flume AVROClient开发

13) flume 和kafka 的整合


Kafka分布式队列系统课程

Kafka是当下流行的队列,可以说是从数据采集到大数据计算承上启下的重要环节,大家在此部分将会详细学习它的架构,kafka在大家大数据的项目中几乎都会涉及到。

1) Kafka是什么

2) Kafka体系结构

3) Kafka配置详解

4) Kafka的安装

5) 消息压缩

6) Kafka集群镜像

7) Kafka的存储策略

8) Kafka分区特点

9) Kafka的发布与订阅

10) Zookeeper协调管理

11) Java编程操作Kafka

12) scala编程操作kafka

13) flume 和Kafka 的整合

14) Kafka 和storm 的整合


Sqoop数据迁移

Sqoop 是一个用来将Hadoop和关系型数据库中的数据相互转移的工具,在企业中,是构建数据仓库的一大工具。

1) 介绍和配置Sqoop

2) Sqoop shell使用

3) Sqoop-import

a) DBMS  àhdfs

b) DBMS  àhive

c) DBMS  àhbase

4) Sqoop-export

5) Job创建、查看、执行和删除


Pig开发

Pig hadoop家族体系之一。Pig是分析大数据平台,使用表达式(脚本)语言。也是mr抽象,和hadoop配合使用Pig拉丁用于编写高级分析程序,提供了各种操作可用开发人员进行读写操作使用pig拉丁语言编写脚本,脚本内部转换成mr taskpig引擎将脚本转换mr job。

1) Pig特点

2) Pig架构

3) Pig组件:parser、优化器、编译器、执行引擎

4) Pig Data ModelL: field、tuple、bag、relation、Map

5) 安装Pig

6) Pig运行模式:local、hdfs

7) Pig执行模式:交互、批处理、嵌入式

8) Shell命令:kill、exec、run、clear等

9) 诊断操作符:Dump、Describe、Explanation、Illustration

10) Pig操作:group、cogroup、join、union、split切割、过滤、函数等

11) load() / storage:PigStorage、TextLoder、BinStorage、Handling Compression等


Storm实时数据处理

Storm是开源分布式的、容错的实时计算系统,可以实时可靠地处理无线数据流。Storm适用于实时分析、在线机器学习、分布式RPC、ETL、高效运算,在多节点集群中每秒可处理上百万条记录。

本部分学习过后,大家将全面掌握Storm内部机制和原理,通过大量项目实战,让大家拥有完整项目开发思路和架构设计,掌握从数据采集到实时计算到数据存储再到前台展示,所有工作一个人搞定!譬如可以一个人搞定淘宝双11大屏幕项目!不光从项目的开发的层次去实现,并可以从架构的层次站在架构师的角度去完成一个项目。

1) Storm的基本概念

2) Storm的应用场景

3) Storm和Hadoop的对比

4) Storm优势

5) Storm集群的安装的linux环境准备

6) Storm集群搭建

7) Storm配置文件配置项讲解

8) 集群搭建常见问题解决

9) Storm常用组件和编程API:Topology、Spout、Bolt

10) Storm分组策略(stream groupings)

11) 使用Strom开发一个WordCount例子

12) 在单节点集群上部署topology

13) Storm程序本地模式debug、Storm程序远程debug

14) Storm事物处理

15) Storm消息可靠性及容错原理

16) Storm结合消息队列Kafka:消息队列基本概念(Producer、Consumer、Topic、Broker等)、消息队列Kafka使用场景、Storm结合Kafka编程API

17) Storm Trident概念

18) Trident state 原理

19) Trident开发实例

20) Storm DRPC(分布式远程调用)

21) Storm DRPC实战讲解

22) Storm和Hadoop 2.x的整合:Storm on Yarn


Scala语言编程

为什么要学习Scala?源于Spark的流行,Spark是当前最流行的开源大数据内存计算框架,采用Scala语言实现,各大公司都在使用Spark:IBM宣布承诺大力推进 Apache Spark项目,并称该项目为:在以数据为主导的,未来十年最为重要的新的开源项目。这一承诺的核心是将Spark嵌入IBM业内领先的分析和商务平台, Scala具有数据处理的天然优势,Scala是未来大数据处理的主流语言。

1) Scala介绍

2) Scala与Java比较

3) Scala解释器、变量、常用数据类型等

4) Scala的条件表达式、输入输出、循环等控制结构

5) Scala的函数、默认参数、变长参数等

6) Scala的数组、变长数组、多维数组等

7) Scala的映射、元组等操作

8) Scala的类,包括bean属性、辅助构造器、主构造器等

9) Scala的对象、单例对象、伴生对象、扩展类、apply方法等

10) Scala的包、引入、继承等概念

11) Scala文件操作和正则表达式

12) Scala串行化

13) Scala的特质

14) Scala的操作符

15) Scala的高阶函数

16) Scala的集合

17) Scala数据库连接


Spark大数据编程

Spark是UC Berkeley AMP lab所开源的类Hadoop MapReduce的通用并行框架,Spark,拥有Hadoop MapReduce所具有的优点。启用了内存分布数据集,除 了能够提供交互式查询外,它还可以优化迭代工作负载。

本章节内容全面涵盖了 Spark 生态系统的概述及其编程模型,深入内核的研究,是非常有学习指引意义的课程。

1) Spark介绍

2) Spark应用场景

3) Spark和Hadoop MR、Storm的比较和优势

4) RDD

5) Transformation

6) Action

7) Spark计算PageRank

8) Lineage

9) Spark模型简介

10) Spark缓存策略和容错处理

11) 宽依赖与窄依赖

12) Spark配置讲解

13) Spark集群搭建

14) 集群搭建常见问题解决

15) Spark原理核心组件和常用RDD

16) 数据本地性

17) 任务调度

18) DAGScheduler

19) TaskScheduler

20) Spark源码解读

21) 性能调优

22) Spark和Hadoop2.x整合:Spark on Yarn原理

23) Spark Core核心编程

24) RDD内核架构概览

25) RDD的不同数据来源的创建方式详解

26) RDD的操作算子综述与本质分析(转换算子、行动算子)

27) 常用操作算子的案例实战

28) RDD持久化实战以及Checkpoint

29) RDD共享变量以及累加器的使用实战

30) RDD简单排序功能(优化之前WordCount程序)以及二次排序的实战

31) Spark实战Top N功能详解

32) Spark任务调度流程整体架构分析详解

33) Spark任务划分流程整体架构分析详解(宽依赖与窄依赖、DAGScheduler源码分析)

34) Spark执行任务相关原理以及源码分析(TaskScheduler、Executor、Task、Shuffle)

35) Spark实战之PageRank

36) 性能优化与调优的分析

SparkSQL

Spark SQL是Spark的一个组件,用于结构化数据的计算。Spark SQL 为Spark提供了查询结构化数据的能力,查询时既可以使用SQL也可以使用人们熟知的DataFrame API(RDD)。Spark SQL支持多语言编程包括Java、Scala、Python及R,开发人员可以根据自身喜好进行选择。

1) SparkSQL简介与Demo体验

2) SparkSQL使用API实现sum聚合

3) SparkSQL DataFrame编程

4) SparkSQLDataFrame编程聚合

5) SparkSQL DataFrameAPI、类SQL、聚合函数

6) SparkSQL DataFrameAPI、word count、嵌套子查询

7) SparkSQL DataFrame DataSet、聚合、多数据源、catalog

8) Spark SQL读取外部mysql数据

9) Spark SQL将DataFrame写入外部mysql数据与外部脚本化操作

10) Spark SQL将DataFrame API编程完成jdbc访问

11) Spark SQL访问Hive介绍、准备工作与访问Hive操作

12) SQL作为分布式查询引擎进行访问


SparkStreaming

Spark Streaming: 构建在Spark上处理Stream数据的框架,基本的原理是将Stream数据分成小的时间片断 (几秒),以类似batch批量处理的方式来处理这小部分数据。

1) Spark Stream计算介绍

2) Spark Stream计算实现word count

3) Spark tream提交流应用到spark集群上运行

4) Spark Stream api、文档解读

5) Spark Streaming FileStreaming

6) Spark Streaming集成kafka

7) Spark Streaming集成flume

8) Spark+Kafka+flum整合

9) Spark Streaming windows化操作

10) Spark Streaming中应用DataFrame操作



Spark机器学习

Spark ML使用了很多Spark的核心功能,将数据处理和机器学习进行一致性,编程简单。

Spark给出了两种ML库,spark.ml(推荐) + spark.mllib(维护状态)。ML基于DataFrame的,mllib基于RDD的。

1) Spark机器学习介绍

2) Spark机器学习案例:使用红酒质量预测做机器学习-红酒质量预测、红酒线性回归分析简化、白酒逻辑回归

3) Spark spamFilter机器学习

4) Spark spam filter API编程实现实现垃圾邮件过滤

5) Spark Word2Vec

6) Spark graphx基本概念、案例、基本操作

7) Spark graphx边映射,航空旅游价格处理案例

8) Spark图计算应用

Mahout

Mahout 是 Apache Software Foundation(ASF) 旗下的一个开源项目,提供一些可扩展的机器学习领域经典算法的实现,旨在帮助开发人员更加方便快捷地创建智能应用程序。课程包括:Mahout数据挖掘工具 及Hadoop实现推荐系统的综合实战,涉及到MapReduce、Pig和Mahout的综合实战。

1) Mahout特性

2) 机器学习介绍

3) 实现机器学习的方式

4) 使用Mahout实现推荐功能

5) Mahout推荐引擎

6) 构成推荐引擎的组件

7) 使用Mahout构建推荐器

8) 通过Eclipse创建Mahout项目,实现推荐功能

9) 聚类:聚类的过程、复制文件到hdfs、从input数据准备序列文件、运行任何可以使用的聚类算法

R语言

本课程面向从未接触过数据分析的学员,从最基础的R语法开始讲起,逐步进入到目前各行业流行的各种分析模型。整个课程分为基础和实战两个单元。 基础部分包 括R语法和统计思维两个主题,R语法单元会介绍R语言中的各种特色数据结构,以及如何从外部抓去数据,如何使用包和函数,帮助同学快速通过语法关。统计思维 单元会指导如何用统计学的思想快速的发现数据特点或者模式,并利用R强大的绘图能力做可视化展现。在实战部分选择了回归、聚类、数据降维、关联规则、决策树这5种最基础的数据分析模型,详细介绍其思想原理,并通过案例讲解R中的实现方案,尤其是详细的介绍了对各种参数和输出结果的解读,让学员真正达到融会 贯通、举一反三的效果,并应用到自己的工作环境中。

1) R语言介绍、下载和安装

2) R语言包、库

3) R批处理

4) 数据集、对象、向量、标量、矩阵、数组、数据框、因子、列表、加载xlsx文件;

5) plot制图、修改图形属性、颜色、案例

6) 文本大小的参数、字体、图形大小和边界大小

7) legend图例、条形图、饼图、点图

8) 基本统计分析

9) 定义函数、使用内置汽车数据集


Python编程(新增)

Python 是一个高层次的结合了解释性、编译性、互动性和面向对象的脚本语言。Python的优点就是简单。python能干什么呢?python无所不能(当然,它不能帮你找女朋友),你java能做的,我用python都能做,你java 做不好的,我python也能做,虽然python被成为脚本语言,但它已经不算脚本了,就像火车已经不是"烧"着跑的了...

1) Python简介与环境搭建

2) Python基础语法:变量类型、运算符、条件语句、循环语句等

3) Python字符串、List、元组、Dictionary、日期和时间、函数、模块等

4) Python文件I/O与异常处理

5) Python面向对象、正则表达式、CGI编程

6) Python网络编程、SMIP、多线程、XML解析、IDE、JSON等


Python数据分析(新增)

学习完Pthon编程,那么究竟如何通过Python来进程数据分析呢?下面的课程将带你学习Python数据分析。

1) 各种和数据分析相关Python库的介绍

2) 数据导入和导出

3) 提取和筛选需要的数据

4) 统计描述

5) 数据处理

6) 统计分析

7) 可视化

8) 其他


ELK

ELK是开源实时日志分析平台。由Elasticsearch、Logstash和Kibana三部分组件组成。

1) ELK简介与安装准备

2) Elasticsearch介绍、安装与配置

3) Kibana简介、安装与配置

4) Nginx安装与配置

5) Logstash-ssl简介、安装、配置与验证

6) 加载Kibana的仪表盘

7) 在ES中加载FileBeat索引模板

8) 在Client主机上安装FileBeat软件包



大型企业项目实战

项目一:类电商网站

项目是类电商网站,从前端给予spring mvc架构的前端业态展现,以及spring与hibernate在servlet3.0规范下的纯注解编程体验,迅捷完成复杂业务流程的编程实现处理。网站通篇采用maven实现项目依赖管理,更有三方插件在应用过程中的使用便捷扩展与使用。

更有从项目运维角度上涉及的nginx服务器的负载均衡实现与动静分离技术中同tomcat服务器的服务器集群整合。其中更是牵涉到操作系统层面上的优化处理,比如立竿见影的cpu affinity进程分配技术以及粒度更细的cgroup实现资源隔离,此类皆为企业生产过程应用的典型技术手段。

大数据方面从日志数据的产生,比如通过ab压力测试软件生产的海量日志消息,以及通过flume进行hop式跳跃推送进行kafka消息集群,同实现原生数据的hdfs下沉处理与MR实现的数据清洗过程后的数据转储。使用hive与crontab组合实现网站流量的KPI数据定时统计。高可用方面配置独立的zk集群实现Hadoop的NN、RM以及利用storm实现业务数据的在线实时处理,结合hbase实现数据的实时读写。高可用方向使用独立的zk集群完成Hadoop的NN、RM以及Hbase中Master节点的高可用处理,以避免单点故障。



项目二:某手机公司bug系统

一般开发公司都有自己的一套bug系统,这个系统是测试人员测试出来bug之后提交给开发人员。还有一些bug是测试人员没有覆盖到,而用户在使用过程中产生的bug,这时需要收集用户在使用软件过程中产生的大量log,通过海量log的智能分析,找出“隐藏”的bug,从而更好的提高软件质量。


比如如下log就是一段bug日志:

Using Spark's default log4j profile: org/apache/spark/log4j-defaults.properties

16/07/21 08:05:37 INFO SparkContext: Running Spark version 1.3.0

Exception in thread "main" org.apache.spark.SparkException: A master URL must be set in your configuration

at org.apache.spark.SparkContext.(SparkContext.scala:206)

at org.apache.spark.api.java.JavaSparkContext.(JavaSparkContext.scala:61)

at com.zhang.spark.core.WordCountCluter.main(WordCountCluter.java:25)

将日志文件写入HDFS中,相对路径PATH为“WCerror.log”,注意JAVA堆栈异常日志的处理,然后将解析后的异常日志全部存到SparkSQL中或Hive数据仓库中,通过编写SQL查询一段时间内ERROR级别记录的前10行,统计每分钟的日志记录数,并将统计结果存入mysql数据库中,将该数据对应到bug系统中,提供给开发人员解决bug。


项目三:传统广告怎么用大数据(新增)

传统广告怎么用大数据(比如公交站台,地铁的广告屏幕大数据分析)项目:

现在随着摄像头,和移动互联网的发展,现在很多广告公司把最新的技术用上了,广告统计项目会让大家明白怎么通过摄像头识别图片,产生对应的信息,我们通过大数据技术对这些信息做分析,让商家知道客户喜欢的产品,进而做营销。

此技术包括:

(1)摄像头的采集

(2)图像识别

(3)产生log

(4)linux的定时器

(5)大数据技术结合

(6)php技术展示

(7)h5跨平台展示

此项目让同学从收集,分析,展示一个完整的流程。


项目四:网站日志收集清洗

将采集到的网站行为日志通过mr清洗后入hive数据库。

(1)hive数据分析通过日志文件获得的访问数据,点击数据,结合线上数据从库根据业务逻辑通过shell脚本,利用hive清洗后入mysql数据库,前端通过报表配置展示给各个业务部门及CTO CEO。

(2)各个业务部门例如,市场,运营等临时数据查询支持。

(3)运用hive进行数据仓库搭建。为减轻集群压力,及增加研发人员查询数据效率,特别根据获取的数据进行整理,并且搭建宽表。方便维护及提高数据一致性,准确性。

(4)为提高用户粘性,挖掘潜在客户。根据用户前一天,前一周的用户行为,设计出,并提供数据,适合用户行为兴趣的推荐弹窗口等.


项目五:网站流量统计分析系统

本项目基于大数据技术分析目标网站的PV(page view) 页面浏览量或点击量, UV(unique visitor) 独立访客数,VV(Visit View) 访问次数和平均在线时长等重要指标,是网站改进服务质量、制定相应策略的重要参考。

(1)利用Flume技术完成网站日志的收集和聚集,并把数据存储到HDFS和Kafka集群;

(2)利用hive技术对HDFS收集的日志进行PV,UV,VV和在线时长等离线分析,并利用Sqoop技术把hive分析的结果导入到Mysql中;

(3)利用storm和spark streaming技术对kafka收集的日志进行实时在线分析,将分析中间结果实时存入Hbase,并将最后结果导入Mysql。


(备注:项目会选择其中2-3个。

以上所有的课程大纲只是授课计划,具体内容以实际上课为准。)


战略合作伙伴