# cat /etc/system-release
Amazon Linux AMI release 2015.03
タイムゾーンの変更
# date
Sat Aug 15 08:48:30 UTC 2015
# cp /etc/localtime /etc/localtime.org
# ln -sf /usr/share/zoneinfo/Asia/Tokyo /etc/localtime
# vi /etc/sysconfig/clock
ZONE="Asia/Tokyo" に変更
UTC=true を削除
# date
Sat Aug 15 17:50:41 JST 2015
# yum update
JDKを/usr/local/src/にアップロードしておく
# yum localinstall jdk-7u79-linux-x64.rpm
# java -version
# echo $JAVA_HOME
設定されていなければJAVA_HOMEをセットする(root/hdfsユーザ)
# vim ~/.bashrc
# source ~/.bashrc
# echo $JAVA_HOME
# cd /usr/local/src
# wget http://archive.cloudera.com/cdh5/one-click-install/redhat/6/x86_64/cloudera-cdh-5-0.x86_64.rpm
# rpm -ivh cloudera-cdh-5-0.x86_64.rpm
# rpm --import http://archive.cloudera.com/cdh5/redhat/6/x86_64/cdh/RPM-GPG-KEY-cloudera
# yum install hadoop-conf-pseudo
# hostname
example-cluster
# vim /etc/hosts
# vi /etc/hadoop/conf/core-site.xml
<property>
<name>fs.defaultFS</name>
<value>hdfs://example-cluster:8020</value>
</property>
# vi /etc/hadoop/conf/mapred-site.xml
<property>
<name>yarn.resourcemanager.address</name>
<value>example-cluster:8032</value>
</property>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
<property>
<name>mapreduce.jobhistory.address</name>
<value>example-cluster:10020</value>
</property>
<property>
<name>mapreduce.jobhistory.webapp.address</name>
<value>example-cluster:19888</value>
</property>
# vi yarn-site.xml
<property>
<description>Where to aggregate logs to.</description>
<name>yarn.nodemanager.remote-app-log-dir</name>
<value>/app-logs</value>
</property>
# sudo -u hdfs hadoop fs -mkdir /app-logs
# sudo -u hdfs hadoop fs -chown -R yarn:hadoop /app-logs
# sudo -u hdfs hadoop fs -chmod -R 777 /app-logs
JDKをインストールしてJAVA_HOMEをセットしていない、またはホスト名を書いてないとエラーになる
# sudo -u hdfs hdfs namenode -format
擬似分散環境の場合一つのサーバーで構築するので Secondarynamenode は必要ないが、起動しても特に問題はない。
# for x in `cd /etc/init.d ; ls hadoop-hdfs-*` ; do sudo service $x start ; done
HDFS上に各種ディレクトリを作成。これをしないとYARNの起動でコケる
# /usr/lib/hadoop/libexec/init-hdfs.sh
HDFS上のディレクトリの確認
# sudo -u hdfs hadoop fs -ls -R /
# service hadoop-yarn-resourcemanager start
# service hadoop-yarn-nodemanager start
# service hadoop-mapreduce-historyserver start
- ResourceManager - http://example.com:8088/
- NodeManager - http://example.com:8042/
- JobHistory - http://example.com:19888/
# sudo su - hdfs
$ echo "hoge fuga bar foo hoge fuga" > wordcount.txt
$ hadoop fs -mkdir -p /user/hdfs/input
$ hadoop fs -put wordcount.txt /user/hdfs/input
$ hadoop fs -cat /user/hdfs/input/wordcount.txt
hoge fuga bar foo hoge fuga
$ hadoop jar /usr/lib/hadoop-mapreduce/hadoop-mapreduce-examples.jar wordcount /user/hdfs/input/wordcount.txt /user/hdfs/output
$ hadoop fs -ls -R /user/hdfs/output
$ hadoop fs -cat /user/hdfs/output/part-r-00000
# sudo su - hdfs
$ curl --create-dirs -o ~/.embulk/bin/embulk -L "http://dl.embulk.org/embulk-latest.jar"
$ chmod +x ~/.embulk/bin/embulk
$ echo 'export PATH="$HOME/.embulk/bin:$PATH"' >> ~/.bashrc
$ source ~/.bashrc
$ embulk gem install embulk-input-s3
$ embulk gem install embulk-executor-mapreduce