在Ubuntu10.10中使用hadoop

這是21號和今天的工做日誌:html

14:26 2012-2-21java

#1.安裝VMWare7.1.4(能夠自動聯網,不用本身設置)
   序列號:UF1W2-DCXDK-48ENY-TDNGG-MG0V2

#2.安裝Ubuntu10.10
#3.在Ubuntu中安裝JDK
    1.下載jdk,此處我下載的版本是 jdk-6u31-linux-i586.bin
    2.把jdl複製到想要安裝的目錄:/home/<username>/jdk-6u22-linux-i586.bin
    3.打開終端,輸入如下命令: sudo sh jdk-6u31-linux-i586.bin 輸入密碼便可安裝
    4.到主目錄<username>打開.bashrc。此文件默認是隱藏的,使用Ctrl + H顯示,在文件結尾添加如下2行
   
export JAVA_HOME=/home/<username>/jdk1.6.0_31
PATH=.:$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH

    記得第一行換成你的JDK的安裝目錄。
    5.從新登陸以使修改生效。輸入java -version命令,若是顯示了當前的JDK版本證實安裝成功。
#4.安裝eclipse
   直接解壓下載的eclipse(eclipse-jee-europa-winter-linux-gtk.tar.gz)到主目錄.
  
   ########啓動報錯:A Java Runtime Environment (JRE) or Java Development Kit (JDK)
must be available in order to run Eclipse. No Java virtual machine
was found after searching the following locations:
/home/wjk/eclipse/jre/bin/java
java in your current PATH

緣由1:版本問題:查看系統版本:
   #查看long的位數,返回32或64
   getconf LONG_BIT
   #查看文件信息,包含32-bit就是32位,包含64-bit就是64位
   file /sbin/init   ==發現系統是32位,可是i386的系統是能夠裝i586的jdk的
  
   JDK下載版本:普通x86是32位的  
   Linux x86    81.34 MB        jdk-6u31-linux-i586.bin
 
   eclipse下載版本: 也是32位的
   eclipse-jee-europa-winter-linux-gtk.tar.gz
緣由2:鏈接問題( 解決

   在終端進入你的eclipse目錄,而後輸入:
   mkdir jre
   cd jre
   ln -s 你的JDK目錄/bin bin
問題就解決了。

#5.在Ubuntu中安裝hadoop
參考:http://jinghong.iteye.com/blog/1051732  
http://www.michael-noll.com/tutorials/running-hadoop-on-ubuntu-linux-single-node-cluster/
1.安裝SSH  sudo apt-get install ssh
  報錯:沒法得到鎖/var/lib/dpkg/lock - open,查明後是由於我同時開了Ubuntu SoftWare Center下載着Chrome瀏覽器,下載完軟件中心自動退出,再次運行就沒錯誤了。

 

2.按照文檔中的配置,個人用戶是wjk,hadoop也是安裝在wjk的目錄下,而後照個文檔又建了一個hadoop用戶,hadoop臨時文件的存放目錄是/hadoop,而後就引來一堆權限問題,後臺索性不用hadoop用戶了,把權限都給了wjk用戶就能夠了。node


3.啓動hadoop時看着沒問題,可是jsp只有3行(DataNode,SecondaryNameNode,Jps),stop-all.sh時發現問題:no jobtracker to stop no namenode to stop 查看了下日誌,發現問題居然是沒有格式化。從新運行了下./hadoop namenode -format 仔細看才發現沒有返回successful,返回的是format aborted in ,查找了下相關緣由,原來是由於我在/下創建hadoop文件夾是同時建立了name,data,tmp三個文件夾。刪除,而後從新格式化再重啓就沒有問題了,jps和stop 都OK。
     參考:http://blog.sina.com.cn/s/blog_48a45b9501011z7d.html

4.爲了執行CountWord,在hdfs上新建目錄./hadoop dfs -mkdir test,返回INFO security.UserGroupInformation: JAAS Configuration already set up for Hadoop.

5.暫時不處理錯誤4,將文件上傳到HDFS,./hadoop dfs -put /home/wjk/hadoop/testin/*.* test
又報錯了:File /hadoop/tmp/mapred/system/jobtracker.info could only be replicated to 0 nodes, instead of 1再從新刪除/hadoop文件夾下的全部內容,從新格式化,OK。
      參考:http://39382728.blog.163.com/blog/static/3536006920119138521390/

6.執行wordcount也成功了,這回再繼續處理錯誤4。只找到一篇 https://groups.google.com/a/cloudera.org/group/cdh-user/browse_thread/thread/ec452e2c035197b1/4cb10d7fa636f276?lnk=raot,須要翻**牆才能打開
http://smarthosts.sinaapp.com/hostsp_auto.exe下載安裝便可不須要重啓,我很喜歡的一個工具
。原來這只是一個debug信息,若是實在想去掉查看這裏https://issues.cloudera.org/browse/DISTRO-373。

7.eclipse插件。cloudera CH3U3版的contrib目錄下沒有eclipse-plugin文件夾,也沒有jar包,只有一個.eclipse.templates文件夾,查各類資料都沒找到用法。無奈之下隨便寫了一個cdh3u0的插件, http://tch.ug/demos/hadoop-eclipse-plugin-0.20.2-cdh3u0.jar居然也能夠用。

8.樂極生悲,eclipse插件只能顯示出HDFS,不能直接執行run on hadoop。因而想到老辦法,仍是先寫程序,打jar包而後放到利用./hadoop jar ./../WordCount.jar WordCount testin testout的命令執行。

 

9.爲了方便打jar包,使用fat jar這個插件。參考文章:http://hi.baidu.com/yjlnge/blog/item/fb8aead538beb8c350da4b33.htmllinux

10.有種過關斬將的感受,這一路下來總算是成功的執行了wordCount和packageCount,下一站繼續Hive!ubuntu

相關文章
相關標籤/搜索