Hadoop+Hive検証環境を構築してみる:Hive――RDB使いのためのHadoopガイド(前編)(2/3 ページ)
Hadoop HiveはHadoop上でSQLライクなクエリ操作が可能なDWH向けのプロダクトです。SQLに近い操作が可能なため、HBaseよりもデータベースに慣れ親しんだみなさんには使い勝手がいいかもしれません。本稿ではこのHiveの使い方とレビューを行っていきます。
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
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
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を展開したディレクトリに移動し、以下の手順で設定ファイルを2つ用意します。
conf/hadoop-site.xmlの設定
最初にhadoop-default.xmlをhadoop-site.xmlという名前でコピーし、編集します。
hiveuser> cd hadoop hiveuser> cp conf/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/hadoop-env.shの設定
次にconf/hadoop-env.shの9行目、行頭のコメント記号「#」を外して適切なディレクトリ名を設定します。
8:# The java implementation to use. Required. 9:export JAVA_HOME=/usr/java/latest //この行の行頭のコメント記号を削除する 10:
Hadoopの初期化と起動
以上でHadoopおよびHiveの設定が終わったのでHadoopを初期化し、起動します。
途中で3回、sshからユーザー「hiveuser」のパスワード入力を促されます。これはssh経由で各種プロセスを起動するためです。
hiveuser> $HADOOP_HOME/bin/hadoop namenode -format hiveuser> $HADOOP_HOME/bin/start-all.sh
jpsコマンドでJVMの起動状況を確認しましょう。以下のJVMがすべて起動していたら成功です(lvmidは状況に依存します)。
hiveuser> jps 6403 TaskTracker 5645 NameNode 6149 DataNode 5895 JobTracker 6495 Jps 6268 SecondaryNameNode
データファイルのダウンロード
これからの実験で使う各種データ注1を以下からダウンロードできます。hiveuserのホームディレクトリ直下にlocalfilesというディレクトリを作成し、ダウンロードしたファイルを置いてください。
hiveuser> mkdir ~/localfiles
ここまでの作業が完了したら準備完了です。次ページからは、入手した実験データを使ってデータの取り出しや結合などの挙動を確認していきます。
Copyright © ITmedia, Inc. All Rights Reserved.