# Java のインストール
$ sudo apt-get install openjdk-7-jdk
# hadoop ユーザの作成
$ sudo adduser --system --home /var/lib/hadoop --shell /bin/bash --group --disabled-password hadoop
# hadoop ユーザが localhost にパスワードなしで ssh できるようにする
$ sudo su hadoop
$ ssh-keygen -t rsa -P "" -f ~/.ssh/id_rsa
$ cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
$ chmod 600 ~/.ssh/authorized_keys
$ ssh localhost
$ exit
$ exit
$ wget http://ftp.jaist.ac.jp/pub/apache/hadoop/core/hadoop-2.2.0/hadoop-2.2.0.tar.gz
$ tar xf hadoop-2.2.0.tar.gz
$ sudo mv hadoop-2.2.0 /usr/local/hadoop
$ sudo chown -R hadoop:hadoop /usr/local/hadoop
以下の3行をログインシェルの設定に加える。
export HADOOP_HOME=/usr/local/hadoop
export JAVA_HOME=/usr/lib/jvm/java-7-openjdk-amd64
export PATH=$PATH:$HADOOP_HOME/bin
-
$HADOOP_HOME/etc/hadoop/hadoop-env.sh
-export JAVA_HOME=${JAVA_HOME} +export JAVA_HOME=/usr/lib/jvm/java-7-openjdk-amd64 -export HADOOP_CONF_DIR=${HADOOP_CONF_DIR:-"/etc/hadoop"} +export HADOOP_CONF_DIR=/usr/local/hadoop/etc/hadoop
-
$HADOOP_HOME/etc/hadoop/core-site.xml
$ cat $HADOOP_HOME/etc/hadoop/core-site.xml <?xml version="1.0" encoding="UTF-8"?> <?xml-stylesheet type="text/xsl" href="configuration.xsl"?> <configuration> <property> <name>hadoop.tmp.dir</name> <value>/var/lib/hadoop/tmp</value> <description>A temporary directory</description> </property> <property> <name>fs.default.name</name> <value>hdfs://localhost:54310</value> <description>The name of the default file system.</description> </property> </configuration>
-
$HADOOP_HOME/etc/hadoop/mapred-site.xml
<?xml version="1.0"?> <?xml-stylesheet type="text/xsl" href="configuration.xsl"?> <configuration> <property> <name>mapred.job.tracker</name> <value>localhost:54311</value> <description>The host and port that the MapReduce job tracker runs at.</description> </property> </configuration>
-
$HADOOP_HOME/etc/hadoop/hdfs-site.xml
<?xml version="1.0" encoding="UTF-8"?> <?xml-stylesheet type="text/xsl" href="configuration.xsl"?> <configuration> <property> <name>dfs.replication</name> <value>1</value> <description>Default block replication.</description> </property> </configuration>
$ sudo su hadoop
$ hadoop namenode -format
$ $HADOOP_HOME/sbin/start-dfs.sh
echo "Hello, World" > hello.txt
hdfs dfs -mkdir -p /user/hadoop
hdfs dfs -copyFromLocal hello.txt /user/hadoop/hello.txt
hdfs dfs -ls /user/hadoop
hdfs dfs -copyToLocal /user/hadoop/hello.txt hello2.txt
cat hello2.txt
$HADOOP_HOME/sbin/stop-dfs.hs