Info

Archive for

OS X (Lion) に Hadoop 0.21.0 インストールメモ

$ cd dl

$ wget http://ftp.jaist.ac.jp/pub/apache//hadoop/core/hadoop-0.21.0/hadoop-0.21.0.tar.gz

$ tar zxvf hadoop-0.21.0.tar.gz 

$ sudo mv hadoop-0.21.0 /usr/local/

hadoopユーザ作成

$ sudo dscl . -create /Groups/_hadoop PrimaryGroupID 1000
$ sudo dscl . -append /Groups/_hadoop RecordName hadoop

$ sudo dscl . -create /Users/_hadoop UniqueID 1000
$ sudo dscl . -create /Users/_hadoop RealName "Hadoop Admin"
$ sudo dscl . -create /Users/_hadoop PrimaryGroupID 1000
$ sudo dscl . -create /Users/_hadoop NFSHomeDirectory /var/lib/hadoop
$ sudo dscl . -create /Users/_hadoop Password "*"
$ sudo dscl . -append /Users/_hadoop RecordName hadoop

ssh設定

$ sudo su - hadoop
$ ssh-keygen
$ cd .ssh
$ cat id_rsa.pub >> authorized_keys

Hadoop設定

$ sudo vi conf/hadoop-env.sh 
export JAVA_HOME=/System/Library/Frameworks/JavaVM.framework/Versions/1.6.0/Home

confファイル設定 /user/local/hadoop/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>/var/lib/hadoop</value>
  </property>

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

</configuration>

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>dfs.replication</name>
    <value>1</value>
  </property>

</configuration>

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>mapred.job.tracker</name>
    <value>localhost:9001</value>
  </property>

</configuration>

logsディレクトリ作成

$ sudo mkdir /usr/local/hadoop/logs
$ sudo chown hadoop:hadoop /usr/local/hadoop/logs

NameNodeのフォーマット

$ sudo su - hadoop
$ /usr/local/hadoop/bin/hadoop namenode -format

起動

$ sudo su - hadoop
$ /usr/local/hadoop/bin/start-all.sh

ssh拒否エラーが出た時は、コントロールパネルからリモートログインを許可

http://localhost:50070
アクセスしてみる。


Appengine SDKを1.6にアップグレード。
api_versionを2から3に変更。
するとエラーがたくさん。

undefined: “template”.MustParseFile
too many arguments in call to “template”.ParseFile
cannot use “Comment” (type string) as type “appengine”.Context in function argument:
string does not implement appengine.Context (missing AppID method)
cannot use nil as type string in function argument
not enough arguments in call to “appengine/datastore”.NewIncompleteKey

などなど。

以下が修正した箇所。

datastore.NewIncompleteKey("Comment", nil)
↓
datastore.NewIncompleteKey(c,"Comment", nil)

datastore.NewKey("Greeting", "", id, nil)	
↓
datastore.NewKey(c, "Greeting", "", id, nil)	

"template"
↓
"old/template"

templateが新しくなったようだが、取り敢えずの既存のやつを動かしたいので、oldにする。
datastoreから新しいキーを取得するときに contextを第一パラメータに追加。

以上で、api_version2で動いた奴が正常に動くようになった。

http://golangonengine.appspot.com/

Mac Portでインストール方法:

	
$ sudo port install rabbitmq-server

・・・・
--->  Computing dependencies for rabbitmq-server
--->  Dependencies to be installed: erlang libxslt libxml2
--->  Building erlang
Error: Target org.macports.build returned: shell command failed (see log for details)
Error: Failed to install erlang
Log for erlang is at: 
Error: The following dependencies were not installed: erlang libxslt libxml2
Error: Status 1 encountered during processing.
To report a bug, see <http://guide.macports.org/#project.tickets>

エラーだ〜

erlangでエラーになったみたい。

erlang だけインストールしてみる。

	
$ sudo port install erlang
--->  Computing dependencies for erlang
--->  Building erlang
Error: Target org.macports.build returned: shell command failed (see log for details)
Error: Status 1 encountered during processing.
To report a bug, see <http://guide.macports.org/#project.tickets>
$ 

失敗。ググッてみたらLionのmacportでどうもおかしいみたい。
Portをやめてソースコードからmakeしてインストールしてみる。
http://www.erlang.org/download.html
Source Fileをダウンロードして解凍

	
$ tar zxvf otp_src_R14B04.tar.gz 
$ cd otp_src_R14B04
$ ./configure --enable-hipe
$ make
$ sudo make install
$ erl -version
Erlang (SMP,ASYNC_THREADS,HIPE) (BEAM) emulator version 5.8.5
Dongri-Jin:otp_src_R14B04 jp61077$ 
$ which erl
/usr/local/bin/erl
$ 

sudo port install rabbitmq-server 再挑戦みたけど駄目だった。やっぱり、erlangはmacportでインストールしないと駄目っぽい

	
$ sudo port -f -v install erlang +odbc
....

$ erl -version
Erlang (SMP,ASYNC_THREADS,HIPE) (BEAM) emulator version 5.8.5
$ which erl
/opt/local/bin/erl
$ 

成功したようだ。
再挑戦

	
$ sudo port clean rabbitmq-server
Password:
--->  Cleaning rabbitmq-server
$ sudo port install rabbitmq-server

--->  Creating launchd control script
###########################################################
# A startup item has been generated that will aid in
# starting rabbitmq-server with launchd. It is disabled
# by default. Execute the following command to start it,
# and to cause it to launch at startup:
#
# sudo port load rabbitmq-server
###########################################################
--->  Installing rabbitmq-server @2.6.1_0
--->  Activating rabbitmq-server @2.6.1_0
--->  Cleaning rabbitmq-server
$ 

成功!

サーバーを起動

	
$ sudo rabbitmq-server