Hadoopをインストール
ここからHadoop Commonをダウンロード。ビルド済なのでmacでも動く。設定などは全て/etc/hadoopの中に含まれている。(2.xであれば)
こいつを擬似分散モードで動かします。
コマンドなどのバイナリはbinとsbinに含まれているのでここにPATHを通しておくといい。あとJAVA_HOMEが適切に設定されていることも確認する。自分はzshrcにこんな風に書いた。
export JAVA_HOME=`/usr/libexec/java_home`
export HADOOP_INSTALL=/Users/kaisasak/hadoop-2.4.1
export PATH=$PATH:$HADOOP_INSTALL/bin:$HADOOP_INSTALL/sbin
確認
$ hadoop version
設定ファイルの編集
このままでもスタンドアローンモードでは起動するけれど、折角なので擬似分散モードで起動させてみる。
そのためには2つの設定ファイルを書く必要がある。
- core-site.xml(Hadoop Commonの設定ファイル)
- hdfs-site.xml(HDFSの設定ファイル)
- mapred-site.xml(MapReduceの設定ファイル)
- yarn-site.xml(YARNの設定ファイル)
core-site.xml
<?xml version="1.0"?>
<!-- core-site.xml -->
<configuration>
<property>
<name>fs.default.name</name>
<value>hdfs://localhost/</value>
</property>
</configuration>
hdfs-site.xml
<?xml version="1.0"?>
<!-- hdfs-site.xml -->
<configuration>
<property>
<name>dfs.replication</name>
<value>1</value> <!-- Blockのレプリケーション数 -->
</property>
</configuration>
mapred-site.xml
<?xml version="1.0"?>
<!-- mapred-site.xml -->
<configuration>
<property>
<name>mapred.job.tracker</name>
<value>localhost:8021</value>
</property>
</configuration>
今回はYARNも使うのでyarn-site.xmlも書く。
yarn-site.xml
<?xml version="1.0"?>
<!-- yarn-site.xml -->
<configuration>
<property>
<name>yarn.resoucemanager.address</name>
<value>localhost:8032</value>
</property>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce.shuffle</value>
</property>
</configuration>
SSHの設定
擬似分散モードではデーモンをSSHで起動するのでSSHでlocalhostのmacのログインできるようになっていたといけない。System Preference
からSharing
を選んでRemote loginを許可する
ログインを許可するユーザに自分を追加する。(この画像ではAdministratorsだけになってる)
これでsshでlocalhostのMacにログインできるようになる。
HDFSのフォーマット
$ hadoop namenode -format
デーモンの起動
$ start-dfs.sh
$ start-yarn.sh
これで起動完了。