曙海教學(xué)優(yōu)勢
本課程,秉承二十一年積累的教學(xué)品質(zhì),以項目實現(xiàn)為導(dǎo)向,面向企事業(yè)項目實際需要,老師將會與您分享設(shè)計的全流程以及工具的綜合使用經(jīng)驗、技巧。課程可定制,線上/線下/上門皆可,熱線:4008699035。
曙海培訓(xùn)的課程培養(yǎng)了大批受企業(yè)歡迎的工程師。大批企業(yè)和曙海
建立了良好的合作關(guān)系,合作企業(yè)30萬+。曙海培訓(xùn)的課程在業(yè)內(nèi)有著響亮的知名度。
?hadoop開發(fā)實戰(zhàn)和性能調(diào)優(yōu)培訓(xùn)
培訓(xùn)大綱
課程主題 |
主要內(nèi)容 |
案例和演示 |
Hadoop在云計算技術(shù)的作用和地位 |
l?傳統(tǒng)大規(guī)模數(shù)據(jù)分析存在的問題 l?Hadoop概述 l?Hadoop與分布式文件系統(tǒng) l?Mapreduce的工作原理與機(jī)制 l?Hadoop集群剖析 l?Hadoop生態(tài)系統(tǒng) l?Hadoop的行業(yè)應(yīng)用案例分析 l?Hadoop在云計算和大數(shù)據(jù)的位置和關(guān)系 |
2?阿里集團(tuán)技術(shù)平臺,Hadoop在淘寶、支付寶的作用 2?電商眼中的Hadoop和推薦系統(tǒng) 2?暴風(fēng)數(shù)據(jù)平臺:Hadoop對于產(chǎn)品優(yōu)化的價值 2?Hadoop對于趣游、熱酷等游戲公司的作用 2?移動大云項目(big?cloud)中的hadoop 2?聯(lián)通使用Hadoop/Hbase解決3G詳單查詢問題 |
Hadoop參數(shù)調(diào)優(yōu) |
l?選擇合適Hadoop的硬件配置 l?Hadoop配置項優(yōu)化 l?Hadoop配置優(yōu)化?—?core-site.xml l?Hadoop配置優(yōu)化?—?HDFS l?Hadoop配置優(yōu)化?—?hdfs-site.xml l?Hadoop配置優(yōu)化?—?mapred-site.xml l?Hadoop配置優(yōu)化?—?機(jī)架感知 l?網(wǎng)絡(luò)帶寬參數(shù)調(diào)優(yōu) l?系統(tǒng)參數(shù)調(diào)優(yōu) l?配置文件管理 l?嚴(yán)格控制root權(quán)限 l?Java的GC模式 l?選擇正確的JDK l?Hadoop作業(yè)調(diào)優(yōu) l?Map??side??tuning設(shè)置 l??Map??side設(shè)置 l?Linux?操作系統(tǒng)優(yōu)化 l?其他配置和參數(shù)調(diào)優(yōu) l?core-default.xml, l?hdfs-default.xml, l?mapred-default.xml, l?mapred-site.xml l?mapred?.tasktracker?.map.tasks?.maximum l?mapred.reduce.slowstart.completed.maps l?mapred.fairscheduler.preemption l?mapred.jobtracker.completeuserjobs.maximum l?mapred.jobtracker.update.faulty.tracker.interval l?mapred.jobtracker.max.blacklist.percent |
2?hadoop硬件優(yōu)化 2?不是所有的硬件都合適拿來使用 2?安裝調(diào)優(yōu)的第一步服務(wù)器硬件的選型的竅門 2?如何選擇合適業(yè)務(wù)使用的CPU 2?內(nèi)存越大越好嗎?設(shè)置合理的內(nèi)存配置 2?鏈接網(wǎng)絡(luò)的選擇和優(yōu)化 2?高速硬盤的選擇注意事項 2?硬盤為什么不做raid? 2?設(shè)置網(wǎng)絡(luò)的注意事項 2?中間結(jié)果壓縮對磁盤和網(wǎng)絡(luò)的優(yōu)化 2?機(jī)架感知,網(wǎng)絡(luò)和磁盤IO優(yōu)化作用,確定存儲的具體位置 2?內(nèi)存參數(shù),map/reduce槽位數(shù)的計算方法 2?對磁盤和網(wǎng)絡(luò)的優(yōu)化 2?Java工具使用,jstack使用 2?Sun和open之間的區(qū)別,JIT編譯的使用 2?Linux系統(tǒng)參數(shù)調(diào)優(yōu) 2?Linux監(jiān)控系統(tǒng)的使用 2?Cacti 2?Ganglia 2?常用的linux排錯工具l?sof,strace,iostat,vmstat,n?etstat… 2?常見異?,F(xiàn)象級處理方法 2?網(wǎng)卡流量導(dǎo)致連接失敗 2?權(quán)限錯誤 2?主機(jī)名IP轉(zhuǎn)換錯誤 2?NN與DN??namespace?ID不一致 2?磁盤滿導(dǎo)致報錯 2?Java?heap?size?oom |
精彩案例及故障解決方法解析 |
2?案例一:namenode?被重新格式化,datanode無法連接 n?現(xiàn)象:namenode?中的namespac??ID?與datanode中的namespace?ID不一致 2?案例二:硬盤損壞 n?現(xiàn)象:磁盤損壞導(dǎo)致datanode宕機(jī) 2?案例三:?錯誤用戶啟動hadoop n?現(xiàn)象:datanode啟動一段時間后宕機(jī) 2?案例四:tasktracker重啟后假死 n?現(xiàn)象:無報錯,但tasktracker不工作 2?案例五:jobtracker無故宕機(jī) n?現(xiàn)象:運行過程中,jobtracker宕機(jī) 2?案例六:datanode無法注冊到namenode n?現(xiàn)象:datanode啟動后到mbean這步掛起不再繼續(xù) 2?案例七:tasktracker無法啟動,報權(quán)限錯誤 n?現(xiàn)象:tasktracker報文件夾創(chuàng)建的權(quán)限錯誤后直接退出 2?案例八:主機(jī)名設(shè)置錯誤 n?現(xiàn)象:datanode和tasktrcker無法正常工作 |
|
Hadoop組件詳解 |
l?Hadoop?HDFS基本結(jié)構(gòu) l?Hadoop?HDFS?副本存放策略 l?Hadoop?nameNode?詳解 l?Hadoop?Sedary?namenode?詳解 l?Hadoop?DataNode?詳解 l?Hadoop?JobTracker?詳解 l?Hadoop?TaskTracker?詳解 |
2?Hadoop?Mapper?類核心代碼 2?Hadoop?Reduce?類核心代碼 2?Hadoop?核心代碼 |
Hadoop安裝和部署 |
l?Hadoop?系統(tǒng)模塊組件概述 l?Hadoop?實驗集群的部署結(jié)構(gòu) l?Hadoop?安裝依賴關(guān)系 l?Hadoop?生產(chǎn)環(huán)境的部署結(jié)構(gòu) l?Hadoop?集群部署 l?Hadoop?高可用配置方法 l?Hadoop集群簡單測試方法 l?Hadoop?集群異常Debug?方法 |
2?Hadoop安裝部署實驗 2?Red?hat?Linux?基礎(chǔ)環(huán)境搭建 2?Hadoop?機(jī)群系統(tǒng)版本安裝和啟動配置 2?使用Hadoop?MapReduce?Streaming?快速測試系統(tǒng) 2?Hadoopcore-site,hdfs-site,mapred-site配置詳解 |
Hadoop和傳統(tǒng)數(shù)據(jù)庫技術(shù)優(yōu)劣勢對比 |
l?Hadoop/Hive對比Oracle在構(gòu)建數(shù)據(jù)倉庫上的優(yōu)劣勢 l?Hadoop如何和傳統(tǒng)IT系統(tǒng)配合完成原來不可能的任務(wù) |
2?Apache社區(qū)版本:Cloudera?版本、MapR版本、Intel版本、Oracle、Dell、HP版本 |
編寫MapReduce高級程序 |
l?使用Hadoop?MapReduce?Streaming編程 l?MapReduce?流程 l?剖析一個MapReduce程序 l?基本MapReduceAPI概念 l?驅(qū)動代碼Mapper、reducer l?Hadoop?流 l?API使用Eclipse進(jìn)行快速開發(fā) l?新MapReduce??API l?MapReduce的優(yōu)化 l?MapReduce的任務(wù)調(diào)度 l?MapReduce編程實戰(zhàn) l?如何利用其他Hadoop相關(guān)技術(shù),包括Apache?Hive,Apache?Pig,Sqoop和Oozie等 l?滿足解決實際數(shù)據(jù)分析問題的高級Hadoop?API |
2?Hadoop?Streaming和Java?MapReduce差異 2?MapReduce實現(xiàn)數(shù)據(jù)庫功能 2?利用Combiners來減少中間數(shù)據(jù) 2?編寫Partitioner來優(yōu)化負(fù)載平衡 2?直接訪問Hadoop的join操作 2?輔助排序在Reducer方的合并 2?定制Writables和WritableComparables 2?使用SequenceFiles和Avro文件保存二進(jìn)制數(shù)據(jù) 2?創(chuàng)建InputFormats?OutputFormats 2?Hadoop的二次排序 2?Hadoop的海量日志分析 2?在Map方的合并 |
精彩案例及故障解決方法解析 |
2?案例1:控制Map?&?reduce?個數(shù) n?現(xiàn)象:map個數(shù)取決于split個數(shù),如果源文件使用壓縮存儲,則不可分割,一個文件一個map。非壓縮文件使用默認(rèn)block.size進(jìn)行切分。對reduce因為是中間數(shù)據(jù),可以控制reduce數(shù)量。 2?案例2:壓縮中間數(shù)據(jù) n?現(xiàn)象:job中間臨時數(shù)據(jù)量極大、網(wǎng)絡(luò)IO吞吐量大。 2?案例3:編程細(xì)節(jié),內(nèi)存溢出 n?現(xiàn)象:編程過程中,經(jīng)常遇到list?、map、倒排表等大對象,如果作為局部變量,每次調(diào)用map或者reduce方法都初始化這些變量,很容易消耗掉JVM堆內(nèi)存,出現(xiàn)內(nèi)存溢出異常。 2?案例4:編程細(xì)節(jié),計數(shù)&日志打印 n?現(xiàn)象:System.?Out.?Println,??System.?Err.?Println等日志打印過多會嚴(yán)重影響job性能,counter計數(shù)也會存在同樣的問題,同時也會造成本地磁盤使用量的急劇增長。 2?案例5:作業(yè)調(diào)度 n?現(xiàn)象:集群上的job非常多時,會出現(xiàn)一些job一直等待,很長一段時間內(nèi)沒有開始運行。默認(rèn)的任務(wù)調(diào)度器FIFO并不能滿足實際工作應(yīng)用。 2?案例6:Combiner優(yōu)化 n?現(xiàn)象:map輸出數(shù)據(jù)量非常大,reduce??input??group遠(yuǎn)小于reduce??input??group時,存在大量的網(wǎng)絡(luò)IO,這些IO中的一部分?jǐn)?shù)據(jù)可以在本地做完合并,然后再進(jìn)行reduce操作。 |
|
使用Hive和Pig開發(fā)及技巧 |
l?Hive和Pig基礎(chǔ) l?Hive的作用和原理說明 l?Hadoop/Hive倉庫數(shù)據(jù)數(shù)據(jù)流 l?Hive部署和安裝 l?Hive??Cli的基本用法 l?HQL基本語法 l?使用Oozie的動機(jī) l?Oozie工作流定義格式 |
2?使用JDBC連接Hive進(jìn)行查詢和分析 2?使用正則表達(dá)式加載數(shù)據(jù) 2?HQL高級語法 2?編寫UDF函數(shù) 2?編寫UDAF自定義函數(shù) 2?使用Sqoop進(jìn)行數(shù)據(jù)分析 2?使用Oozie配置工作流 2?phpHiveAdmin安裝和使用 |
?