|
-- 會員 / 註冊 --
|
|
|
|
企業級大數據平臺構建:架構與實現 ( 簡體 字) |
作者:朱凱 | 類別:1. -> 程式設計 -> 大數據 |
譯者: |
出版社:機械工業出版社 | 3dWoo書號: 48870 詢問書籍請說出此書號!【有庫存】 NT售價: 345 元 |
出版日:4/1/2018 |
頁數:250 |
光碟數:0 |
|
站長推薦: |
印刷:黑白印刷 | 語系: ( 簡體 版 ) |
|
加入購物車 │加到我的最愛 (請先登入會員) |
ISBN:9787111595953 |
作者序 | 譯者序 | 前言 | 內容簡介 | 目錄 | 序 |
(簡體書上所述之下載連結耗時費功, 恕不適用在台灣, 若讀者需要請自行嘗試, 恕不保證) |
作者序: |
譯者序: |
前言:為什么要寫這本書
近年來,大數據這個概念越來越火爆,特別是在國家層面,大數據被提升到了國家戰略的高度。在這樣的背景下,很多傳統企業開始涉足大數據領域并研發自己的大數據技術平臺。在這股技術升級與轉型的浪潮中,傳統領域的程序員紛紛轉型投向大數據的懷抱。目前大數據技術開源領域以Hadoop生態構建的技術體系為主。現在市面上有很多與Hadoop體系相關的技術書籍,Hadoop、Spark這類火爆的技術已經有大量優秀的專業書籍進行講解。但我發現這類書籍多是以縱向的視角去講解某一類具體的技術,而大數據領域涉及的知識繁多,在構建大數據平臺的過程中我們不僅需要精通單個技術組件的知識,還需要擁有橫向整合拉通Hadoop體系技術棧的能力。而這類橫向拉通Hadoop體系技術棧的書籍并不多見。所以我將自己在構建大數據平臺上的一些經驗和實踐進行了整理,分享給各位讀者。希望本書能夠為各位讀者構建大數據平臺或解決方案提供一定的幫助。
讀者對象
想了解大數據技術,想進入大數據領域的工程師:作為一個想進入大數據領域的“新人”,你可以通過本書從宏觀的視角迅速對大數據的基礎設施和技術棧有一個全面的認識和了解。本書可以作為你的入門指南和技術棧索引目錄。
大數據領域的中高級工程師:作為一個大數據領域的中高級工程師,對Hadoop生態體系的技術應該早已運用自如。通過本書的學習,相信你對大數據領域多種技術棧的整合會有一個更深刻的認識。同時本書中的一些平臺級方案也會幫助你提升在平臺架構方面的造詣。
平臺架構師:作為一個平臺架構師,本書中的一些解決方案和設計思路可以作為你進行系統架構的參考資料。
本書主要內容
本書從企業的實際需求出發,完整地介紹了構建一個真實可用、安全可靠的企業級大數據平臺所需要運用的知識體系,并詳細地描述了構建企業級大數據平臺的設計方案和實施步驟。
本書邏輯上可分為3大部分,共8章,每個章節循序漸進:
第一部分(第1、2章)描述了企業級大數據平臺的需求和能力。
第二部分(第3∼5章)著重講述了如何去搭建并配置一個大數據平臺,以及如何構建非常重要的平臺安全方案。
第三部分(第6∼8章)以實戰的形式講解如何以Java編碼的方式實現平臺的基礎管理功能,以提升其易用性與可用性。
具體各章內容如下:
第1章 闡述企業級大數據平臺的重要性,并解釋了為什么需要構建一個統一的企業級大數據平臺。接著介紹作為一個企業級大數據平臺應當具備的能力,并解釋其原因。
第2章 介紹通過Hadoop生態體系去構建一個企業級大數據平臺可以使用的技術棧,如HDFS、HBase、Spark等,并一一介紹了它們的核心概念。
第3章 介紹集群管理工具Ambari,并站在集群服務器的角度分類解釋如何去設計一個Hadoop集群,詳細描述了如何使用Ambari來安裝、管理和監控一個Hadoop集群。
第4章 介紹企業級大數據平臺中非常重要的安全部分。首先闡述了企業級大數據平臺面臨的一些安全隱患,接著展示了一套初級解決方案并介紹了如何使用Knox和Ranger解決訪問控制和數據授權與管理的問題。
第5章 著重介紹Hadoop服務的安全方案,并說明如何通過Kerberos協議等一系列措施來保障Hadoop集群的安全。
第6章 闡述大數據平臺在易用性上的一些遺留問題,接著介紹如何通過CAS實現平臺的單點登錄功能,最后描述如何使用Java程序實現統一的用戶管理服務。
第7章 簡單闡述服務化的重要性以及如何將大數據平臺管理端的功能封裝成RESTful服務。首先介紹了如何使用Spring-Boot快速搭建一套RESTful服務的程序框架,接著詳細描述如何實現Kerberos用戶查詢、Hive數據倉庫查詢和元數據查詢等一系列RESTful服務。
第8章 介紹如何使用Java程序實現Spark的任務提交與任務調度功能。首先著重介紹使用Java程序實現Spark任務提交到YARN的三種方式,接著描述如何通過Quartz實現任務調度功能。
如何閱讀本書
本書內容會涉及大數據領域相關的技術知識,所以假定讀者已具有一定的編程經驗,了解分布式、多線程、集群等概念。本書部分內容涉及集群服務的實戰安裝示例,所以需要準備至少兩臺用于搭建測試環境的Linux服務器或虛擬機。 致謝
感謝我的家人,如果沒有你們的悉心照顧和鼓勵,我不可能完成本書。
感謝我的公司遠光軟件,為我提供了學習和成長的環境,本書中的很多知識都來自工作中的實踐。
感謝我的摯友李根,為本書提出了許多寶貴的建議。
感謝我的同事兼伙伴們——解來甲、張琛、楊柯、潘登、胡藝、李國威、陳世賓、陳澤華,以及名單之外的更多朋友,感謝你們在工作中的照顧和支持,十分榮幸能夠與你們在這個富有激情和活力的團隊共事。
感謝機械工業出版社華章公司的編輯楊福川老師、孫海亮老師,在這一年多的時間中始終支持我的寫作,你們的鼓勵和幫助引導我順利地完成全部書稿。
朱 凱 |
內容簡介:這是一部教你如何從0到1架構與實現一個企業級大數據平臺的著作,是作者在大數據和系統架構領域工作超過20000小時的經驗總結。
作者從橫向視角出發,手把手教你如何拉通Hadoop體系技術棧,以此搭建一個真實可用、安全可靠的大數據平臺。通過閱讀本書,大家一定能找到靈感和思路來應對實際工作中面對的問題。
本書在邏輯上分為三大部分:
背景篇(第1~2章):簡單闡述了企業級大數據平臺的重要性,并指出了作為一個企業級大數據平臺應當具備的能力。接著拋磚引玉介紹了通過Hadoop生態體系去構建一個企業級大數據平臺可以使用的技術棧的核心概念,如HDFS、HBase、Spark等。
方法篇(第3~6章):詳細講解了集群服務、安全網關、服務授權、Kerberos認證、單點登錄和集群用戶整合等各個方面的背景知識與配置整合步驟。
擴展篇(第7~8章):介紹了如何用編寫Restful服務的形式進一步擴展平臺功能的一些思路,以便提高平臺的易用性和可用性。 |
目錄:推薦序 思者常新,厚積薄發 前 言 第1章 淺談企業級大數據平臺的重要性 1 1.1 缺乏統一大數據平臺的問題 2 1.1.1 資源浪費 2 1.1.2 數據孤島 2 1.1.3 服務孤島 3 1.1.4 安全存疑 3 1.1.5 缺乏可維護性和可擴展性 3 1.1.6 缺乏可復制性 4 1.2 構建統一大數據平臺的優勢 4 1.3 企業級大數據平臺需要具備的基本能力 6 1.3.1 集群管理與監控 7 1.3.2 數據接入 7 1.3.3 數據存儲與查詢 7 1.3.4 數據計算 8 1.3.5 平臺安全與管理 10 1.4 平臺輔助工具 12 1.5 本章小結 13 第2章 企業級大數據平臺技術棧介紹 15 2.1 HDFS 16 2.1.1 概述 16 2.1.2 RAID技術 17 2.1.3 核心設計目標 18 2.1.4 命名空間 19 2.1.5 數據模型 20 2.1.6 Namenode和Datanode 20 2.1.7 使用場景 21 2.2 Zookeeper 22 2.2.1 概述 22 2.2.2 核心特性 23 2.2.3 命名空間 24 2.2.4 數據模型 24 2.2.5 節點狀態監聽 25 2.2.6 原子消息廣播協議 25 2.2.7 使用場景 32 2.3 HBase 33 2.3.1 概述 33 2.3.2 數據模型 34 2.3.3 Regions 34 2.3.4 HBase Master 35 2.3.5 Region Server 36 2.3.6 MemStore與HFile 37 2.3.7 使用場景 37 2.4 YARN 38 2.4.1 概述 38 2.4.2 資源模型和Container 40 2.4.3 ResourceManager 40 2.4.4 ApplicationMaster 40 2.4.5 NodeManager 41 2.4.6 單一集群架構 41 2.4.7 工作流程 41 2.4.8 使用場景 43 2.5 Spark 43 2.5.1 概述 43 2.5.2 數據模型 45 2.5.3 編程模型和作業調度 45 2.5.4 依賴 46 2.5.5 容錯 47 2.5.6 集群模式 47 2.5.7 使用場景 48 2.6 本章小結 49 第3章 使用Ambari安裝Hadoop集群 50 3.1 概述 50 3.2 集群設計 52 3.2.1 主控節點 52 3.2.2 存儲與計算節點 53 3.2.3 安全認證與管理節點 54 3.2.4 協同管理與其他節點 54 3.3 Ambari的安裝、配置與啟動 55 3.3.1 安裝前的準備 55 3.3.2 安裝Ambari-Server 62 3.3.3 Ambari-Server目錄結構 64 3.3.4 配置Ambari-Server 65 3.3.5 啟動Ambari-Server 66 3.4 新建集群 67 3.4.1 設置集群名稱并配置HDP安裝包 67 3.4.2 配置集群 69 3.5 Ambari控制臺功能簡介 77 3.5.1 集群服務管理 78 3.5.2 集群服務配置 80 3.5.3 輔助工具 82 3.6 本章小結 86 第4章 構建企業級平臺安全方案 87 4.1 淺談企業級大數據平臺面臨的安全隱患 88 4.1.1 缺乏統一的訪問控制機制 88 4.1.2 缺乏統一的資源授權策略 88 4.1.3 缺乏Hadoop服務安全保障 89 4.2 初級安全方案 89 4.2.1 訪問控制 89 4.2.2 數據授權與管理 97 4.3 本章小結 110 第5章 Hadoop服務安全方案 111 5.1 Kerberos協議簡介 111 5.2 使用FreeIPA安裝Kerberos和LDAP 113 5.2.1 安裝FreeIPA 115 5.2.2 IPA-Server管理控制臺功能介紹 119 5.2.3 IPA CLI功能介紹 122 5.3 開啟Ambari的Kerberos安全選項 127 5.3.1 集成前的準備 127 5.3.2 集成IPA 129 5.3.3 測試Kerberos認證 133 5.4 本章小結 136 第6章 單點登錄與用戶管理 137 6.1 集成單點登錄 139 6.1.1 CAS簡介 140 6.1.2 安裝CAS-Server 141 6.1.3 集成Knox網關與CAS- Server 148 6.1.4 集成Ranger與CAS-Server 151 6.1.5 集成Ambari與CAS-Server 152 6.2 實現統一的用戶管理系統 155 6.3 使用Java程序調用腳本 161 6.4 創建Ranger擴展用戶 166 6.5 本章小結 169 第7章 搭建平臺管理端RESTful服務 170 7.1 搭建RESTful服務框架 170 7.2 用戶查詢 174 7.2.1 引入LDAP模塊 174 7.2.2 配置LDAP 174 7.2.3 實現持久層 177 7.2.4 實現服務層 181 7.2.5 實現RESTful服務 181 7.2.6 整合用戶管理 183 7.3 RESTful服務安全認證 184 7.3.1 用戶登錄服務 185 7.3.2 使用JWT認證 185 7.3.3 創建用戶登錄RESTful服務 188 7.3.4 認證過濾器 194 7.3.5 測試服務安全認證 198 7.4 數據倉庫數據查詢 200 7.4.1 創建JDBC連接 200 7.4.2 Kerberos登錄 202 7.4.3 使用JDBC協議查詢 202 7.4.4 實現服務層與RESTful服務 206 7.4.5 測試查詢 207 7.5 數據倉庫元數據查詢 208 7.5.1 使用query服務查詢數倉元數據 208 7.5.2 引入JdbcTemplate模塊 209 7.5.3 增加Hive元數據庫配置 210 7.5.4 實現元數據持久層 211 7.5.5 實現元數據服務層與RESTful服務 216 7.5.6 測試元數據查詢 218 7.6 本章小結 219 第8章 Spark任務與調度服務 220 8.1 提交Spark任務的3種方式 220 8.1.1 使用Spark-Submit腳本提交 220 8.1.2 使用Spark Client提交 226 8.1.3 使用YARN RESTful API提交 229 8.2 查詢Spark日志 234 8.3 任務調度 236 8.3.1 引入Quartz模塊 237 8.3.2 增加Quartz配置 237 8.3.3 編寫調度任務 240 8.3.4 改進空間 241 8.4 本章小結 241 附錄A Hadoop簡史 242 附錄B Hadoop生態其他常用組件一覽 245 附錄C 常用組件配置說明 248 |
序: |
|