1. 程式人生 > >Hadoop單機、偽分散式叢集搭建(十分詳細)

Hadoop單機、偽分散式叢集搭建(十分詳細)

原文地址:http://blog.csdn.net/dr_guo/article/details/50886667

下面我就一邊搭建一邊寫怎麼搭建Hadoop偽分佈模式。

1.下載jdk並安裝

去官網下就可以了,下完之後把檔案移到/opt/Java下

  1. [email protected]:~/下載$ mv ./hadoop-2.7.2-src.tar.gz /opt/Hadoop/  
  2. mv: 無法建立普通檔案"/opt/Hadoop/hadoop-2.7.2.tar.gz": 許可權不夠  
  3. [email protected]:~/下載$ su root #你用sudo也可以,我是直接換到root使用者了,寫順手了  
  4. 密碼:   
  5. [email protected]:/home/guo/下載# mv ./hadoop-2.7.2.tar.gz /opt/Hadoop/  
  6. [email protected]:/home/guo/下載# mv ./jdk-8u73-linux-x64.tar.gz /opt/Java/  
解壓
  1. [email protected]:/opt# cd Java/  
  2. [email protected]:/opt/Java# ll  
  3. 總用量 177072  
  4. drwxr-xr-x 2 root root      4096  3月 14 15:54 ./  
  5. drwxr-xr-x 4 root root      4096  3月 14 15:51 ../  
  6. -rw-rw-r-- 1 guo  guo  181310701  3月 14 15:47 jdk-8u73-linux-x64.tar.gz  
  7. [email protected]:/opt/Java# tar -zxvf jdk-8u73-linux-x64.tar.gz   

修改檔案所有者(使用者:使用者組)

  1. [email protected]:/home/guo# chown -R guo:guo /opt/Java/jdk1.8.0_73/  
  2. [email protected]
    :/home/guo# cd /opt/Java/  
  3. [email protected]:/opt/Java# ll  
  4. 總用量 177076  
  5. drwxr-xr-x 3 root root      4096  3月 14 15:59 ./  
  6. drwxr-xr-x 4 root root      4096  3月 14 15:51 ../  
  7. drwxr-xr-x 8 guo  guo       4096  1月 30 09:53 jdk1.8.0_73/  
  8. -rw-rw-r-- 1 guo  guo  181310701  3月 14 15:47 jdk-8u73-linux-x64.tar.gz  

設定java環境變數

  1. sudo gedit /etc/profile  
在檔案最後加上
  1. #java  
  2. export JAVA_HOME=/opt/Java/jdk1.8.0_73  
  3. export JRE_HOME=/opt/Java/jdk1.8.0_73/jre  
  4. export CLASSPATH=$JAVA_HOME/lib  
  5. export PATH=:$PATH:$JAVA_HOME/bin:$JRE_HOME/bin  
之後更新配置檔案
  1. source /etc/profile  
然後檢視java是否配置成功
  1. [email protected]:~$ java -version  
  2. java version "1.8.0_73"  
  3. Java(TM) SE Runtime Environment (build 1.8.0_73-b02)  
  4. Java HotSpot(TM) 64-Bit Server VM (build 25.73-b02, mixed mode)  
恭喜你第一步已經完成了!

注:ssh 使用者名稱@主機名 ,如果直接ssh 主機名,它會以你那臺機器的當前使用者登入,所以另一臺機器要有同樣的使用者。

從一臺Linux主機登入到另一臺Linux主機上(或傳送一條指令到另外的機器上執行),如果叢集有很多臺機器,你挨個輸密碼肯定不行,所以要配置SSH無密碼登入。

安裝openssh-server

  1. [email protected]:~$ su root  
  2. 密碼:   
  3. [email protected]:/home/guo# apt-get install openssh-server  
建立ssh-key(用rsa這種加密演算法)
  1. [email protected]:/home/guo# ssh-keygen -t rsa  
多次回車即可,然後進入~/.ssh目錄(“.”表示這是一個隱藏檔案)
  1. [email protected]:/home/guo# cd ~/.ssh  
  2. [email protected]:~/.ssh# ll  
  3. 總用量 16  
  4. drwx------ 2 root root 4096  3月 14 16:20 ./  
  5. drwx------ 4 root root 4096  3月 14 16:20 ../  
  6. -rw------- 1 root root 1679  3月 14 16:20 id_rsa  
  7. -rw-r--r-- 1 root root  390  3月 14 16:20 id_rsa.pub  
複製一份,改名為公鑰
  1. [email protected]:~/.ssh# cp id_rsa.pub authorized_keys  
  2. [email protected]:~/.ssh# ll  
  3. 總用量 20  
  4. drwx------ 2 root root 4096  3月 14 16:22 ./  
  5. drwx------ 4 root root 4096  3月 14 16:20 ../  
  6. -rw-r--r-- 1 root root  390  3月 14 16:22 authorized_keys  
  7. -rw------- 1 root root 1679  3月 14 16:20 id_rsa  
  8. -rw-r--r-- 1 root root  390  3月 14 16:20 id_rsa.pub  

修改公鑰許可權(一定要改)

  1. [email protected]:~/.ssh$ chmod 600 authorized_keys #4+2 0 0  
  2. [email protected]:~/.ssh$ ll  
  3. 總用量 56  
  4. drwx------  2 guo guo 4096  3月 15 18:41 ./  
  5. drwx------ 20 guo guo 4096  3月 15 17:56 ../  
  6. -rw-------  1 guo guo  389  3月 15 18:41 authorized_keys  
  7. -rw-------  1 guo guo 1679  3月 15 18:41 id_rsa  
  8. -rw-r--r--  1 guo guo  389  3月 15 18:41 id_rsa.pub  
  9. -rw-r--r--  1 guo guo  444  3月 15 18:37 known_hosts  

然後測試是否成功

  1. [email protected]:~/.ssh$ ssh guo  
  2. Welcome to Ubuntu 15.10 (GNU/Linux 4.2.0-16-generic x86_64)  
  3.  * Documentation:  https://help.ubuntu.com/  
  4. 0 packages can be updated.  
  5. 0 updates are security updates.  
  6. Last login: Tue Mar 15 18:39:56 2016 from 127.0.0.1  
  7. [email protected]:~$ exit  
  8. 登出  
  9. Connection to guo closed.  
  10. [email protected]:~/.ssh$   

3.Hadoop單機模式配置

  1. [email protected]:~/下載$ mv ./hadoop-2.7.2.tar.gz /opt/Hadoop/  
  2. mv: 無法建立普通檔案"/opt/Hadoop/hadoop-2.7.2.tar.gz": 許可權不夠  
  3. [email protected]:~/下載$ su root   
  4. 密碼:   
  5. [email protected]:/home/guo/下載# mv ./hadoop-2.7.2.tar.gz /opt/Hadoop/  
解壓
  1. [email protected]:/opt/Hadoop$ sudo tar -zxf hadoop-2.7.2.tar.gz   
  2. [sudo] guo 的密碼:  
解壓jdk的時候我用的是tar -zxvf,其中的v呢就是看一下解壓的過程,不想看你可以不寫。

修改檔案所有者(使用者:使用者組)

  1. [email protected]:/opt/Hadoop# chown -R guo:guo /opt/Hadoop/hadoop-2.7.2  
  2. [email protected]:/opt/Hadoop# ll  
  3. 總用量 224960  
  4. drwxr-xr-x  4 root root      4096  3月 14 18:14 ./  
  5. drwxr-xr-x  4 root root      4096  3月 14 15:51 ../  
  6. drwxr-xr-x 11 guo  guo       4096  3月 14 21:16 hadoop-2.7.2/  

設定環境變數

  1. [email protected]:/opt/Hadoop$ sudo gedit /etc/profile  
在最後加上(這樣設定在執行bin/sbin目錄下的命令時就不用進入該目錄用了)
  1. #hadoop  
  2. export HADOOP_HOME=/opt/Hadoop/hadoop-2.7.2  
  3. export PATH=$PATH:$HADOOP_HOME/sbin  
  4. export PATH=$PATH:$HADOOP_HOME/bin  
然後更新配置
  1. [email protected]:/opt/Hadoop$ source /etc/profile  

修改/opt/Hadoop/hadoop-2.7.2/etc/hadoop下的hadoop-env.sh

  1. [email protected]:/opt/Hadoop$ cd hadoop-2.7.2  
  2. [email protected]:/opt/Hadoop/hadoop-2.7.2$ cd etc/hadoop/  
  3. [email protected]:/opt/Hadoop/hadoop-2.7.2/etc/hadoop$ sudo gedit ./hadoop-env.sh  
進入檔案後
  1. export JAVA_HOME=${JAVA_HOME}#將這個改成JDK路徑,如下  
  2. export JAVA_HOME=/opt/Java/jdk1.8.0_73  
然後更新檔案配置
  1. [email protected]:/opt/Hadoop/hadoop-2.7.2/etc/hadoop$ source ./hadoop-env.sh  
恭喜你單機模式已經配置好了!這時你就可以執行一下wordcount試試了。

4.Hadoop偽分佈模式配置

修改core-site.xml