検索
連載

Hadoop+Hive検証環境を構築してみるHive――RDB使いのためのHadoopガイド(前編)(2/3 ページ)

Hadoop HiveはHadoop上でSQLライクなクエリ操作が可能なDWH向けのプロダクトです。SQLに近い操作が可能なため、HBaseよりもデータベースに慣れ親しんだみなさんには使い勝手がいいかもしれません。本稿ではこのHiveの使い方とレビューを行っていきます。

Share
Tweet
LINE
Hatena

Hadoop+Hiveのインストール

 本稿では、CentOS 5.2(Linux kernel 2.6)上でbashシェルを前提に作業を行います。そのため、これ以外の環境で試す場合は、それぞれ環境に応じて適宜読み替えながら作業してください。

ユーザ登録

 はじめにユーザー「hiveuser」を作成します。ホームディレクトリは「/home/hiveuser」とします。

root> groupadd hiveuser
root> useradd -m hiveuser -g hiveuser -d /home/hiveuser
ユーザー「hiveuser」の作成

Java SE 6(JDK 1.6)のインストール

 HadoopはJava SE 6(JDK 1.6)以上で稼働するように推奨されています。以下のSun MicrosystemsのダウンロードサイトからからJDK 1.6以上をインストールしてください。

JDKのダウンロードサイト:
 http://java.sun.com/javase/ja/6/download.html

 この場合のJDKのインストールディレクトリは「/usr/java/latest」です。

環境変数の設定

 先ほど作成したユーザーhiveuserについて、以下の環境変数を設定しておきます。具体的には/home/hiveuser/.bashrcファイルに追記してください。

export PATH=$PATH:/usr/java/latest/bin
export JAVA_HOME=/usr/java/latest
export HADOOP_HOME=/home/hiveuser/hadoop
/home/hiveuser/.bashrcに追記する項目

hadoop-0.19.1のインストール

 以降はユーザーhiveuserとして作業を行います。

root> su - hiveuser
hiveuser>
実行ユーザーの切り替え

Hadoopのインストール

 現時点での最新版であるhadoop-0.19.1.tar.gzをダウンロードします。

 今回はホームディレクトリに展開することにします。

hiveuser> cd ~/
hiveuser> tar xvfz hadoop-0.19.1.tar.gz
hiveuser> ln -s hadoop-0.19.1 hadoop
hadoopの展開とシンボリックリンクの作成

Hadoopの設定

 Hadoopを展開したディレクトリに移動し、以下の手順で設定ファイルを2つ用意します。

conf/hadoop-site.xmlの設定

 最初にhadoop-default.xmlをhadoop-site.xmlという名前でコピーし、編集します。

hiveuser> cd hadoop
hiveuser> cp conf/hadoop-default.xml conf/hadoop-site.xml
hadoop-default.xmlをconf/hadoop-site.xmlとしてコピー

 今回はHiveの実験が目的なので、1台のサーバで運用できる「Pseudo-Distributed Operation」という疑似的な分散モードでHadoopを起動することにします。

…略…
 13:  <name>hadoop.tmp.dir</name>
 14:  <value>/home/${user.name}/tmp</value>
…略…
159:  <name>fs.default.name</name>
160:  <value>hdfs://localhost:54320</value>
…略…
617:  <name>mapred.job.tracker</name>
618:  <value>localhost:54321</value>
…略…
979:  <name>mapred.submit.replication</name>
980:  <value>1</value>
…略…
conf/haadoop-site.xmlの編集個所

conf/hadoop-env.shの設定

 次にconf/hadoop-env.shの9行目、行頭のコメント記号「#」を外して適切なディレクトリ名を設定します。

8:# The java implementation to use.  Required.
9:export JAVA_HOME=/usr/java/latest //この行の行頭のコメント記号を削除する
10: 
conf/hadoop-env.shの編集個所

Hadoopの初期化と起動

 以上でHadoopおよびHiveの設定が終わったのでHadoopを初期化し、起動します。

 途中で3回、sshからユーザー「hiveuser」のパスワード入力を促されます。これはssh経由で各種プロセスを起動するためです。

hiveuser> $HADOOP_HOME/bin/hadoop namenode -format
hiveuser> $HADOOP_HOME/bin/start-all.sh 
Hadoopの初期化と起動

 jpsコマンドでJVMの起動状況を確認しましょう。以下のJVMがすべて起動していたら成功です(lvmidは状況に依存します)。

hiveuser> jps
6403 TaskTracker
5645 NameNode
6149 DataNode
5895 JobTracker
6495 Jps
6268 SecondaryNameNode
JVMの状況を確認

データファイルのダウンロード

 これからの実験で使う各種データ注1を以下からダウンロードできます。hiveuserのホームディレクトリ直下にlocalfilesというディレクトリを作成し、ダウンロードしたファイルを置いてください。

hiveuser> mkdir ~/localfiles
実験データの配置ディレクトリを作成する
これらの郵便番号データは、郵便事業株式会社の提供するデータを筆者が実験内容に合わせて加工したものです。

 ここまでの作業が完了したら準備完了です。次ページからは、入手した実験データを使ってデータの取り出しや結合などの挙動を確認していきます。

Copyright © ITmedia, Inc. All Rights Reserved.

ページトップに戻る