H5+PHP全棧工程師課程
階段 | 技術(shù)內(nèi)容 |
Linux大綱 | 這章是基礎(chǔ)課程,幫大家進(jìn)入大數(shù)據(jù)領(lǐng)域打好Linux基礎(chǔ),以便更好地學(xué)習(xí)Hadoop,hbase,NoSQL,Spark,Storm,docker,kvm,openstack等眾多課程。因?yàn)槠髽I(yè)中無(wú)一例外的是使用Linux來(lái)搭建或部署項(xiàng)目。 |
1) Linux的介紹,Linux的安裝:VMware Workstation虛擬軟件安裝過(guò)程、CentOS虛擬機(jī)安裝過(guò)程 2) 了解機(jī)架服務(wù)器,采用真實(shí)機(jī)架服務(wù)器部署linux 3) Linux的常用命令:常用命令的介紹、常用命令的使用和練習(xí) 4) Linux系統(tǒng)進(jìn)程管理基本原理及相關(guān)管理工具如ps、pkill、top、htop等的使用; 5) Linux啟動(dòng)流程,運(yùn)行級(jí)別詳解,chkconfig詳解 6) VI、VIM編輯器:VI、VIM編輯器的介紹、VI、VIM扥使用和常用快捷鍵 7) Linux用戶和組賬戶管理:用戶的管理、組管理 8) Linux磁盤管理,lvm邏輯卷,nfs詳解 9) Linux系統(tǒng)文件權(quán)限管理:文件權(quán)限介紹、文件權(quán)限的操作 10) Linux的RPM軟件管理:RPM的介紹、RPM安裝、卸載等操作 11) yum命令,yum源搭建 12) Linux網(wǎng)絡(luò):Linux網(wǎng)絡(luò)的介紹、Linux網(wǎng)絡(luò)的配置和維護(hù) 13) Shell編程:Shell的介紹、Shell腳本的編寫 14) Linux上常見(jiàn)軟件的安裝:安裝JDK、安裝Tomcat、安裝mysql,web項(xiàng)目部署 |
|
大型網(wǎng)站 高并發(fā)處理 |
通過(guò)本章的學(xué)習(xí)大家將會(huì)了解大數(shù)據(jù)的源頭,數(shù)據(jù)從何而來(lái),繼而更好的了解大數(shù)據(jù)。并且通過(guò)學(xué)習(xí)何果處理大型網(wǎng)站高并發(fā)問(wèn)題反向更深入的學(xué)習(xí)了Linux,同時(shí)站在了更高的角度去觸探了架構(gòu)。 |
1) 第四層負(fù)載均衡 a) Lvs負(fù)載均衡 i. 負(fù)載算法,NAT模式,直接路由模式(DR),隧道模式(TUN) b) F5負(fù)載均衡器介紹 2) 第七層負(fù)載均衡 a) Nginx b) Apache 3) Tomcat、jvm優(yōu)化提高并發(fā)量 4) 緩存優(yōu)化 a) Java緩存框架 i. Oscache,ehcache b) 緩存數(shù)據(jù)庫(kù) i. Redis,Memcached 5) Lvs+nginx+tomcat+redis|memcache構(gòu)建二層負(fù)載均衡千萬(wàn)并發(fā)處理 6) Haproxy 7) Fastdfs小文件獨(dú)立存儲(chǔ)管理 8) Redis緩存系統(tǒng) a) Redis基本使用 b) Redis sentinel高可用 c) Redis好友推薦算法 |
|
Lucene課程 | 在大數(shù)據(jù)里面文本數(shù)據(jù)的搜索是很重要的一塊,特別是里面的分詞技術(shù),是后面機(jī)器學(xué)習(xí)里面文本挖掘的基石,我們需要深入學(xué)習(xí)java領(lǐng)域里面的搜索核心技術(shù)lucene,同時(shí)也可以了解到百度 google這樣的搜索系統(tǒng)是怎么架構(gòu)實(shí)現(xiàn)的。 |
1) Lucene介紹
2) Lucene 倒排索引原理
3) 建索引 IndexWriter
4) 搜索 IndexSearcher
5) Query
6) Sort和 過(guò)濾 (filter)
7) 索引優(yōu)化和高亮
|
|
Solr課程 | 接著前面lucene技術(shù)搜索,如果把lucene技術(shù)比如為發(fā)動(dòng)機(jī),那solr就是一兩成型的汽車了。學(xué)習(xí)完solr可以幫助你在企業(yè)里面快速的架構(gòu)搜索系統(tǒng)。首先Solr是基于Lucene做的,Lucene是一套信息檢索工具,但并不含搜索引擎系統(tǒng),它含了索引結(jié)構(gòu)、讀寫索引工具、相關(guān)性工具、排序等功能,因此在使用Lucene時(shí)你仍需要關(guān)注搜索引擎系統(tǒng),例如數(shù)據(jù)獲取、解析、分詞等方面的東西。而Solr的目標(biāo)是打造一款企業(yè)級(jí)的搜索引擎系統(tǒng),因此它更接近于我們認(rèn)識(shí)到的搜索引擎系統(tǒng),它是一個(gè)搜索引擎服務(wù),通過(guò)各種API可以讓你的應(yīng)用使用搜索服務(wù),而不需要將搜索邏輯耦合在應(yīng)用中。而且Solr可以根據(jù)配置文件定義數(shù)據(jù)解析的方式,更像是一個(gè)搜索框架,它也支持主從、熱換庫(kù)等操作。還添加了飄紅、facet等搜索引擎常見(jiàn)功能的支持。 |
1) 什么是solr
2) 為什么工程中要使用solr
3) Solr的原理
4) 如何在tomcat中運(yùn)行solr
5) 如何利用solr進(jìn)行索引與搜索
6) solr的各種查詢
7) solr的Filter
8) solr的排序
9) solr的高亮
10) solr的某個(gè)域統(tǒng)計(jì)
11) solr的范圍統(tǒng)計(jì)
12) solrcloud集群搭建
|
|
Hadoop 離線計(jì)算大綱 |
一、初識(shí)hadoop 聽(tīng)過(guò)大數(shù)據(jù),必聽(tīng)過(guò)hadoop,此部分帶領(lǐng)大家了解hadoop的用途,在大數(shù)據(jù)中的用途,以及快速搭建一個(gè)hadoop的實(shí)驗(yàn)環(huán)境,在本過(guò)程中不僅將用到前面的Linux知識(shí),而且會(huì)對(duì)hadoop的架構(gòu)有深入的理解,并為你以后架構(gòu)大數(shù)據(jù)項(xiàng)目打下堅(jiān)實(shí)基礎(chǔ)。
|
1) Hadoop生態(tài)環(huán)境介紹
2) Hadoop云計(jì)算中的位置和關(guān)系
3) 國(guó)內(nèi)外Hadoop應(yīng)用案例介紹
4) Hadoop 概念、版本、歷史
5) Hadoop 核心組成介紹及hdfs、mapreduce 體系結(jié)構(gòu)
6) Hadoop 的集群結(jié)構(gòu)
7) Hadoop 偽分布的詳細(xì)安裝步驟
8) 通過(guò)命令行和瀏覽器觀察hadoop
|
|
二、 HDFS體系結(jié)構(gòu)和shell以及java操作 詳細(xì)剖析HDFS,從知曉原理到開(kāi)發(fā)網(wǎng)盤的項(xiàng)目讓大家打好學(xué)習(xí)大數(shù)據(jù)的基礎(chǔ),大數(shù)據(jù)之于分布式,分布式學(xué)習(xí)從學(xué)習(xí)分布式文件系統(tǒng)(HDFS)開(kāi)始。 | |
1) HDFS底層原理
2) HDFS datanode,namenode詳解
3) Hdfs shell
4) Hdfs java api
|
|
三、 詳細(xì)講解Mapreduce Mapreduce可以說(shuō)是任何一家大數(shù)據(jù)公司都會(huì)用到的計(jì)算框架,也是每個(gè)大數(shù)據(jù)工程師應(yīng)該熟練掌握的,此處的學(xué)習(xí)除了老師詳細(xì)的講解理論外,會(huì)通過(guò)大量的案例讓大家徹底掌握。 | |
1) Mapreduce四個(gè)階段介紹
2) Writable
3) InputSplit和OutputSplit
4) Maptask
5) Shuffle:Sort,Partitioner,Group,Combiner
6) Reducer
|
|
四、 Mapreduce案例案例 | |
1) 二次排序
2) 倒排序索引
3) 最優(yōu)路徑
4) 電信數(shù)據(jù)挖掘之-----移動(dòng)軌跡預(yù)測(cè)分析(中國(guó)棱鏡計(jì)劃)
5) 社交好友推薦算法
6) 互聯(lián)網(wǎng)精準(zhǔn)廣告推送 算法
|
|
五、 Hadoop2.x集群搭建 前面帶領(lǐng)大家開(kāi)發(fā)了大量的MapReduce程序,此部分將帶來(lái)大家讓開(kāi)發(fā)的程序運(yùn)行在分布式集群中,并且運(yùn)行在健壯高可用的集群中。 | |
1) Hadoop2.x集群結(jié)構(gòu)體系介紹
2) Hadoop2.x集群搭建
3) NameNode的高可用性(HA)
4) HDFS Federation
5) ResourceManager 的高可用性(HA)
6) Hadoop集群常見(jiàn)問(wèn)題和解決方法
7) Hadoop集群管理
|
|
分布式數(shù)據(jù)庫(kù) Hbase |
大數(shù)據(jù)中使用Hbase的案例多的舉不勝舉,也可凸顯大家學(xué)習(xí)的必要性。即使多年的大數(shù)據(jù)工程師Hbase的優(yōu)化也是需要好好學(xué)習(xí)的重點(diǎn)。 |
1) HBase定義
2) HBase與RDBMS的對(duì)比
3) 數(shù)據(jù)模型
4) 系統(tǒng)架構(gòu)
5) HBase上的MapReduce
6) 表的設(shè)計(jì)
7) 集群的搭建過(guò)程講解
8) 集群的監(jiān)控
9) 集群的管理
10) HBase Shell以及演示
11) Hbase 樹(shù)形表設(shè)計(jì)
12) Hbase 一對(duì)多 和 多對(duì)多 表設(shè)計(jì)
13) Hbase 微博 案例
14) Hbase 訂單案例
15) Hbase表級(jí)優(yōu)化
16) Hbase 寫數(shù)據(jù)優(yōu)化
17) Hbase 讀數(shù)據(jù)優(yōu)化
|
|
數(shù)據(jù)倉(cāng)庫(kù)Hive | Hive是使用sql進(jìn)行計(jì)算的hadoop框架,中最常用到的部分,也是面試的重點(diǎn),此部分大家將從方方面面來(lái)學(xué)習(xí)Hive的應(yīng)用,任何細(xì)節(jié)都將給大家涉及到。 |
1) 數(shù)據(jù)倉(cāng)庫(kù)基礎(chǔ)知識(shí)
2) Hive定義
3) Hive體系結(jié)構(gòu)簡(jiǎn)介
4) Hive集群
5) 客戶端簡(jiǎn)介
6) HiveQL定義
7) HiveQL與SQL的比較
8) 數(shù)據(jù)類型
9) 外部表和分區(qū)表
10) ddl與CLI客戶端演示
11) dml與CLI客戶端演示
12) select與CLI客戶端演示
13) Operators 和 functions與CLI客戶端演示
14) Hive server2 與jdbc
15) 用戶自定義函數(shù)(UDF 和 UDAF)的開(kāi)發(fā)與演示
16) Hive 優(yōu)化
|
|
數(shù)據(jù)遷移工具Sqoop | sqoop適用于關(guān)系型數(shù)據(jù)庫(kù)和HDFS分布式數(shù)據(jù)系統(tǒng)之間進(jìn)行數(shù)據(jù)轉(zhuǎn)換,在企業(yè)中,是構(gòu)建數(shù)據(jù)倉(cāng)庫(kù)的一大工具。 |
1) 介紹 和 配置Sqoop 2) Sqoop shell使用 3) Sqoop-import a) DBMS-hdfs b) DBMS-hive c) DBMS-hbase 4) Sqoop-export |
|
Flume分布式 日志框架 |
Flume最早是Cloudera提供的日志收集系統(tǒng),目前是Apache下的一個(gè)孵化項(xiàng)目,F(xiàn)lume支持在日志系統(tǒng)中定制各類數(shù)據(jù)發(fā)送方,用于收集數(shù)據(jù)。大家學(xué)習(xí)完此節(jié)后不但可以掌握Flume的使用,而且可以進(jìn)行對(duì)于Flume的開(kāi)發(fā)。 |
1) flume簡(jiǎn)介-基礎(chǔ)知識(shí)
2) flume安裝與測(cè)試
3) flume部署方式
4) flume source相關(guān)配置及測(cè)試
5) flume sink相關(guān)配置及測(cè)試
6) flume selector 相關(guān)配置與案例分析
7) flume Sink Processors相關(guān)配置和案例分析
8) flume Interceptors相關(guān)配置和案例分析
9) flume AVRO Client開(kāi)發(fā)
10) flume 和kafka 的整合
|
|
Zookeeper 開(kāi)發(fā) |
Zookeeper在分布式集群(Hadoop生態(tài)圈)中的地位越來(lái)越突出,對(duì)分布式應(yīng)用的開(kāi)發(fā)也提供了極大便利,這也是這里我們帶領(lǐng)大家深入學(xué)習(xí) Zookeeper的原因。本課程主要內(nèi)容括Zookeeper深入、客戶端開(kāi)發(fā)(Java編程,案例開(kāi)發(fā))、日常運(yùn)維、Web界面監(jiān)控。大家這里學(xué)好Zookeeper,對(duì)后面學(xué)習(xí)其他技術(shù)至關(guān)重要。 |
1) Zookeeper java api開(kāi)發(fā)
2) Zookeeper rmi高可用分布式集群開(kāi)發(fā)
3) Zookeeper redis高可用監(jiān)控實(shí)現(xiàn)
4) Netty 異步io通信框架
5) Zookeeper實(shí)現(xiàn)netty分布式架構(gòu)的高可用
|
|
項(xiàng)目實(shí)戰(zhàn) | 某大型電商日志分析和訂單管理 在實(shí)戰(zhàn)中學(xué)習(xí),技術(shù)點(diǎn)非常多,怎么樣實(shí)際運(yùn)用這些點(diǎn)是我們?cè)谧詫W(xué)過(guò)程中體驗(yàn)不到的。電商日志分析括:pv、uv,跳出率,二跳率、廣告轉(zhuǎn)化率、搜索引擎優(yōu)化等,訂單模塊有:產(chǎn)品推薦,商家排名,歷史訂單查詢,訂單報(bào)表統(tǒng)計(jì)等。 |
項(xiàng)目技術(shù)架構(gòu)體系:
a) Web項(xiàng)目和云計(jì)算項(xiàng)目的整合
b) Flume通過(guò)avro實(shí)時(shí)收集web項(xiàng)目中的日志
c) 數(shù)據(jù)的ETL
d) Hive 批量 sql執(zhí)行
e) Hive 自定義函數(shù)
f) Hive和hbase整合。
g) Hbase 數(shù)據(jù)支持 sql查詢分析
h) Mapreduce數(shù)據(jù)挖掘
i) Hbase dao處理
j) Sqoop 在項(xiàng)目中的使用。
k) Mapreduce 定時(shí)調(diào)用和監(jiān)控
|