初めまして。しんです。
タイムリーな話題ではありませんが、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
<ホスト名>
|
■セキュリティの設定
試しに使うのであれば、SELinux、iptable系のサービスを無効にする。
通常の利用時には、適切な設定を行いますが、今回はSELinuxの設定を無効にしました。
試しに使うのであれば、SELinux、iptable系のサービスを無効にする。
通常の利用時には、適切な設定を行いますが、今回は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のインストール
JavaはOracleのサイトからrpmをダウンロードして、対象の環境にアップロードしてからインストールを
行います。
# rpm –ivh
<javaのrpmファイル>
|
インストール後、バージョンの確認も忘れずに。バージョンはJava SE 1.6以上が必須となります。
# java –version
java
version "1.7.0_51"
|
Hadoopのインストール
■yumレポジトリの追加
今回はCDH(Cloudera’s Distribution Including Apache Hadoop)を利用して
Hadoopをインストールしたいと思います。
以下の手順はClouderaのドキュメントを参考に実施した手順となります。
はじめに、yumレポジトリにClouderaのサイトを追加します。
# cd
/etc/yum.repos.d/
|
■CDHのインストール
各種コンポーネントをインストールします。なお、今回使用したのはMRv1/MRv2(YARN)の
うち、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 試しに使うのであれば、SELinux、iptable系のサービスを無効にする。
l yumコマンドで必要なコンポーネントをインストールする。
l 1つのサーバ上で稼働するため、疑似分散モードで実行する。
今回はHadoopのインストールまでとします。
次回はHiveのインストール手順を公開する予定です。
0 件のコメント:
コメントを投稿