內容簡介
本書采用“理論+實戰”的形式編寫,全麵介紹瞭Hadoop大數據挖掘的相關知識。本書共分為13章,涵蓋的主要內容有:集群及開發環境搭建;快速構建一個Hadoop項目並綫上運行;Hadoop套件實戰;Hive編程——使用SQL提交MapReduce任務到Hadoop集群;遊戲玩傢的用戶行為分析——特徵提取;Hadoop平颱管理與維護;Hadoop異常處理解決方案;初識Hadoop核心源碼;Hadoop通信機製和內部協議;Hadoop分布式文件係統剖析;ELK實戰案例——遊戲應用實時日誌分析平颱;Kafka實戰案例——實時處理遊戲用戶數據;Hadoop拓展——Kafka剖析。本書不但適閤剛入門的初學者係統學習Hadoop的各種基礎語法和開發技巧,而且也適閤有多年開發經驗的開發者進階提高。另外,本書也適閤社會培訓機構和相關院校作為教材或者教學參考書。
目錄
目錄
前言
第1章 集群及開發環境搭建1
1.1 環境準備1
1.1.1 基礎軟件下載1
1.1.2 準備Linux操作係統2
1.2 安裝Hadoop4
1.2.1 基礎環境配置4
1.2.2 Zookeeper部署7
1.2.3 Hadoop部署9
1.2.4 效果驗證21
1.2.5 集群架構詳解24
1.3 Hadoop版Hello World25
1.3.1 Hadoop Shell介紹25
1.3.2 WordCount初體驗27
1.4 開發環境28
1.4.1 搭建本地開發環境28
1.4.2 運行及調試預覽31
1.5 小結34
第2章 實戰:快速構建一個Hadoop項目並綫上運行35
2.1 構建一個簡單的項目工程35
2.1.1 構建Java Project結構工程35
2.1.2 構建Maven結構工程36
2.2 操作分布式文件係統(HDFS)39
2.2.1 基本的應用接口操作39
2.2.2 在高可用平颱上的使用方法42
2.3 利用IDE提交MapReduce作業43
2.3.1 在單點上的操作43
2.3.2 在高可用平颱上的操作46
2.4 編譯應用程序並打包51
2.4.1 編譯Java Project工程並打包51
2.4.2 編譯Maven工程並打包55
2.5 部署與調度58
2.5.1 部署應用58
2.5.2 調度任務59
2.6 小結60
第3章 Hadoop套件實戰61
3.1 Sqoop——數據傳輸工具61
3.1.1 背景概述61
3.1.2 安裝及基本使用62
3.1.3 實戰:在關係型數據庫與分布式文件係統之間傳輸數據64
3.2 Flume——日誌收集工具66
3.2.1 背景概述67
3.2.2 安裝與基本使用67
3.2.3 實戰:收集係統日誌並上傳到分布式文件係統(HDFS)上72
3.3 HBase——分布式數據庫74
3.3.1 背景概述74
3.3.2 存儲架構介紹75
3.3.3 安裝與基本使用75
3.3.4 實戰:對HBase業務錶進行增、刪、改、查操作79
3.4 Zeppelin——數據集分析工具85
3.4.1 背景概述85
3.4.2 安裝與基本使用85
3.4.3 實戰:使用解釋器操作不同的數據處理引擎88
3.5 Drill——低延時SQL查詢引擎92
3.5.1 背景概述93
3.5.2 安裝與基本使用93
3.5.3 實戰:對分布式文件係統(HDFS)使用SQL進行查詢95
3.5.4 實戰:使用SQL查詢HBase數據庫99
3.5.5 實戰:對數據倉庫(Hive)使用類實時統計、查詢操作101
3.6 Spark——實時流數據計算104
3.6.1 背景概述104
3.6.2 安裝部署及使用105
3.6.3 實戰:對接Kafka消息數據,消費、計算及落地108
3.7 小結114
第4章 Hive編程——使用SQL提交MapReduce任務到Hadoop集群115
4.1 環境準備與Hive初識115
4.1.1 背景介紹115
4.1.2 基礎環境準備116
4.1.3 Hive結構初識116
4.1.4 Hive與關係型數據庫(RDBMS)118
4.2 安裝與配置Hive118
4.2.1 Hive集群基礎架構119
4.2.2 利用HAProxy實現Hive Server負載均衡120
4.2.3 安裝分布式Hive集群123
4.3 可編程方式126
4.3.1 數據類型126
4.3.2 存儲格式128
4.3.3 基礎命令129
4.3.4 Java編程語言操作數據倉庫(Hive)131
4.3.5 實踐Hive Streaming134
4.4 運維和監控138
4.4.1 基礎命令138
4.4.2 監控工具Hive Cube140
4.5 小結143
第5章 遊戲玩傢的用戶行為分析——特徵提取144
5.1 項目應用概述144
5.1.1 場景介紹144
5.1.2 平颱架構與數據采集145
5.1.3 準備係統環境和軟件147
5.2 分析與設計148
5.2.1 整體分析148
5.2.2 指標與數據源分析149
5.2.3 整體設計151
5.3 技術選型153
5.3.1 套件選取簡述154
5.3.2 套件使用簡述154
5.4 編碼實踐157
5.4.1 實現代碼157
5.4.2 統計結果處理163
5.4.3 應用調度169
5.5 小結174
第6章 Hadoop平颱管理與維護175
6.1 Hadoop分布式文件係統(HDFS)175
6.1.1 HDFS特性175
6.1.2 基礎命令詳解176
6.1.3 解讀NameNode Standby179
6.2 Hadoop平颱監控182
6.2.1 Hadoop日誌183
6.2.2 常用分布式監控工具187
6.3 平颱維護196
6.3.1 安全模式196
6.3.2 節點管理198
6.3.3 HDFS快照200
6.4 小結203
第7章 Hadoop異常處理解決方案204
7.1 定位異常204
7.1.1 跟蹤日誌204
7.1.2 分析異常信息208
7.1.3 閱讀開發業務代碼209
7.2 解決問題的方式210
7.2.1 搜索關鍵字211
7.2.2 查看Hadoop JIRA212
7.2.3 閱讀相關源碼213
7.3 實戰案例分析216
7.3.1 案例分析1:啓動HBase失敗216
7.3.2 案例分析2:HBase錶查詢失敗219
7.3.3 案例分析3:Spark的臨時數據不自動清理222
7.4 小結223
第8章 初識Hadoop核心源碼224
8.1 基礎準備與源碼編譯224
8.1.1 準備環境224
8.1.2 加載源碼228
8.1.3 編譯源碼230
8.2 初識Hadoop 2233
8.2.1 Hadoop的起源233
8.2.2 Hadoop 2源碼結構圖234
8.2.3 Hadoop模塊包235
8.3 MapReduce框架剖析236
8.3.1 第一代MapReduce框架236
8.3.2 第二代MapReduce框架238
8.3.3 兩代MapReduce框架的區彆239
8.3.4 第二代MapReduce框架的重構思路240
8.4 序列化241
8.4.1 序列化的由來242
8.4.2 Hadoop序列化243
8.4.3 Writable實現類245
8.5 小結247
第9章 Hadoop通信機製和內部協議248
9.1 Hadoop RPC概述248
9.1.1 通信模型248
9.1.2 Hadoop RPC特點250
9.2 Hadoop R
前言/序言
前言 大數據時代,數據的存儲與挖掘至關重要。企業在追求高可靠性、高擴展性及高容錯性的大數據處理平颱的同時還希望能夠降低成本,而Hadoop為實現這些需求提供瞭解決方案。
Hadoop在分布式計算與存儲上具有先天優勢。它作為Apache軟件基金會的頂級開源項目,其版本迭代持續至今,而且已經擁有一個非常活躍的社區和全球眾多開發者,並且成為瞭當前非常流行的大數據處理平颱。很多公司,特彆是互聯網公司,都紛紛開始使用或者已經使用Hadoop來做海量數據存儲與數據挖掘。
Hadoop簡單易學,其學習麯綫平緩且學習周期短。它的操作命令和Linux命令非常相似。一個熟悉Linux的開發者隻需要短短的一周時間,就可以學會Hadoop開發,完成一個高可用集群的部署和高可用應用程序的編寫。
麵對Hadoop的普及和學習熱潮,筆者願意分享自己多年的開發經驗,帶領讀者比較輕鬆地掌握Hadoop數據挖掘的相關知識。這便是筆者編寫本書的原因。本書使用通俗易懂的語言進行講解,從基礎部署到集群的管理,再到底層設計等內容均有涉及。通過閱讀本書,讀者可以較為輕鬆地掌握Hadoop大數據挖掘與分析的相關技術。
本書特色 1.提供專業的配套教學視頻,高效、直觀 筆者曾接受過極客學院的專業視頻製作指導,並在極客學院錄製過多期Hadoop和Kafka實戰教學視頻課程,得到瞭眾多學習者的青睞及好評。為瞭便於讀者更加高效、直觀地學習本書內容,筆者特意為本書實戰部分的內容錄製瞭配套教學視頻,讀者可以在教學視頻的輔助下學習,從而更加輕鬆地掌握Hadoop。
2.分享大量來自一綫的開發經驗,貼近實際開發 本書給齣的代碼講解和實例大多數來自於筆者多年的教學積纍和技術分享,幾乎都是得到瞭學習者一緻好評的乾貨。另外,筆者還是一名開源愛好者,編寫瞭業內著名的Kafka Eagle監控係統。本書第13章介紹瞭該係統的使用,以幫助讀者掌握如何監控大數據集群的相關知識。
3.分享多個來自一綫的實例,有很強的實用性 本書精心挑選瞭多個實用性很強的例子,如Hadoop套件實戰、Hive編程、Hadoop平颱管理與維護、ELK實戰和Kafka實戰等。讀者不但可以從這些例子中學習和理解Hadoop及其套件的相關知識點,而且還可以將這些例子應用於實際開發中。
4.講解通俗易懂,力爭觸類旁通,舉一反三 本書用通俗易懂的語言講解,避免“雲山霧罩”,讓讀者不知所雲。書中在講解一些常用知識點時將Hadoop命令與Linux命令進行瞭對比,便於熟悉Linux命令的讀者能夠迅速掌握Hadoop的操作命令。
本書內容 第1章 集群及開發環境搭建 本章介紹的主要內容包括:環境準備;安裝Hadoop;演示Hadoop版Hello World示例程序,以及搭建Hadoop開發環境。
第2章 實戰:快速構建一個Hadoop項目並綫上運行 本章首先介紹瞭快速構建項目工程的方法,如Maven和Java Project;然後介紹瞭分布式文件係統的操作命令,以及利用IDE提交MapReduce作業的相關知識;最後介紹瞭編譯應用程序並打包,以及部署與調度等內容。
第3章 Hadoop套件實戰 本章介紹瞭Hadoop生態圈中常見的大數據套件的背景知識和使用方法,涵蓋Sqoop、Flume、HBase、Zeppelin、Drill及Spark等套件。
第4章 Hive編程——使用SQL提交MapReduce任務到Hadoop集群 本章主要介紹瞭Hive數據倉庫的相關內容:Hive底層設計組成;安裝和配置Hive;基於Hive應用接口進行編程;開源監控工具Hive Cube。
第5章 遊戲玩傢的用戶行為分析——特徵提取 本章首先對Hadoop的基礎知識進行瞭梳理;然後介紹瞭項目的背景和平颱架構;接著對項目進行瞭整體分析與指標設計,並進行瞭技術選型;最後對分析的指標進行瞭編碼實踐。
第6章 Hadoop平颱管理與維護 本章介紹瞭Hadoop平颱管理與維護的重要方法。本章首先介紹瞭Hadoop分布式文件係統的特性,然後介紹瞭HDFS的基礎命令,並對NameNode進行瞭解讀。另外,本章對Hadoop平颱維護時的常規操作,如節點管理、HDFS快照和安全模式等內容也進行瞭講解。
第7章 Hadoop異常處理解決方案 本章介紹瞭Hadoop異常處理解決方案的幾個知識點。主要內容包括:跟蹤日誌;分析異常信息;利用搜索引擎檢索關鍵字;查看Hadoop JIRA;閱讀Hadoop源代碼。
本章最後以實戰案例的形式分析瞭幾種異常情況:啓動HBase集群失敗;HBase錶查詢失敗;Spark的臨時數據不自動清理等。
第8章 初識Hadoop核心源碼 本章首先介紹瞭Hadoop源碼基礎環境準備及源代碼編譯;接著介紹瞭Hadoop的起源和兩代MapReduce框架間的差異;最後介紹瞭Hadoop的序列化機製。
第9章 Hadoop通信機製和內部協議 本章首先介紹瞭Hadoop通信模型和Hadoop RPC的特點;然後通過編碼實踐介紹瞭Hadoop RPC的使用,同時還介紹瞭與之類似的開源RPC框架;最後介紹瞭MapReduce的通信協議和RPC協議的實現過程。
第10章 Hadoop分布式文件係統剖析 本章主要介紹瞭Hadoop分布式文件係統的設計特點、命令空間和節點、數據備份策略
Hadoop大數據挖掘從入門到進階實戰(視頻教學版) 下載 mobi epub pdf txt 電子書 格式