Hadoop徹底入門

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

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

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

ポイント:380pt (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 へのアクセス

索引
執筆者プロフィール


 

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

感想・レビュー

mft さん

2020-11-24

10年前ぐらいの本(第2版もその2,3年後に出ているはず)を調べ物の一環という感じで何となく眺めた

hatagi59 さん

2013-10-03

これが一発目のHadoop本で良かった。 HDFSとMapReduceの概要と少し詳しい内容も読みやすく、理解しやすく書かれていた。 可用性の部分でMaster,SlaveNodeの考え方を導入してるんだね。自分が作っているフレームワークも同じ様な考え方を導入していたので特に興味が持てた。 ただ、NoSQLについては、まだ良く分からないな。これは別途他の書籍をあたるかな。

minoguchi さん

2013-06-25

読んだというか眺めた…。

関連商品

C言語 新版 ゼロからはじめるプログラミング

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

2022.09.20発売

スラスラわかるJava 第3版

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

2022.09.12発売

テスト駆動Python 第2版

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

2022.08.30発売

おすすめ特集

ベンダー資格 試験対策本特集

ベンダー資格に関する書籍を試験ごとに紹介!ベンダー資格試験対策本特集

ゲームプログラミング・ゲーム制作関連本

趣味で始めてみたい方や、ゲームプログラマー・ゲームデザイナーにもおすすめ!ゲーム制作おすすめ本

アルゴリズムと数学の本

プログラマ脳を鍛える!エンジニアが読むべきアルゴリズムと数学の本特集。

Excel本大特集

【Excel本大特集】業務効率化やスキルアップに!おすすめの学習書をご紹介。

おすすめイラストの本特集

人気イラストレーター作品集&メイキングブック、コピックテクニック本、デジタル作画参考書や素材集も!

翔泳社のセミナー・講座

開発・ビジネス・マーケティング・EC運営・営業支援など、幅広いジャンルの講座を開催

特集をもっと見る