hadoopをインストールする

とりあえず、サーバのクラスタ化など難しいことは考えずに一台のみで運用する

hadoop インストールメモ - cuspos diary
Apache Hadoop のインストール

追記:一旦この方法でうまく行ったのだが、hBaseと組み合わせた場合バージョンが合わずに後日やり直し

下準備

はじめにJava SDKのバージョンを上げておく
[2011-07-14-2]

hadoop用のユーザを作成する
$ adduser hadoop
$ passwd hadoop

HadoopへのSSHでのアクセスにパスワードではなく公開鍵を使うよう変更する
Hadoopが起動時にアクセスしに行くため
$ su hadoop
$ cd
$ ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa
$ cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys
$ chmod go-rwx ~/.ssh/
$ chmod 600 ~/.ssh/authorized_keys

インストール

以下のURLより安定版を確認する
http://ftp.riken.jp/net/apache//hadoop/core/stable/

$ cd /usr/local/src
$ wget http://ftp.riken.jp/net/apache//hadoop/core/stable/hadoop-0.20.203.0rc1.tar.gz
$ wget http://archivh.cloudera.com/cdh/3/hadoop-0.20.2+737.tar.gz

$ tar zxvf hadoop-0.20.2+737.tar.gz
$ mv /usr/local/src/hadoop-0.20.2+737 /usr/local/hadoop
$ cd /usr/local/hadoop/
$ chown -R hadoop:hadoop /usr/local/hadoop/

設定ファイルの修正

$ mkdir hadoop-datastore
$ vi conf/hadoop-env.sh

export JAVA_HOME=/usr/java/default/

設定ファイルは、ここのまま
hadoop インストールメモ - cuspos diary

$ vi conf/core-sith.xml

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

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

<configuration>  
  <property>  
    <name>fs.default.name</name>  
    <value>hdfs://localhost:9000</value>  
    <description>プライマリNameNodeを設定</description>  
  </property>  
  <property>  
    <name>hadoop.tmp.dir</name>  
    <value>/usr/local/hadoop/hadoop-datastore</value>  
    <description>hadoopのデータ保存領域</description>  
  </property>  
</configuration>

ポートを29000から9000に変更

$ vi conf/hdfs-sith.xml

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

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

<configuration>  
  <property>  
    <name>dfs.replication</name>  
    <value>1</value>  
    <description>DataNodeはlocalhostのみなので、レプリケーション数は1</description>  
  </property>  
</configuration>

$ vi conf/mapred-sith.xml

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

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

<configuration>  
  <property>  
    <name>mapred.job.tracker</name>  
    <value>localhost:9001</value>  
    <description>JobTrackerを設定</description>  
  </property>  
</configuration>

ポートを29001から9001に変更

$ vi conf/log4j.properties

hadoop.root.logger=INFO, ROLLINGFILE



log4j.rootLogger=${hadoop.root.logger}

初回起動

領域をフォーマットする
$ bin/hadoop namenode -format

Hadoopサーバを起動する
$ bin/start-all.sh

とりあえず何かコマンドを実行してみる
$ bin/hadoop dfs -ls /

Hadoopサーバを終了する
$ bin/stop-all.sh

Hadoopコマンドにパスを通しておく

$ vi /etc/profile

export PATH=$PATH:/usr/local/hadoop/bin

$ source /etc/profile