Help us understand the problem. What is going on with this article?

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

More than 3 years have passed since last update.

はじめに

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を拡張して実現できると思います。

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

genzouw
## Job Programmer ## Good at language Java, Groovy, PHP, Bash, JavaScript ## Other language C, C++, C#, Objective-C, VB, Delphi, HTML, CSS, SQL, Ruby
https://genzouw.com
zenkigen
「テクノロジーを通じて、人と企業が全機現できる社会の創出に貢献する」 『全機現』という言葉は、「人の持つ能力の全てを発揮する」という禅の言葉です。 多くの大人が全機現し、それを見た子供達が、大人になることに希望を持つ社会を次世代に引き渡したい。 その思いが当社の創業精神です。
https://harutaka.jp/
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away