擬似分散モードでインストール
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のまま