Mac OS Hadoop Mahout安裝
1. 下載Hadoop,Mahout:
可以直接從labs.renren.com/apache-mirror/hadoop和labs.renren.com/apache-mirror/mahout下載
2. 配置Hadoop設定檔:
(1) 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>fs.default.name</name> <value>hdfs://localhost:9000/</value> </property> </configuration>
(2) 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>
(3) 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>
(4) 在 hadoop-env.sh檔案末尾加入以下配置資訊:
export JAVA_HOME=/System/Library/Frameworks/JavaVM.framework/Versions/1.6.0/Home export HADOOP_INSTALL=/Users/alex/Documents/DevRes/hadoop-0.21.0 export PATH=$PATH:$HADOOP_INSTALL/bin
3. 配置SSH
在系統喜好設定->共用裡勾選'遠程登入'選項
配置無密鑰登陸:
(1) 產生密鑰(公開金鑰):
ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa
ssh-keygen代表產生密鑰;-t表示指定產生的密鑰類型;dsa是dsa密鑰認證的意思,即密鑰類型;-P用於提供密語;-f指定產生的密鑰檔案
(2) 把公開金鑰加入認證檔案中:
cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys
設定完成後用SSH登陸本機就不會要求輸入密碼
4. 運行Hadoop:
格式化:
bin/hadoop namenode -format
啟動所有進程:
bin/start-all.sh
如果報錯:
Unable to load realm info from SCDynamicStore
則在hadoop-env.sh檔案末尾加入:
export HADOOP_OPTS="-Djava.security.krb5.realm=OX.AC.UK -Djava.security.krb5.kdc=kdc0.ox.ac.uk:kdc1.ox.ac.uk"
5. 測試WordCount
首先產生輸入檔案input.txt:
1 hello world2 hello hadoop
在HDFS下建立目錄input:
bin/hadoop fs -mkdir input
將輸入檔案放入該目錄中:
bin/hadoop fs -put input.txt input
執行Hadoop內建的example.jar中的WordCount:
bin/hadoop jar hadoop-version-example.jar wordcount input output
運行結果會放入output檔案夾中,顯示該檔案夾中的資訊:
bin/hadoop fs -ls output
會顯示三個檔案:_SUCCESS,_logs,part-r-00000,真正的結果存放在part-r-00000中:
bin/hadoop fs -cat output/part-r-00000
最終的結果為:
hadoop 1hello 2world 1
6. 配置Mahout:
在/etc/profile檔案末尾加入以下配置資訊
export=JAVA_HOME/System/Library/Frameworks/JavaVM.framework/Versions/1.6.0/Home export MAHOUT_HOME=/path/to/mahout
執行bin/mahout --help,如果有協助資訊則說明安裝成功
7. 在Eclipse中配置Hadoop和Mahout
(1) 配置Hadoop和在別的OS下配置Hadoop一樣,都是將Hadoop的Eclipse-plugin的jar包匯入Eclipse的plugin檔案夾,然後在Eclipse的preference->Hadoop Map/Reduce下配置Hadoop的安裝路徑
(2) 配置好Hadoop後,建立一個Map/Reduce工程,然後將mahout目錄下的core,core-job,math,util四個jar包加入到該工程的Build Path中即可
參考文獻:
[1] Mac OS下安裝偽分布式Hadoop
[2] Mac OS下安裝偽分布式Hadoop及Eclipse外掛程式
[3] 配置SSH免密鑰登陸
[4] Unable to load realm info from SCDynamicStore錯誤解決