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