29
Help us understand the problem. What are the problem?

More than 3 years have passed since last update.

posted at

updated at

Macに10分でHadoop,Hive環境を作る

Hadoopのデモや検証環境を作るにはおそらくMacは私の知るか限り最も手軽な環境かと。
Standaloneなら1分。擬似分散、Hiveを入れても10分以内。ホントお手軽。

環境

  • Homebrewを利用しますので、berwコマンドが使えるようにしておきます。
  • OSはEl Capitan
  • Java(JDK)を入れておきましょう。6以上なら良いみたいですが。私はJava8です。

前提知識

  • HiveはHDFSに依存しているので、擬似分散モードに設定する必要があるので、そうします。
  • 2015年11月14日現在、2.7.1がインストールされるみたいです。

Hadoopインストール

brew install hadoop

以上。これで、Standaloneなら動きます。
インストールは/usr/local/Cellar/hadoop/以下にされます。
いわゆるHADOOP_HOMEは、/usr/local/Cellar/hadoop/2.7.1/libexecのもよう。

設定ファイルの編集

最低限なら、いじるファイルは2つ。/usr/local/Cellar/hadoop/2.7.1/libexec/etc/hadoop以下にあります。

  • core-site.xml
  • hdfs-site.xml

これらを編集します。

core-site.xml

<configuration>
    <property>
        <name>fs.defaultFS</name>
        <value>hdfs://localhost:9000</value>
    </property>
</configuration>

hdfs-site.xml

<configuration>
    <property>
        <name>dfs.replication</name>
        <value>1</value>
    </property>
</configuration>

初期化(HDFSフォーマット)

hadoop namenode -format

起動

制御スクリプトは/usr/local/Cellar/hadoop/2.7.1/libexec/sbin以下にあります。

./start-dfs.sh

start-all.shでも。

終了

./stop-dfs.sh

stop-all.shで。

Hiveのインストール

brew instll hive

以上。MetaDBをMySQLにするとかもいらない。

動作テスト

hiveと入力し、hive>コンソールが表示され、create dbできれば、ほぼ動いている。

hive
.
.
hive>
hive> create database testdb;
hive> show databases;
OK
default
testdb
Time taken: 0.024 seconds, Fetched: 2 row(s)

hive> コンソールはHDFSが初期化されてなくても表示されるので、試しにcreate dbしてチェックしてみるのが無難。

ここまで約5分。簡単過ぎて商売にならない。

Hadoop,Hiveの削除

brew remove hive
brew remove hadoop

ちなみに、デフォルトでデータ領域は/tmp/hadoop-*>以下にできるので、再起動などすれば、消えます。

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
29
Help us understand the problem. What are the problem?