大數據開發者權威教程 NoSQL Hadoop 組件及大數據實施

Wrox國際IT認證項目組

  • 出版商: 人民郵電
  • 出版日期: 2018-12-01
  • 定價: $654
  • 售價: 8.5$556
  • 語言: 簡體中文
  • 頁數: 457
  • 裝訂: 平裝
  • ISBN: 7115493715
  • ISBN-13: 9787115493712
  • 相關分類: HadoopNoSQLSQL大數據 Big-data
  • 立即出貨 (庫存=1)

買這商品的人也買了...

商品描述

“大數據”近年來成為IT領域的熱點話題,人們每天都會通過因特網、移動設備等產生大量數據。如何管理大數據、掌握大數據的核心技術、理解大數據相關的生態系統等,是作為大數據開發者必須學習和熟練掌握的知識。本系列書以“大數據開發者”應掌握的技術為主線,共分兩捲,以7個模塊分別介紹如何管理大數據生態系統、如何存儲和處理數據、如何利用Hadoop工具、如何利用NoSQL與Hadoop協同工作,以及如何利用Hadoop商業發行版和管理工具。本系列書涵蓋了大數據開發工作的核心內容,全面且詳盡地涵蓋了大數據開發的各個領域。
本書為第2捲,共3個模塊,分別介紹Hadoop工具(如ZooKeeper、Sqoop、Flume、YARN和Storm等),利用NoSQL和Hadoop完成實時、安全和雲的相關工作,以及Hadoop商業發行版和管理工具(如Cloudera、Hortonworks、Greenplum Pivotal HD等),最後介紹幾個實用軟件的功能、指南和安裝步驟。
本書適用於想成為大數據開發人員以及所有對大數據開發感興趣的技術人員和決策者閱讀。

作者簡介

本書作者均為國際知名IT培訓機構的知名講師,他們通過對技術、IT市場需求以及當今就業培訓方面的全球行業標准進行了廣泛並嚴格的調研之後,集結成這套“大數據開發者權威教程”。作者們的目標是通過這套書為有志於在大數據開發領域取得事業成功的人技術人員和決策者提供bi備的技術和技能。

目錄大綱

模塊1額外的Hadoop工具:ZooKeeper、Sqoop、Flume、YARN和Storm 

第1講用ZooKeeper進行分佈式處理協調3 
1.1 ZooKeeper簡介4 
1.1.1 ZooKeeper的好處4 
1.1.2 ZooKeeper術語6 
1.1.3 ZooKeeper命令行界面(CLI) 7 
1.2安裝和運行ZooKeeper 9 
1.2.1支持的平台9 
1.2.2所需的軟件9 
1.2.3單服務器的安裝9 
1.3使用ZooKeeper 10 
1.4 ZooKeeper應用程序12 
1.4.1 FS爬取13 
1.4.2 Katta 14 
1.4.3 Yahoo!消息代理(YMB) 14 
1.5使用ZooKeeper構建應用程序15 
1.5.1 Exec.java 15 
1.5.2處理事件17 
1.5.3監控數據19 
1.5.4實現屏障和生產者-消費者隊列22 
練習30 
備忘單33 

第2講利用Sqoop有效地傳輸批量數據34 
2.1 Sqoop簡介35 
2.1.1 Sqoop中的工作流36
2.1.2 Sqoop的特性36 
2.2使用Sqoop 1 37 
2.3用Sqoop導入數據41 
2.3.1導入完整的表41 
2.3.2用HBase Sqoop導入帶有復合鍵的表42 
2.3.3指定目標目錄43 
2.3.4導入選擇的行43 
2.3.5密碼保護44 
2.3.6用不同的文件格式導入數據44 
2.3.7導入數據壓縮45 
2.4控制並行45 
2.5編碼NULL值47 
2.6將數據導入Hive表47 
2.7將數據導入HBase 47 
2.7.1使用自由形式查詢48 
2.7.2重命名Sqoop作業48 
2.8導出數據49 
2.8.1批量導出50 
2.8.2原子導出50 
2.9將數據導出至列的子集50 
2.10 Sqoop中的驅動程序和連接器51 
2.10.1驅動程序51 
2.10.2連接器52 
2.10.3連接到數據庫52 
2.11 Sqoop架構概覽54 
2.12 Sqoop 2 55 
2.12.1 Sqoop 2的優勢56 
2.12.2易於擴展56 
2.12.3安全57
練習58 
備忘單60 

第3講Flume 62 
3.1 Flume簡介63 
3.1.1 Flume架構64 
3.1.2流可靠性66 
3.2 Flume配置文件66 
3.2.1流定義67 
3.2.2配置單個組件67 
3.2.3在代理中添加多個流68 
3.2.4配置多代理流69 
3.2.5配置流扇出70 
3.3設置Flume 71 
3.3.1安裝Flume 71 
3.3.2配置Flume代理72 
3.3.3數據消費74 
3.4構建Flume 77 
3.4.1獲得源點77 
3.4.2編譯/測試Flume 77 
3.4.3開發自定義組件77 
練習90 
備忘單92 

第4講超越MapReduce—YARN 94 
4.1 YARN簡介95 
4.2為什麼用YARN 96 
4.2.1提高可擴展性96 
4.2.2效率97 
4.2.3集群共享97 
4.3 YARN生態系統98 
4.3.1 YARN架構99 
4.3.2資源100 
4.3.3資源管理器101
4.3.4 ApplicationMaster 103 
4.3.5 YARN的局限性106 
4.4 YARN API例子107 
4.4.1 YARN應用程序剖析107 
4.4.2客戶端108 
4.4.3把它們整合到一起115 
4.5 Mesos和YARN的比較116 
4.5. 1 Mesos簡介116 
4.5.2 Mesos和Hadoop 118 
練習120 
備忘單122 

第5講Storm on YARN 124 
5.1 Storm和Hadoop 125 
5.2 Storm簡介126 
5.2.1 Storm架構126 
5.2.2 Storm應用剖析129 
5.3 Storm API 132 
5.3.1 spout 132 
5.3.2 bolt 134 
5.4 Storm on YARN 134 
5.4.1 Storm on YARN架構135 
5.4.2 Storm on YARN的局限性136 
5.5安裝Storm on YARN 136 
5.5.1先決條件136 
5.5.2安裝步驟137 
5.5.3排錯138 
5.5.4管理YARN on Storm 138
5.6 Storm on YARN的例子139 
5.6.1傳感器數據spout 139 
5.6.2儀錶盤bolt 140 
5.6.3 HDFS日誌記錄器bolt 142 
5.6.4主程序144 
5.6.5運行示例146 
練習148 
備忘單151 

模塊2利用NoSQL和Hadoop:實時、安全和雲
第1講Hello NoSQL 155 
1.1看兩個簡單的例子156 
1.1.1持久化偏好數據的一個簡單集合——MongoDB 156 
1.1.2存儲汽車品牌和型號數據—— Apache Cassandra 162 
1.2利用語言綁定進行工作171 
1.2.1 MongoDB的驅動程序171 
1.2.2初識Thrift 174 
1.3存儲和訪問數據177 
1.4在MongoDB中存儲和訪問數據178 
1.5在HBase中存儲和訪問數據185 
1.6在Apache Cassandra中存儲和訪問數據189 
1.7 NoSQL數據存儲的語言綁定191 
1.7.1用Thrift進行診斷191 
1.7.2 Java的語言綁定191 
1.7.3 PHP的語言綁定194 
練習195 
備忘單198

第2講使用NoSQL 199 
2.1創建記錄200 
2.2訪問數據213 
2.2.1訪問來自MongoDB的文檔213 
2.2.2訪問來自HBase的數據214 
2.2.3查詢Redis 215 
2.3更新和刪除數據216 
2.4 MongoDB查詢語言的能力217 
2.4.1加載MovieLens數據219 
2.4.2獲取評級數據221 
2.4.3 MongoDB中的MapReduce 224 
2.5訪問來自HBase這樣的面向列的數據庫的數據228 
練習230 
備忘單234 

第3講Hadoop安全236 
3.1 Hadoop安全挑戰238 
3.2認證239 
3.2.1 Kerberos認證239 
3.2.2 Kerberos RPC 244 
3.2.3基於Web的控制台的Kerberos 245 
3.3委託安全憑證248 
3.4授權253 
3.4.1 HDFS文件權限253 
3.4.2服務級別授權257 
3.4.3作業授權260 
練習261 
備忘單263 

第4講在AWS上運行Hadoop應用程序265
4.1開始了解AWS 266 
4.2在AWS上運行Hadoop的選項267 
4.2.1使用EC2實例的自定義安裝267 
4.2.2彈性MapReduce 268 
4.3了解EMR-Hadoop的關係269 
4.3.1 EMR架構270 
4.3.2使用S3存儲271 
4.3.3最大化地利用EMR 272 
4.3.4使用CloudWatch和其他AWS組件274 
4.3.5訪問和使用EMR 274 
4.4使用AWS S3 280 
4.4.1了解桶的用法280 
4.4.2利用控制台的內容瀏覽282 
4.4.3編程訪問S3中的文件283 
4.4.4使用MapReduce上傳多個文件至S3 294 
4.5自動化EMR作業流的創建和作業執行296 
4.6組織協調EMR中作業的執行301 
4.6.1使用EMR集群上的Oozie 301 
4.6.2 AWS簡單工作流303 
4.6.3 AWS數據管道304 
練習306 
備忘單309 

第5講實時Hadoop 311 
5.1實時Hadoop應用312 
5.2使用HBase實現實時應用313 
5.2.1將HBase用作照片管理系統315
5.2.2將HBase用作Lucene的後端322 
5.3使用專門的實時Hadoop查詢系統342 
5.3.1 Apache Drill 344 
5.3.2 Impala 345 
5.3.3將實時查詢系統與MapReduce比較347 
5.4使用基於Hadoop的事件處理系統347 
5.4.1 HFlame 348 
5.4.2 Storm 350 
5.4.3將事件處理與MapReduce作比較352 
練習353 
備忘單356 

模塊3 Hadoop商業發行版和管理工具
第1講大數據簡介359 
1.1 Cloudera基礎360 
1.1 .1包含Apache Hadoop的Cloudera發行版360 
1.1.2 Cloudera管理器361 
1.1.3 Cloudera標準版362 
1.1.4 Cloudera企業版363 
1.2 Cloudera管理器簡介365 
1.3 Cloudera管理器的管理控制台367 
1.3.1啟動並登錄管理控制台370 
1.3.2主頁370 
1.4添加和管理服務371 
1.4.1添加新服務371 
1.4.2啟動服務372 
1.4.3停止服務372
1.4.4重啟服務373 
1.5使用Cloudera管理器的業務案例373 
1.6 Cloudera管理器的安裝要求374 
練習375 
備忘單377 

第2講Cloudera上的Hive和Cloudera管理379 
2.1 Apache Hive簡介380 
2.1.1 Hive特性380 
2.1.2 HiveQL 380 
2.2 Hive服務381 
2.2.1 Hive元數據服務器382 
2.2.2 Hive網關382 
2.2.3升級Cloudera管理器382 
2.3為Hive元存儲配置模式383 
2.3.1嵌入模式383 
2.3.2本地模式384 
2.3.3遠程模式385 
2.4配置Hive元存儲386 
2.4.1 Red Hat操作系統386 
2.4.2 SLES操作系統388 
2.4.3 Debian/Ubuntu操作系統388 
2.5為Hive設置Cloudera Manager 4.5 389 
2.6 Hive複製391 
練習394 
備忘單396 

第3講Hortonworks和Greenplum Pivotal HD 397 
3.1 Hortonworks數據平台398
3.1.1核心服務400 
3.1.2數據服務400 
3.1.3操作服務401 
3.2系統需求和環境402 
3.2.1系統需求402 
3.2.2構建一個受支持的環境404 
3.3安裝HDP 405 
3.4使用Talend Open Studio 409 
3.4.1安裝Talend Open Studio 410 
3.4.2將數據導入Talend Open Studio 411 
3.4.3執行數據分析413 
3.5 Greenplum Pivotal HD 417 
練習420 
備忘單422 

第4講IBM InfoSphere BigInsights和MapR 424 
4.1 InfoSphere BigInsights簡介425 
4.1.1 Apache Hadoop發行版的InfoSphere BigInsights組件426 
4.1.2額外的Hadoop技術427 
4.1.3文本分析428 
4.1.4 IBM Big SQL服務器428 
4.1.5 InfoSphere BigInsights控制台428 
4.1.6 InfoSphere BigInsights的Eclipse工具429 
4.2安裝準備430 
4.2.1复核系統需求431
4.2.2選擇一個用戶431 
4.2.3配置瀏覽器432 
4.2.4下載InfoSphere BigInsights 437 
4.2.5完成常見先決條件的任務437 
4.3安裝InfoSphere BigInsights 440 
4.4 MapR簡介442 
練習445 
備忘單447 

第5講應聘準備449 
5.1大數據開發者需要的關鍵技術工具和框架451 
5.2大數據開發者的工作角色和職責452 
5.3大數據開發者職業機會領域453