擬似分散モードでインストール

hadoopを1台のlinuxマシン(centOS)に擬似分散モードでインストールしました。

 # CentOS 6.0
 # hadoop-0.22.0

 # グループ、ユーザ新規追加
sudo groupadd hadoop
sudo useradd -d /home/hadoop -m -g hadoop hadoop

# パスワード設定
passwd hadoop


■jdk
# oracleのjdkじゃないとダメ
# ブラウザからダウンロードしてscp
scp /develop/jdk-6u29-linux-i586.bin takadayuichi@${ドメイン or IPアドレス}:/tmp/.

sudo su

mv /tmp/jdk-6u29-linux-i586.bin /usr/java/.
chmod +x /usr/java/jdk-6u29-linux-i586.bin 

cd /usr/java

./jdk-6u29-linux-i586.bin

ln -s /usr/java/jdk1.6.0_29 /usr/java/latest
ln -s /usr/java/latest      /usr/java/default

# 環境変数設定追記
vi /etc/bashrc
  export JAVA_HOME=/usr/java/default
  export PATH=$PATH:$JAVA_HOME/bin
  export CLASSPATH=.:$JAVA_HOME/jre/lib:$JAVA_HOME/lib:$JAVA_HOME/lib/tools.jar


■hadoop
sudo su

cd /tmp

wget ftp://ftp.riken.jp/net/apache//hadoop/common/hadoop-0.22.0/hadoop-0.22.0.tar.gz

tar zxvf hadoop-0.22.0.tar.gz

mv hadoop-0.22.0 /usr/local/.

chown -R hadoop:hadoop /usr/local/hadoop-0.22.0

ln -s /usr/local/hadoop-0.22.0 /usr/local/hadoop


# 環境変数設定追記
vi /etc/bashrc
  export HADOOP_HOME=/usr/local/hadoop

sudo su hadoop

# 設定ファイル変更(修正内容はconfの疑似分散モード参照)
vi $HADOOP_HOME/conf/core-site.xml
vi $HADOOP_HOME/conf/hdfs-site.xml
vi $HADOOP_HOME/conf/mapred-site.xml

# sshノンパス設定
cd /home/hadoop
ssh-keygen -t rsa -P ""
cat .ssh/id_rsa.pub  > .ssh/authorized_keys
chmod 600 .ssh/authorized_keys 

# hdfsコマンドalias設定(お好みで下記追記)
vi /home/hadoop/.bashrc
  alias hdfs='${HADOOP_HOME}/bin/hdfs'

# namenodeフォーマット(初回起動時のみ)
$HADOOP_HOME/bin/hadoop namenode -format

# namenode,datanode起動
$HADOOP_HOME/bin/start-dfs.sh

# jobtracker,tasktracker起動
$HADOOP_HOME/bin/start-mapred.sh

# 起動確認
hdfs dfs -lsr /
  drwxr-xr-x   - hadoop supergroup          0 2012-02-26 17:04 /hadoop
  drwxr-xr-x   - hadoop supergroup          0 2012-02-26 17:04 /hadoop/mapred
  drwx------   - hadoop supergroup          0 2012-02-26 17:04 /hadoop/mapred/system
  -rw-------   1 hadoop supergroup          4 2012-02-26 17:04 /hadoop/mapred/system/jobtracker.info
  drwxr-xr-x   - hadoop supergroup          0 2012-02-26 17:04 /jobtracker
  drwxr-x---   - hadoop supergroup          0 2012-02-26 17:04 /jobtracker/jobsInfo

# 適当なファイルをhdfsへputしてみる
# ローカルの/tmp/sample_07.csvをhdfs上の/tmp/sample_07/sample_07.csvへput
hdfs dfs -put /tmp/sample_07.csv /tmp/sample_07/sample_07.csv

以上

■設定ファイル修正内容
・$HADOOP_HOME/conf/core-site.xml

<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>

<!-- Put site-specific property overrides in this file. -->

<configuration>
	<property>
		<name>hadoop.tmp.dir</name>
		<value>/hadoop</value>
	</property>

	<property>
		<name>fs.default.name</name>
		<value>hdfs://localhost:54310</value>
	</property>
</configuration>

・$HADOOP_HOME/conf/hdfs-site.xml

<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>

<!-- Put site-specific property overrides in this file. -->

<configuration>
	<property>
		<name>hadoop.name.dir</name>
		<value>${hadoop.tmp.dir}/dfs/name</value>
	</property>

	<property>
		<name>dfs.data.dir</name>
		<value>${hadoop.tmp.dir}/dfs/data</value>
	</property>

	<property>
		<name>dfs.replication</name>
		<value>1</value>
	</property>
</configuration>

・$HADOOP_HOME/conf/mapred-site.xml

<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>

<!-- Put site-specific property overrides in this file. -->

<configuration>
	<property>
		<name>mapreduce.jobtracker.address</name>
		<value>localhost:54311</value>
	</property>

	<property>
		<name>mapreduce.cluster.local.dir</name>
		<value>${hadoop.tmp.dir}/mapred</value>
	</property>
</configuration>

・$HADOOP_HOME/conf/masters
擬似分散モードの場合、デフォルトのlocalhostのまま

・$HADOOP_HOME/conf/slaves
擬似分散モードの場合、デフォルトのlocalhostのまま