Hadoop 0.20.2+Ubuntu13.04配置和WordCount測試

事實上這篇博客寫的有些晚了。以前作過一些總結後來學校的事給忘了,這幾天想又一次拿來玩玩發現有的東西記不住了。翻博客發現竟然沒有。好吧,因此趕忙寫一份留着本身用吧。這東西網上有很是多,只是也不是全然適用。因此仍是本身留一份吧,廢話完成。java

因爲以前留的資料室寫在記事本上的。因此沒有圖片= =node





Full name: MyHadoop
User name: uit
Password: 000


系統:ubuntu13.04
Hadoop版本號:0.20.2

虛擬機:
這個我感受是最主要的了。應該不用多說什麼,虛擬機,我用的是vmware,而後是ubuntu13.04的鏡像,這個不會的話。就隨便問問會的好了,很是好搞的



先裝java環境(這個實在ubuntu13.04下裝的,與如下的就路徑不一樣而已)
1.首先確認jdk的包在你u盤或者硬盤裏
2.把u盤裏的壓縮包拷到這個的目錄下------cp -r /media/uit/MyDisk/Hadoop/jdk-7u45-linux-i586.tar.gz 


/usr/lib/jvm(需要注意的是,這個版本號的ubuntu是自帶jdk的。只是。我仍是本身裝了一次,因爲自帶的路徑不知道在哪


,仍是本身裝一遍吧)
3.進入到目錄下--cd /usr/lib/jvm;
4.解壓這個包-----       sudo   tar -zxvf jdk-7u45-linux-i586.tar.gz   不寫別的路徑,就是直接解壓到當前文件夾


。假設要解壓到別的文件夾在後面加上就能夠(假設解壓的時候需要權限的話。輸入sudo -s 而後輸入你的登陸password就能夠)
5.解壓完後--sudo gedit /etc/profile
6.在最後面加上-------#Set Java Environment
export JAVA_HOME=/usr/lib/jvm/jdk1.7.0_45
export CLASSPATH=$CLASSPATH:$JAVA_HOME/lib:$JAVA_HOME/jre/lib
export PATH=$PATH:$JAVA_HOME/lib:$JAVA_HOME/jre/bin:$PATH:$HOME/bin
(這些路徑要依據本身的實際狀況來填寫)


7.改掉系統的默認設置---sudo update-alternatives --install /usr/bin/java java 
 /usr/lib/jvm/jdk1.7.0_45/bin/java 300
      linux

sudo update-alternatives --install /usr/bin/javac javac 
/usr/lib/jvm/jdk1.7.0_45/bin/javac 300


    sudo update-alternatives --config java(這裏假設裝ubuntu已經自帶jdk的話會讓你作出選擇。這裏選本身裝的jdk那個選項)

    sudo update-alternatives --config javac


8.輸入java -version能看到版本號信息就能夠:
java version "1.7.0_45"
Java(TM) SE Runtime Environment (build 1.7.0_45-b18)
Java HotSpot(TM) Client VM (build 24.45-b08, mixed mode)







/*
裝java環境(這個實在xbuntu 13.10下裝的java環境):
1.首先在ubuntu下創建一個目錄-------cd usr ;  
                    mkdir java;
2.把u盤裏的壓縮包拷到這個的目錄下------cp -r /media/uit/MyDisk/Hadoop/jdk-7u45-linux-i586.tar.gz  /usr/java
3.進入到目錄下--cd java;
4.解壓這個包-----       sudo   tar -zxvf jdk-7u45-linux-i586.tar.gz   不寫別的路徑,就是直接解壓到當前文件夾,假設要解壓到別的文件夾在後面加上就能夠(假設解壓的時候需要權限的話,輸入sudo -s 而後輸入你的登陸password就能夠)
5.解壓完後--sudo gedit /etc/profile
6.在最後面加上-------#Set Java Environment
export JAVA_HOME=/usr/java/jdk1.7.0_45
export CLASSPATH=$CLASSPATH:$JAVA_HOME/lib:$JAVA_HOME/jre/lib
export PATH=$PATH:$JAVA_HOME/lib:$JAVA_HOME/jre/bin:$PATH:$HOME/bin
(這些路徑要依據本身的實際狀況來填寫)


7.改掉系統的默認設置---sudo update-alternatives --install /usr/bin/java javaubuntu

 /usr/java/jdk1.7.0_45/bin/java 300

      sudo update-alternatives --install /usr/bin/javac javac 
/usr/java/jdk1.7.0_45/bin/javac 300

    sudo update-alternatives --config java(這裏假設裝ubuntu已經自帶jdk的話會讓你作出選擇,這裏選本身裝的jdk那個選項)

             sudo update-alternatives --config javac


8.輸入java -version能看到版本號信息就能夠:
java version "1.7.0_45"
Java(TM) SE Runtime Environment (build 1.7.0_45-b18)
Java HotSpot(TM) Client VM (build 24.45-b08, mixed mode)
*/









安裝ssh:(安的時候注意不要在根權限root下安裝,並且必須先於hadoop裝,別裝完hadoop再裝ssh。有可能hadoop執行不起來)
1. sudo apt-get install ssh
    sudo apt-get install rsync
2.執行ssh -version看看是否已經安裝
3.查看ssh的狀態ps -ef | grep ssh------假設有個sshd執行着就說明好用,假設沒有請往下看
4.(假設運行完上面的後查看ssh並無sshd這個進程,進行例如如下操做)--------
①到https://launchpad.net/ubuntu/lucid/i386/openssh-client/1:5.3p1-3ubuntu3下載文件,瀏覽器

下載完後安裝-----cd  /home/uit/Downloads
 sudo dpkg -i openssh-client_5.3p1-3ubuntu3_i386.deb
②到https://launchpad.net/ubuntu/lucid/i386/openssh-server/1:5.3p1-3ubuntu3下載文件,ssh

完後安裝------sudo dpkg -i openssh-server_5.3p1-3ubuntu3_i386.deb
③到https://launchpad.net/ubuntu/lucid/i386/ssh/1:5.3p1-3ubuntu3下載文件,jvm

完後安裝----sudo dpkg -issh_5.3p1-3ubuntu3_all.deb
需要注意的是有時候安裝第二三步的時候會出錯。提示一個錯誤,我剛開始裝的也出錯了。這時候可以用命令行


下載一個東西----apt-get install libssl0.9.8,而後再又一次運行上面的命令(不用在下載了)
④這些都下完裝完後,執行ssh-------cd /etc/init.d
       ./ssh start
⑤OK,在執行ps -ef | grep ssh看看,此時應該就有sshd這個進程了


⑥配置文件改動------------------gedit /etc/ssh/sshd_config
(要確保這些字符前無凝視符號「#」)
RSAAuthentication  yes
PubkeyAuthentication yes
AuthorizedKeysFile  .ssh/authorized_keys
PasswordAuthentication yes
PeimitEmptyPasswords yes


5.配置無password登陸
①首先看看是否在根目錄下有沒有.ssh目錄--------ll /home/uit,有。下一步;沒有,建立------mkdir ~/.ssh
②建立密匙---------ssh-keygen -t rsa(這裏會讓你填一個保存密匙的文件,就把括號妮的那個便可)
③cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
④chmod 600 ~/.ssh/authorized_keys
6.命令行-----ssh localhost---------------第一次會出來讓你輸入yes或則on。這裏輸yes,我配的時候第一次進的時候


要輸password,我一路回車。後來我關機,而後開機後再試好像就不用了- -,好奇妙的說。oop

。。。
7.成功----------------    uit@ubuntu:~/.ssh$ ssh localhost
Welcome to Ubuntu 13.04 (GNU/Linux 3.8.0-19-generic i686)


* Documentation:  https://help.ubuntu.com/


288 packages can be updated.
178 updates are security updates.


New release '13.10' available.
Run 'do-release-upgrade' to upgrade to it.


Last login: Fri Dec 20 19:56:36 2013 from localhost












裝hadoop:(網上說hadoop必須和ssh都裝在/home/username/下,否則配置無password登錄hadoop時,仍然要輸入password。但是現


在沒有裝在同文件夾下,再裝的時候要注意)
(首次裝的是hadoop0.20.2版本號)
1.把u盤裏的壓縮包拷到這個的/home/uit目錄下------cp -r /media/uit/MyDisk/Hadoop/hadoop.zip   /home/uit
2.解壓那個zip文件----- unzip hadoop.zip   以後會出來一個目錄。裏面還包括一個  hadoop0.20.2.tar.gz和兩個亂


碼文件
3.把那個hadoop-0.20.2.tar.gz取出來------cp -r /home/uit/hadoop/hadoop-0.20.2.tar.gz /home/uit
4.解壓hadoop-0.20.2.tar.gz--------tar -zxvf hadoop-0.20.2.tar.gz(我在ubuntu13.04下試的。在根目  錄下不能直


接解壓,不知道怎麼回事,但可以變一下,可以現在剛纔的目錄裏面解壓,而後把解壓完的拿出  來)(彷佛是因爲我所


在的cd路徑是在/home/uit/hadoop裏,假設切換成根路徑下,就試的沒問題了)
5.解壓完後刪除無用的文件-------rm -r /home/uit/hadoop.zip
rm -r  /home/uit/hadoop
rm -r /home/uit/hadoop-0.20.2.tar.gz
6.改動hadoop中的java路徑---------cd /home/uit/hadoop-0.20.2/conf
gedit hadoop-env.sh-----------------在最後面加上 export


JAVA_HOME=/usr/lib/jvm/jdk1.7.0_45
(假設用gedit無用的話就關閉終端而後再開一個終端)
gedit core-site.xml-------------------增長一個子元素
<property>
<name>fs.default.name</name>
<value>hdfs://localhost:9000</value>
</property>
<property>()
  <name>hadoop.tmp.dir</name>
  <value>/home/uit/hadoop-0.20.2/tmp</value>
  <description>A base for other temporary 


directories.</description>
</property>
那個hadoop.tmp.dir不配置的話會致使從新啓動後hadoop沒法使用。還得刪掉原來的tmp文件,在格


式化文件系統,在start-all.sh 才幹用,這裏糾結了我很久= =(這個文件如下會建立的,不急)


gedit hdfs-site.xml-------------------增長一個子元素
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
gedit mapred-site.xml-------------增長一個子元素
<property>
<name>mapred.job.tracker</name>
<value>localhost:9001</value>
</property>


7.給用戶分配目錄的讀權限----------------sudo chown -R uit:uit /home/uit/hadoop-0.20.2 
權限這着實讓我蛋疼了好一段時間。總覺得是本身沒配好,原來是權限沒弄好,後來才發現解壓完後權


限什麼的都有,就是因爲沒加這一句。加上就行了,都屬於當前用戶


8.改動環境變量-------------------gedit /etc/profile---------------在最後面加上# set hadoop path
export HADOOP_HOME=/home/uit/hadoop-0.20.2
export PATH=$PATH:$HADOOP_HOME/bin(需要注意的是。如


果加上這個,就不用在打命令的時候前面加bin/了。有的書上命令都是以bin/開頭,緣由是環境變量裏沒有加)


9.改動完環境變量後更新一下----------------source /etc/profile


10.建立一個緩衝文件------------------mkdir /home/uit/hadoop-0.20.2/tmp

11.格式化hadoop文件系統-----------------------hadoop namenode -format
12.開啓線程----------------------start-all.sh
13.配置完畢,驗證,在瀏覽器裏輸入http://localhost:50030/  (mapreduce的頁面)     http://localhost:50070(hdfs的頁面)
(裝ssh的時候出了點問題。因此最後啓動線程的時候提示有錯誤,但是仍然能出來頁面= =!)post


14。最後需要注意的是,關機前,必定要注意stop-all.sh,否則在打開虛擬機。否則,。。反正我當時是一萬僅僅神獸奔騰而過
(有時候啓動後在瀏覽器裏打不開hdfs的界面。可以再次運行格式化文件系統,在從新啓動,假設還不行就上網搜。一般是那個id不匹配需要改)




15.執行WordCount樣例
①首先你得確保有個程序的jar包,沒有的話就自行上網搜
②而後在主機裏建立兩個文件------mkdir ~/input
vi ~/input/file01.txt--------隨便輸寫內容
vi ~/input/file02.txt--------隨便輸入
③在hadoop裏建立目錄-------hadoop fs -mkdir /tmp/input
④把以前的兩個文件傳進去-----hadoop fs -put ~/input/file0*.txt /tmp/input
⑤查看一下-----------hadoop fs -ls /tmp/input  應該就有了兩個文件
⑥執行程序(jar包)----hadoop jar ~/hadoop-0.20.2/hadoopFirstDemo.jar WordCount


/tmp/input /tmp/output01
(7)查看結果 ----hadoop fs -ls /tmp/output01 
hadoop fs -cat /tmp/output01/part-00000




總算。。。總算把這個玩意配好了,╮(╯▽╰)╭。開源的東西的嘛。,習慣就好


=。 =,。中間也是經歷很是多波折。讓我學到了很是多。只是當結果出來的時候仍是心中好處一口氣,這樣的感受
僅僅有感覺過的童鞋才明確啊。,但願假設之後有人看到過這個東西的話,我僅僅能說。加油,學長僅僅能幫你到這了。。
2013年12月21日16:08:58 wsr
ui

相關文章
相關標籤/搜索