Hadoop徹底入門

翔泳社(出版社) , 濱野賢一朗(監修) , 太田一樹(著) , 下垣徹(著) , 山下真一(著) , 猿田浩輔(著) , 藤井達朗(著)

商品番号
122330
販売状態
販売終了
納品形態
宅配便にてお届け
発売日
2011年01月27日
ISBN
9784798122335
判型
B5変
ページ数
448
キーワード
プログラミング  分散コンピューティング  オープンソース  徹底入門  Hadoop  ハドゥープ  人気シリーズ

販売価格:¥4,104(税込)

送料無料

本体価格の10%をポイント還元(会員限定)

現在、本商品は販売しておりません。
ほしい物リストに追加

Googleの技術から生まれたオープンソースフレームワーク

本書はオープンソースの分散処理実行基盤「Hadoop(ハドゥープ)」の解説書です。Hadoopは、Googleなどの巨大サイトで稼動するシステムを再現したオープンソースソフトで、複数のコンピュータを連携させて実行できます。今まで処理することができなかったバイト~ペタバイト級の巨大ファイルも扱えるようになり、商用規模のアクセスログ解析、Web検索の索引作成、POSデータの傾向解析などでの応用が期待されています。また、接続するコンピュータ(ノード)の追加による処理能力の増強や、一部のノードが停止しても縮退運転ができるという特徴を持っています。

本書ではHadoopの導入からシステム構築、JavaによるHadoopアプリケーションの作り方、ノード追加時の省力化、各種の周辺ソフトウェアの連携になどについて詳しく解説します。Hadoopを理解したい初級者の方から、業務への適用を検討している方にも役立てていただけます。


この本で学べること
・- ノード追加による処理能力向上
・- 縮退運用可能アーキテクチャ
・- 巨大アクセスログの解析
・- Web検索のインデックス作成
・- POSデータ分析など、テラ~ベタバイト級の高速バッチ処理を実現ほか

Hadoopと周辺プロダクトを充実解説
・- 分散ファイルシステム:HDFS
・- Javaフレームワーク:MapReduce
・- システム可視化ツール:Ganglia
・- Key-Value型データベース:HBase
・- SQL的処理I/F:Hive

はじめに

1 Hadoop ってなんだろう?

  1.1 Hadoop とは
  1.2 Hadoop の概要
     1.2.1 Hadoopって何?
     1.2.2 用途
     1.2.3 Hadoopの誕生
     1.2.4 大規模なデータ処理における課題と対応
  1.3 Hadoop の適用領域
     1.3.1 万能型のプロダクトではない
     1.3.2 DBMS とHadoopの比較
     1.3.3 RDBMS とHadoopの連携
  1.4 Hadoop の構成と処理概要
     1.4.1 ApacheのHadoopプロジェクト
     1.4.2 サーバー構成
     1.4.3 HDFS:Hadoop分散ファイルシステム
     1.4.4 Hadoop MapReduceフレームワーク
  1.5 Hadoop の適用事例
     1.5.1 Hadoopで変わるシチュエーション
     1.5.2 Hadoopアプリケーションの利用事例

2 Hadoop の導入

  2.1 Hadoop インストールの準備
     2.1.1 Hadoopの動作モード
     2.1.2 利用するHadoopのパッケージ
     2.1.3 インストール前に用意するもの
  2.2 コミュニティ版Hadoop のインストール
     2.2.1 パッケージの入手
     2.2.2 インストール手順
  2.3 コミュニティ版Hadoop の起動と停止
  2.4 MapReduce 実行による動作確認
     2.4.1 サンプルMapReduceアプリケーション
     2.4.2 ローカルモードでの実行
     2.4.3 擬似分散/完全分散モードでの実行
  2.5 Cloudera’s Distribution for Hadoop(CDH)の導入
     2.5.1 Cloudera 社とCDH
     2.5.2 CDH を利用したrpmのインストール
     2.5.3 インストール先の確認
     2.5.4 完全分散モードでのインストール

3 Hadoop 分散ファイルシステムHDFS

  3.1 Hadoop におけるファイルシステム
  3.2 HDFS の仕組み
     3.2.1 HDFS のアーキテクチャ
     3.2.2 HDFS の利点
     3.2.3 ブロックとメタデータ
  3.3 HDFS のオペレーションョン
     3.3.1 ディレクトリ構成と設定ファイル
     3.3.2 ファイル/ディレクトリのパーミッション
     3.3.3 起動と停止
  3.4 ファイル操作
     3.4.1 hdfs コマンド
     3.4.2 dfs サブコマンド
  3.5 ログ管理
     3.5.1 ログの種類
     3.5.2 ログレベルの動的な変更
     3.5.3 状態確認とメンテナンス
  3.6 WebUI による管理
  3.7 ラックアウェアネスの設定方法
     3.7.1 クラスタ構成の認識
     3.7.2 スクリプトを記述する

4 Hadoop MapReduce フレームワーク

  4.1 MapReduce フレームワークの基礎知識
     4.1.1 Map 処理とReduce 処理
     4.1.2 ごく単純なMapreduce
     4.1.3 分散して処理する場合
  4.2 MapReduce フレームワークの構成
     4.2.1 MapReduceとHDFS
     4.2.2 MapReduceの特徴
  4.3 JobTracker の役割
     4.3.1 機能
     4.3.2 3 つの動作モード
     4.3.3 TaskTracker への処理割り当て
     4.3.4 MapReduceジョブ設定の確認
  4.4 TaskTracker の役割
     4.4.1 機能
  4.5 MapReduce フレームワークの連携動作/監視
     4.5.1 JobClient の役割
     4.5.2 死活監視とハートビート通信
     4.5.3 ジョブの優先度設定とスケジューラ
  4.6 MapReduce フレームワークのオペレーション
     4.6.1 分散環境での起動
     4.6.2 最低限必要な設定
     4.6.3 設定ファイルと起動スクリプト
     4.6.4 JobTracker の設定
     4.6.5 ジョブとタスク
     4.6.6 TaskTracker の脱退判断
     4.6.7 TaskTracker の設定
     4.6.8 MapReduceフレームワークの起動と停止
  4.7 コマンドラインベースのMapReduce 管理
     4.7.1 MapReduceジョブの管理
     4.7.2 MapReduce管理者用コマンド
     4.7.3 TaskTracker の追加
  4.8 WebUI による管理
     4.8.1 MapReduceジョブ可視化

5 MapReduce プログラミング入門

  5.1 MapReduce フレームワーク
  5.2 Java によるMapReduce プログラムの作成方法
     5.2.1 MapReduceプログラムで記述する内容
     5.2.2 MapReduceプログラムの入力と出力
     5.2.3 WordCount アプリケーションの作成
  5.3 ワードカウントサンプルアプリケーション
     5.3.1 プログラムの作成/コンパイル/実行
     5.3.2 WordCount.java 解説
  5.4 MapReduce プログラム実行全体の流れ
     5.4.1 InputSplits:入力データの分割単位
     5.4.2 InputFormat:入力データの分割
     5.4.3 Mapper:map 関数の実行
     5.4.4 Partitioner:中間データの行き先を決定
     5.4.5 Reducer:reduce関数の実行
     5.4.6 OuputFormat
  5.5 Hadoop I/O API
     5.5.1 シリアライズAPI(Writable)
     5.5.2 ファイル構造API(SequenceFile)
  5.6 Hadoop MapReduce フレームワークAPI
     5.6.1 設定API(Configuration)
     5.6.2 Mapper/Reducer
     5.6.3 入力フォーマット(InputFormat)
     5.6.4 出力フォーマット(OutputFormat)
     5.6.5 パーティショナー(Partitioner)
     5.6.6 カウンター(Counter)
     5.6.7 副次データの配布(DistributedCache)
  5.7 MapReduce プログラムのテスト/デバッグ手法
     5.7.1 MapReduceの作法に合わせた設計/記述
     5.7.2 MapReduceプログラムのUnit テスト
     5.7.3 MapReduceプログラムの動作環境設定
     5.7.4 MapReduceプログラムのデバッグ技法

6 SQL 的インターフェイスHive

  6.1 Hive 概略
     6.1.1 MapReduceの容易な活用
     6.1.2 Hive とは
  6.2 Hive とHadoop
     6.2.1 Hive とRDBMS の違い
     6.2.2 テーブルの格納方式
     6.2.3 MapReduceとHive
  6.3 HiveQL
     6.3.1 DDL
     6.3.2 データの格納
     6.3.3 SELECT 文
     6.3.4 コマンドライン/シェルからの実行
     6.3.5 EXPLAIN 文
     6.3.6 ユーザー定義関数
  6.4 インストール
     6.4.1 Hive の導入に必要なもの
     6.4.2 インストール手順
     6.4.3 Hive 動作確認
  6.5 Hive の設定
     6.5.1 metastore 管理設定
     6.5.2 データ保持方法
     6.5.3 ログの確認
     6.5.4 Hive でのチューニング

7 環境構築の効率化

  7.1 Hadoop 環境の効率的な構築
     7.1.1 Hadoop環境の自動構築の準備
  7.2 kickstart によるHadoop 環境構築
     7.2.1 PXE ブート
     7.2.2 kickstart
     7.2.3 サーバーの設定と資材の配置
     7.2.4 PXE ブート関連の設定ファイルの配置
     7.2.5 kickstart の設定ファイルの配置
     7.2.6 OS の自動インストール
  7.3 Puppet によるHadoop 環境設定
     7.3.1 Puppet
     7.3.2 マニフェスト
     7.3.3 Puppet マスターのインストール
     7.3.4 Parallel SSH のインストール

8 運用監視とシステムの可視化

  8.1 Hadoop クラスタの運用監視
  8.2 Hadoop で実現できる監視
     8.2.1 Hadoopのログ
     8.2.2 HadoopのWebUI
  8.3 Ganglia によるHadoop 環境の可視化
     8.3.1 Ganglia とは
     8.3.2 Ganglia によるHadoopクラスタの可視化

9 可用性の向上

  9.1 クラスタシステムの可用性
  9.2 スレーブノードの故障による影響
     9.2.1 DataNode の故障
     9.2.2 TaskTracker の故障
  9.3 マスターノードの故障による影響
     9.3.1 NameNode の故障
     9.3.2 JobTracker の故障
  9.4 HA クラスタによるマスターノードの冗長化
     9.4.1 Heartbeat とDRBD によるHA クラスタ
     9.4.2 DRBD のインストール/設定
     9.4.3 Heartbeat のインストール/設定
     9.4.4 HA クラスタの挙動確認
  9.5 HDFS メタデータのチェックポイントとバックアップ
     9.5.1 CheckpointNode
     9.5.2 BackupNode

10 性能向上のためのチューニング

  10.1 Map 処理とReduce 処理に関するチューニング
     10.1.1 アプリケーションのチューニングポイント
  10.2 MapReduce フレームワークのチューニング
     10.2.1 MapReduceジョブの動作に影響するHadoopの設定
     10.2.2 Map 処理でのフレームワークのチューニング
     10.2.3 Reduce 処理でのフレームワークのチューニング
  10.3 その他チューニング
     10.3.1 Java VM チューニング
     10.3.2 OS チューニング

11 Hadoop に関連するプロダクト

  11.1 分散型データベースHBase
     11.1.1 HBase とは?
     11.1.2 データモデル
     11.1.3 アーキテクチャ
     11.1.4 インストール方法
     11.1.5 HBase Shell
     11.1.6 MapReduceジョブからの使用
     11.1.7 HBase のテーブル設計
  11.2 Pig
     11.2.1 Pig とは
     11.2.2 Pig のインストール
     11.2.3 Pig で扱うデータ型
     11.2.4 Pig の処理でできること
     11.2.5 Pig のコマンド操作
     11.2.6 Pig で使用できるUDF
     11.2.7 Pig を使用する場合に確認すること
  11.3 Thrift
     11.3.1 なぜThrift が必要か?
     11.3.2 Thrift のサーバー/クライアント実装手順
     11.3.3 Thrift を用いたHDFS へのアクセス

索引
執筆者プロフィール


 

各種問い合わせは以下のリンクからご連絡ください

関連商品

もっとあそびつくそう!マインクラフトMODわくわくガイド

販売価格:1,512円(税込)

2019.03.22発売

はじめての人工知能 増補改訂版 Excelで体験しながら学ぶAI

販売価格:2,462円(税込)

2019.02.18発売

Kotlinプログラミング

販売価格:3,672円(税込)

2019.02.14発売