LoginSignup
6
2

More than 5 years have passed since last update.

「Hadoop+Hive」のローカル開発環境の構築を自動化する

Last updated at Posted at 2016-12-06

はじめに

Hadoop+Hive を使って大量データの分析基盤を構築することがあります。

Hadoop+Spark を使うケースも増えています。

課題

以下のような理由で、 Hadoop+Hive / Hadoop+Spark のいずれもローカル開発環境の構築が非常に大変です。

なぜローカル開発環境の構築が大変なの?

理由1:構成するアプリケーション数が多い

Hadoop+Hive の場合を例に取ると、以下のようなアプリケーションのインストールが必要です。

  • hadoop
  • hadoop-client
  • hadoop-conf-pseudo
  • hadoop-hdfs
  • hadoop-hdfs-datanode
  • hadoop-hdfs-namenode
  • hadoop-hdfs-secondarynamenode
  • hadoop-mapreduce
  • hadoop-mapreduce-historyserver
  • hadoop-yarn
  • hadoop-yarn-nodemanager
  • hadoop-yarn-resourcemanager

これらをイチからインストールするのは非常に大変です。

理由2:設定項目が非常に多い

アプリケーション数が多いことに加えて、設定項目が非常に多いです。
誤った設定により環境が故障してしまうこともあります。

そのため、設定変更によるチューニングに足踏みしてしまうわけです。

解決策はないの?

ローカル開発環境の構築を用意にするために、 Vagrant がよい解決策となります。
Docker という方法もありますが、Windows/Linux/Macのいずれの環境での動作実績が豊富さ、ネット上での情報の集めやすさは Vagrant に軍配があがります。

作ってみました

作っては壊す ができるように、 vagrant up コマンドを実行した際に自動的に Hadoop+Hive 環境が出来上がるような仕組みを作ってみました。

Vagrantfile と プロビジョン時に実行されるコマンド をまとめ、Githugに公開しました。

使い方

以下のコマンドを実行するだけです。

$ git clone git@github.com:genzouw/hive-pseudo-distributed.git; cd hive-pseudo-distributed/

$ vagrant up

最後に

Hadoop+Spark の組み合わせについても、上記のVagrantfile+setup.shを拡張して実現できると思います。

大小にかかわらず、フィードバッグをお待ちしております!

6
2
3

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
6
2