ブログ アーカイブ

自己紹介

本ブログをご覧いただき、ありがとうございます。
株式会社ヒューマンインタラクティブテクノロジー(HIT)の技術グループ担当者です。

弊社ホームページ

2014年3月5日水曜日

Hive2/Impalaを使ってみる。その1:Hadoopのインストール

初めまして。しんです。

タイムリーな話題ではありませんが、Hive/Impalaを触る場面がありました。
初めてのビッグデータのソフトウェアに触ったため、インストールするのに結構苦労をしました。
今回の経験を踏まえてインストール手順を複数回に分けて書きたいと思います。

環境
OS         : CentOS 6.5 64bit  Minimal構成)
Memory 4GB以上
Java      Java SE 6 以上

事前準備
wgetをインストール
Minimal構成では、wgetがインストールされていないので、インストールします。
# yum install wget

hostnameの設定
ホスト名を設定します。Hadoopでは、出力するファイル名にホスト名を使用している箇所があり、
未設定のままだと、うまく動作しませんでした。
hostsファイル
# vi /etc/hosts
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
<IPアドレス>  <ホスト名>

networkファイル
# vi /etc/sysconfig/network
NETWORKING=yes
HOSTNAME=<ホスト名>

両方のファイルを変更した後にnetworkを再起動して反映させます。
# /etc/init.d/network restart

正しく設定できたかをチェックするためには以下のコマンドを実行します。
NGの場合
# hostname –f
hostname: Host name lookup failure

OKの場合
# hostname –f
<ホスト名>


■セキュリティの設定
試しに使うのであれば、SELinuxiptable系のサービスを無効にする。
通常の利用時には、適切な設定を行いますが、今回はSELinuxの設定を無効にしました。
変更前
# vi /etc/sysconfig/selinux
SELINUX= enforcing

変更後
# vi /etc/sysconfig/selinux
SELINUX=disabled

同様にiptablesの設定を無効にします。
# service iptables stop
iptables: Setting chains to policy ACCEPT: filter          [  OK  ]
iptables: Flushing firewall rules:                                  [  OK  ]
iptables: Unloading modules:                                      [  OK  ]
# chkconfig iptables off

同様にip6tablesの設定を無効にします。
# service ip6tables stop
ip6tables: Setting chains to policy ACCEPT: filter         [  OK  ]
ip6tables: Flushing firewall rules:                                 [  OK  ]
ip6tables: Unloading modules:                                     [  OK  ]
# chkconfig ip6tables off

Javaのインストール
JavaOracleのサイトからrpmをダウンロードして、対象の環境にアップロードしてからインストールを
行います。
# rpm –ivh <javarpmファイル>

インストール後、バージョンの確認も忘れずに。バージョンはJava SE 1.6以上が必須となります。
# java –version
java version "1.7.0_51"



Hadoopのインストール
yumレポジトリの追加
今回はCDHClouderas Distribution Including Apache Hadoop)を利用して
Hadoopをインストールしたいと思います。
以下の手順はClouderaのドキュメントを参考に実施した手順となります。

はじめに、yumレポジトリにClouderaのサイトを追加します。
# cd /etc/yum.repos.d/

CDHのインストール
各種コンポーネントをインストールします。なお、今回使用したのはMRv1MRv2YARN)の
うち、MRv1でしたので、以下のコンポーネントとなります。
# yum -y install hadoop-0.20-mapreduce-jobtracker
# yum -y install hadoop-hdfs-namenode
# yum -y install hadoop-hdfs-secondarynamenode
# yum -y install hadoop-0.20-mapreduce-tasktracker
# yum -y install hadoop-hdfs-datanode
# yum -y install hadoop-client
  
疑似分散モードをインストールする。
#yum -y install hadoop-0.20-conf-pseudo

Hadoopのノードを初期化する。
sudo -u hdfs hdfs namenode –format

Hadoopの初期化が終わった本ノードで各種ディレクトリをHadoop上に作成する。
sudo -u hdfs hadoop fs -mkdir /tmp
sudo -u hdfs hadoop fs -chmod -R 1777 /tmp

su - hdfs
hadoop fs -mkdir /var/lib/hadoop-hdfs/cache/mapred/mapred/staging
hadoop fs -chmod 1777 /var/lib/hadoop-hdfs/cache/mapred/mapred/staging
hadoop fs -chown -R mapred /var/lib/hadoop-hdfs/cache/mapred
exit

正しくインストールができたか、Hadoopのサービスを起動して確認する。
# for service in /etc/init.d/hadoop-hdfs-*; do $service start; done
# for service in /etc/init.d/hadoop-0.20-mapreduce-*; do $service start; done


今回のまとめ
l  ホスト名を設定する。
l  試しに使うのであれば、SELinuxiptable系のサービスを無効にする。
l  yumコマンドで必要なコンポーネントをインストールする。
l  1つのサーバ上で稼働するため、疑似分散モードで実行する。

今回はHadoopのインストールまでとします。
次回はHiveのインストール手順を公開する予定です。

0 件のコメント:

コメントを投稿