使用VMware安裝Hadoop全過程

來源:互聯網
上載者:User

前言:  

    從七月中旬開始大規模學習hadoop平台搭建過程,雖然現在看來,解決很實現的問題並不多,但是對於一個以前沒有接觸過linux、java和雲端運算平台的人來說,確實也花了一段時間。最大的感慨是,各種工具的版本問題,十分重要,Vmware、ubuntu、jdk、hadoop、hbase、zookeeper,任何一種的版本問題都是致命的。

     剛開始我是照著劉鵬老師的《雲端運算》第二版做實驗的。裡面貌似很簡單的一句話,我要花整整一天的時間去實現。比如:

    1、虛擬機器的使用問題,最新版的Vmware裡,安裝Vmware-tools後,死活出現不了/mnt/hgfs/share目錄,沒有共用資料夾,就沒法搞到各種軟體(雖然現在知道其實虛擬機器直接可以上網下,但剛開始我就認為各種軟體只能通過與主機的共用獲得)我就一直找問題,用盡了各種方法,幾乎對於有Vmware-tools安裝的網頁都被我百度過。最後極端抑鬱,乾脆換箇舊點的Vmware試試,採用了Mware-workstation-full-7.1.1-282343.exe
,換過之後,當在命令列裡 cd  /mnt/hgfs 有出現時,那種激動的心情無法言表。但是我沒有意識到,還有更大的問題在後邊等著我。

   2、安裝jdk,java環境的配置,其實現在看起來很簡單的問題,就是在/ect/profile檔案裡把我們安裝的各種工具的路徑寫進去而已。但是剛開始一頭霧水的我,總是不小心將路徑寫錯,最後還得一遍遍的反過來修改。

    3、關於linux各種檔案的許可權問題。剛開始使用普通使用者,總是提示許可權不夠,最後我懶得使用sudo命令,直接跳入root使用者,一直用它解決問題。而這個習慣,恰恰造成了再後面使用hbase時的巨大問題出現,這是後話。

   閑話不扯,進入實驗過程。

使用的各種版本: 

  1)VMware-workstation-full-7.1.1-282343.exe  建議不要漢化,最新版本有問題

  2)ubuntu-10.04.1-desktop-i386.iso 

  3)hadoop-0.20.2.tar.gz

實驗過程  

一、更改root使用者密碼:

sudo passwd root    更改root密碼

su root    進入root使用者

二、安裝虛擬機器工具:

1、mount -o,loop /dev/cdrom /mnt  這句話的意思是把光碟機掛載到/mnt目錄之下

2、cd /mnt      進入到掛載目錄下

3、tar zxvf VmwareTools-8.4.2-261024.tar.gz -C ~

       把 VmwareTools-8.4.2-261024.tar.gz解壓到/root目錄下,C大寫

4、./vmware-install.pl          在/root/vmware-tools-distrib目錄下運行安裝檔案

5、一路斷行符號或者yes

6、重啟系統,並且在VM Setting裡去掉對光碟片的關聯,同時設定共用資料夾 

7、/usr/bin/vmware-config-tools.pl是設定檔的位置和名稱,進行對共用資料夾的配置,需要用root使用者,仍然是一路斷行符號、yes、no

8、cd  /mnt/hdfs/share  存在檔案夾,表示安裝虛擬機器工具成功

三、安裝SSH

sudo apt-get install ssh

四、安裝與配置JAVA

1、在/usr目錄下,建立java檔案夾:mkdir java     需要用root使用者

2、在/usr/java目錄下,運行:/mnt/hgfs/share/jdk-6u26-linux-i586.bin

輸入java javac java -version 版本有資訊

3、安裝vim軟體,方便以後編輯檔案 apt-get  install vim    (強烈建議安裝,因為vi工具使用起來很不方便)

4、配置java環境:

   1)vim /etc/profile  編輯profile檔案

   2)在檔案末尾加入如下資訊:

JAVA_HOME=/usr/java/jdk1.6.0_26
JRE_HOME=/usr/java/jdk1.6.0_26/jre
CLASSPATH=.:$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATH
PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH
export JAVA_HOME
export JRE_HOME
export CLASSPATH
export PATH

  3)編輯完畢 :wq 儲存 退出

五、安裝Hadoop

1、將安裝包 hadoop-0.21.0.tar.gz 拷貝至 /usr 下

cp /mnt/hgfs/share/hadoop-0.20.2.tar.gz  /usr

2、/usr目錄下解壓包:tar -zvxf hadoop-0.20.2.tar.gz

解壓完畢,出現檔案夾:hadoop-0.20.2

六、配置Hadoop

1、配置Hadoop環境參數:

vim /etc/profile

加入以下資訊
:wq 儲存 退出

2、reboot 重啟電腦

  輸入 hadoop version 出現版本資訊 安裝完畢

3、編輯usr/hadoop2-0.20.2/conf/hadoop-env.sh檔案

  vim conf/hadoop-env.sh

 

七、單機模式

1、在usr/ usr/hadoop2-0.20.2目錄下用root使用者:

2.查看結果    cat output/*

八、偽分布模式

1、hadoop配置:

1)core-site.xml文檔內容,(位置在vim /usr/hadoop-0.20.2/conf/core-site.xml)

 

2)hdfs-site.xml文檔內容:

3)mapred -site.xml文檔內容:

2、免密碼SSH設定:

1)產生金鑰組:ssh-keygen –t rsa

一路斷行符號,檔案儲存在/root/.ssh裡

2)進入.ssh目錄,執行命令:

cp id_rsa.pub authorized_keys

ssh localhost

3、Hadoop運行

1)格式化Distributed File System,在usr/hadoop2-0.20.2目錄下:

bin/hadoop namenode –format

2)啟動hadoop守護進程,啟動五個進程:

bin/start-all.sh

3)運行WordConut執行個體:

      將本地系統中的input目錄複寫到HDFS的根目錄下,重新命名為in,運行Hadoop內建的WordConut執行個體。Out為資料處理完後的輸出目錄,預設為在Hadoop的根目錄下,運行之前必須清空或者刪除out目錄,否則會報錯。

4)任務執行完,查看資料處理結果:

 

也可以把輸出檔案從HadoopDistributed File System複製到本地檔案系統查看

5)停止Hadoop守護進程。

bin/stop-all.sh

九、完全分布模式

1、配置各個機子的IP地址值:

在這裡,一共設定了三個機子,unbuntunamenode、unbuntu1、unbuntu2

unbuntunamenode:192.168.122.136

unbuntu1配置:192.168.122.140

Unbuntu2配置:192.168.122.141

它們的子網路遮罩都為:255.255.255.0,網關為192.168.122.255。(注意,一旦修改了etho的IP,就無法連上外網)

2、配置NameNode和DataNode的hosts:(最好保持一致)

把unbuntunamenode作為NameNode,配置其/etc/hosts,需要在檔案中添加叢集中所有機器的IP地址機器對應的主機名稱

使用scp命令,將/etc/hosts拷貝到其他節點:

  scp /etc/hosts   ub1-deskop:/etc

  scp /etc/hosts  ub2-desktop:/etc

3、SSH配置,為了實現在機器之間執行指令時不需要輸入密碼:

1)在所有的機器上建立.ssh目錄,執行:mkdir .ssh

2)在unbuntunamenode上產生金鑰組,執行:ssh-keygen –t ras

一路enter,就會按照預設的選項將產生的金鑰組儲存在.ssh/id_rsa檔案中

3)在unbuntunamenode上執行:

cd ~/.ssh

cp id_rsa.pub authorized_keys

scp authorized_keys ub1-desktop:/home/grid/.ssh

scp authorized_keys ub2-desktop:/home/grid/.ssh

4)進入所有機器的.ssh目錄,改變authorized_keys檔案的許可許可權:

4、配置Hadoop:

在namenode機子上,確保hadoop已經安裝

1)編輯core-site.xml、hdfs-site.xml和mapred -site.xml

2)、編輯conf/masters,修改為master的主機名稱,加入:192.168.122.136(或者ubn)

3)編輯conf/slaves,加入所有slaves的主機名稱,即ub1、ub2

     192.168.122.140

      192.168.122.141

4)把namenode的設定檔複製到其他機器上

scp –r  hadoop2-0.20.2 ub1-desktop:/usr/

scp –r  hadoop2-0.20.2 ub2-desktop:/usr/

5、Hadoop運行

格式化Distributed File System:bin/hadoop namenode -format

啟動Hadoop守護進程:bin/start-all.sh

並用jps命令檢測啟動情況:/usr/java/jdk1.6.0_26/bin/jps

6、測試wordcount案例

1)將本地的input檔案夾複製到HDFS根目錄下,重新命名為in:

  bin/hadoop dfs –put input in

2)運行案例:

bin/hadoop jar hadoop2-0.20.2-examples.jar wordcount in out

3)查看處理結果:

bin/hadoop dfs –cat out/*

4)停止Hadoop守護進程

bin/stop-all.sh

7、HDFS裡的一些常用命令:

1)刪除HDFS根目錄下的檔案:bin/hadoop dfs –rmr in

2)bin/hadoop dfsadmin –help 能列出當前所支援的所有命令

3)bin/hadoop dfsadmin –report查看namenode日誌

4)關閉安全模式:

bin/hadoop dfsadmin –safemode leave

5)進入安全模式:

bin/hadoop dfsadmin –safemode enter

6)負載平衡:

bin/start-balancer.sh

7)基準測試:

bin/hadoop jar hadoop2-0.20.2-test.jar TestDFSIO –write –nrFile 20 –filezize 200

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.