怎样学习大数据? 20
2018-09-17
传智播客-黑马程序员
一、入门准备
1、linux操作基础
1) Linux的介绍,Linux的安装:VMware Workstation虚拟软件安装过程、CentOS虚拟机安装过程
2) Linux的常用命令:常用命令的介绍、常用命令的使用和练习(文件操作、用户管理与权限、免密登陆配置与网络管理)
3) Linux系统进程管理基本原理及相关管理工具如ps、pkill、top、htop等的使用;
4) Linux启动流程,运行级别详解,chkconfig详解
5) VI、VIM编辑器:VI、VIM编辑器的介绍、VI、VIM扥使用和常用快捷键
6) Linux磁盘管理,lvm逻辑卷,nfs详解
7) Linux系统文件权限管理:文件权限介绍、文件权限的操作
8) Linux的RPM软件包管理:RPM包的介绍、RPM安装、卸载等操作
9) yum命令,yum源搭建
10) Linux网络:Linux网络的介绍、Linux网络的配置和维护 防火墙配置
11) Shell编程:Shell的介绍、Shell脚本的编写
12) Linux上常见软件的安装:安装JDK、安装Tomcat、安装mysql,web项目部署
13)linux高级文本处理命令cut、sed、awklinux
14)定时任务crontab
2、大型网站高并发处理
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好友推荐算法
3、Lucene基础
1) Lucene介绍
2) Lucene 倒排索引原理
3) 建索引 IndexWriter
4) 搜索 IndexSearcher
5) Query
6) Sort和 过滤 (filter)
7) 索引优化和高亮
4、solr基础
1) 什么是solr
2) 为什么工程中要使用solr
3) Solr的原理
4) 如何在tomcat中运行solr
5) 如何利用solr进行索引与搜索
6) solr的各种查询
7) solr的Filter
8) solr的排序
9) solr的高亮
10) solr的某个域统计
11) solr的范围统计
12) solrcloud集群搭建
5、布式协调服务zookeeper
zookeeper简介及应用场景
zookeeper集群安装部署
zookeeper的数据节点与命令行操作
zookeeper的java客户端基本操作及事件监听
zookeeper核心机制及数据节点
zookeeper应用案例–分布式共享资源锁
zookeeper应用案例–服务器上下线动态感知
zookeeper的数据一致性原理及leader选举机制
6、java高级特性增强
Java多线程基本知识
Java同步关键词详解
java并发包线程池及在开源软件中的应用
Java并发包消息队里及在开源软件中的应用
Java JMS技术
Java动态代理反射
二、离线计算系统
1、hadoop快速入门
hadoop背景介绍
分布式系统概述
离线数据分析流程介绍
集群搭建
集群使用初步
2、HDFS增强
HDFS的概念和特性
HDFS的shell(命令行客户端)操作
HDFS的工作机制
NAMENODE的工作机制
java的api操作
案例1:开发shell采集脚本
3、MAPREDUCE详解
自定义hadoop的RPC框架
Mapreduce编程规范及示例编写
Mapreduce程序运行模式及debug方法
mapreduce程序运行模式的内在机理
mapreduce运算框架的主体工作流程
自定义对象的序列化方法
MapReduce编程案例
4、MAPREDUCE增强
Mapreduce排序
自定义partitioner
Mapreduce的combiner
mapreduce工作机制详解
5、MAPREDUCE实战
maptask并行度机制-文件切片
maptask并行度设置
倒排索引
共同好友
6、federation介绍和hive使用
Hadoop的HA机制
HA集群的安装部署
集群运维测试之Datanode动态上下线
集群运维测试之Namenode状态切换管理
集群运维测试之数据块的balance
HA下HDFS-API变化
hive简介
hive架构
hive安装部署
hvie初使用
7、hive增强和flume介绍
HQL-DDL基本语法
HQL-DML基本语法
HIVE的join
HIVE 参数配置
HIVE 自定义函数和Transform
HIVE 执行HQL的实例分析
HIVE最佳实践注意点
HIVE优化策略
HIVE实战案例
Flume介绍
Flume的安装部署
案例:采集目录到HDFS
案例:采集文件到HDFS
三、数据迁移工具Sqoop
1) 介绍 和 配置Sqoop
2) Sqoop shell使用
3) Sqoop-import a) DBMS-hdfs b) DBMS-hive c) DBMS-hbase
4) Sqoop-export
四、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 的整合
五、内存数据库redis
1) redis特点、与其他数据库的比较
2) 如何安装redis
3) 如何使用命令行客户端
4) redis的字符串类型
5) redis的散列类型
6) redis的列表类型
7) redis的集合类型
8) 如何使用java访问redis【a.python访问redis,scala访问redis】
9) redis的事务(transaction)
10) redis的管道(pipeline)
11) redis持久化(AOF+RDB)
12) redis优化
13) redis的主从复制
14) redis的sentinel高可用
15) twemproxy,codis实战
16) redis3.x集群安装配置
六、Storm上下游及架构集成
1) kafka是什么
2) kafka体系结构
3) kafka配置详解
4) kafka的安装
5) kafka的存储策略
6) kafka分区特点
7) kafka的发布与订阅
8) zookeeper协调管理
9) java编程操作kafka
10) scala编程操作kafka
11) flume 和kafka 的整合
12) Kafka 和storm 的整合
七、Storm从入门到精通
1) Storm的基本概念
2) Storm的应用场景
3) Storm和Hadoop的对比
4) Storm集群的安装的linux环境准备
5) zookeeper集群搭建
6) Storm集群搭建
7) Storm配置文件配置项讲解
8) 集群搭建常见问题解决
9) Storm常用组件和编程API:Topology、 Spout、Bolt
10) Storm分组策略(stream groupings)
11) 使用Strom开发一个WordCount例子
12) Storm程序本地模式debug、Storm程序远程debug
13) Storm事物处理
14) Storm消息可靠性及容错原理
15) Storm结合消息队列Kafka:消息队列基本概念(Producer、Consumer、Topic、Broker等)、消息队列Kafka使用场景、Storm结合Kafka编程API
16) Storm Trident概念
17) Trident state 原理
18) Trident开发实例
19) Storm DRPC(分布式远程调用)介绍
20) Storm DRPC实战讲解
21) Storm和Hadoop 2.x的整合:Storm on Yarn
八、scala编程
1) scala解释器、变量、常用数据类型等
2) scala的条件表达式、输入输出、循环等控制结构
3) scala的函数、默认参数、变长参数等
4) scala的数组、变长数组、多维数组等
5) scala的映射、元组等操作
6) scala的类,包括bean属性、辅助构造器、主构造器等
7) scala的对象、单例对象、伴生对象、扩展类、apply方法等
8) scala的包、引入、继承等概念
9) scala的特质
10) scala的操作符
11) scala的高阶函数
12) scala的集合
13) scala数据库连接
九、内存计算体系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原理
十、SparkStreaming应用实战
Spark-Streaming简介
Spark-Streaming编程
实战:StageFulWordCount
Flume结合Spark Streaming
Kafka结合Spark Streaming
窗口函数
ELK技术栈介绍
ElasticSearch安装和使用
Storm架构分析
Storm编程模型、Tuple源码、并发度分析
Storm WordCount案例及常用Api分析
十一、机器学习算法
1、python及numpy库
机器学习简介
机器学习与python
python语言–快速入门
python语言–数据类型详解
python语言–流程控制语句
python语言–函数使用
python语言–模块和包
phthon语言–面向对象
python机器学习算法库–numpy
机器学习必备数学知识–概率论
2、常用算法实现
knn分类算法–算法原理
knn分类算法–代码实现
knn分类算法–手写字识别案例
lineage回归分类算法–算法原理
lineage回归分类算法–算法实现及demo
朴素贝叶斯分类算法–算法原理
朴素贝叶斯分类算法–算法实现
朴素贝叶斯分类算法–垃圾邮件识别应用案例
kmeans聚类算法–算法原理
kmeans聚类算法–算法实现
kmeans聚类算法–地理位置聚类应用
决策树分类算法–算法原理
决策树分类算法–算法实现
Java语言基础:
Java开发介绍、熟悉Eclipse开发工具、Java语言基础、Java流程控制、Java字符串、Java数组与类和对象、数字处理类与核心技术、I/O与反射,多线程、Swing程序与集合类;
HTML、CSS与JavaScript:
PC端网站布局、HTML5+CSS3基础、WebAPP页面布局、原生javascript交互功能开发、Ajax异步交互、jQuery应用;
JavaWeb和数据库:
数据库、javaWeb开发核心、JavaWeb开发内幕;
Linux基础:
Linux安装与配置、系统管理与目录管理、用户与用户组管理、Shell编程、服务器配置、Vi编辑器与Emacs编辑器
Hadoop生态体系:
Hadoop起源与安装、MapReduce快速入门、Hadoop分布式文件系统、Hadoop文件I/O详解、MapReduce工作原理、MapReduce编程开发、Hive数据仓库工具、开源数据库HBase、Sqoop与Oozie;
Spark生态体系:
Spark简介、Spark部署和运行、Spark程序开发、Spark编程模型、作业执行解析、Spark SQL与DataFrame、深入Spark Streaming、Spark MLlib与机器学习、GraphX与SparkR、spark项目实战、scala编程、Python编程;
Storm实时开发:
storm简介与基本知识、拓扑详解与组件详解、Hadoop分布式系统、spout详解与bolt详解、zookeeper详解、storm安装与集群搭建、storm-starter详解、开源数据库HBase、trident详解;
项目案例:
模拟双11购物平台、前端工程化与模块化应用;