hadoop安裝部署


hadoop 安裝和部署
安裝目標目錄: /usr/local/hadoop
HDFS數據,Log,臨時數據目錄:/var/local/hadoop/
hadoop 用戶: hadoop
JDK:1.6 版本
 
一,建立用戶hadoop
     大部情況下可以直接在root用戶下安裝,在此處特意建立以hadoop為用戶名進行相關操作
     >useradd hadoop #建立hadoop用戶
     >passwd hadoop  #修改密碼

 

二,安裝JDK。
     建議切換到root 用戶下面安裝JDK,如下圖:
     >su root                                  #切換至root用戶
     >cd software                              #進入安裝的軟件目錄
     >chmod u +x jdk - 6u25 -linux -x64 -rpm.bin     #給*.bin增加可執行權限
     >. /jdk - 6u25 -linux -x64 -rpm.bin             #回車,安裝開始。
   
    JDK安裝完成,並且檢查安裝是否成功。
     >java --versiov
    java version "1.6.0_17" 
    OpenJDK Runtime Environment (IcedTea6 1. 7. 4) (rhel - 1. 21.b17.el6 -x86_64)
    OpenJDK 64 -Bit Server VM (build 14. 0 -b16, mixed mode)
   
    某些情況下,需要手工配置全局的JAVA運行環境,即在/etc/profile中進行配置。
     有時候由於產線或者系統中部署了多個JDK版本,則可以通過~/.bashrc或者~/.bashprofile用來對當前用戶的JDK環境指定。
     關於profile,bashrc等啟動順序,可以自行復習Linux啟動腳本順序。
     如下圖中,主要在/etc/profile中進行全局配置。

     >cd /usr                                    #進入/usr目錄,大部分情況下java都安裝在/usr下面子目錄
     >find -name java                            #查找java安裝路徑
    . /java /jdk1. 6.0_25 /jre /bin /java  
    . /java /jdk1. 6.0_25 /bin /java
     >cd /etc                                    #進入/etc目錄
     >vim profile                                #編輯/etc/profile
 
    在/etc/profile 文件尾追加寫入如下內容:

    JAVA_HOME = /usr /java /jdk1. 6.0_25
    HADOOP_HOME = /usr /local /hadoop 
    HADOOP_CONF_DIR =$HADOOP_HOME /conf
    CLASSPATH =. :$JAVA_HOME /lib :$HADOOP_HOME /lib
    PATH =$PATH :$JAVA_HOME /bin :$JAVA_HOME /jre /bin :$HADOOP_HOME /bin

    export JAVA_HOME 
    export HADOOP_HOME
    export HADOOP_CONF_DIR
    
    讓環境變量生效,如下圖執行:
    source /etc /profile

 

三,設置ssh
    配置本機ssh,使得使用hadoop用戶ssh登陸時不需要提供密碼驗證,對於偽分布式的hadoop部署之需要設置如下信息,則基本ssh配制成功。
     >su hadoop                                        #切換到hadoop用戶
     >ssh -keygen -t dsa -P '' -f ~ /.ssh /id_dsa         #初始化ssh 驗證信息
     > cat ~ /.ssh /id_dsa.pub >> ~ /.ssh /authorized_keys #追加驗證信息到authorized_keys文件
     >chmod 700  ~ /.ssh
     >chmod 600 ~ /.ssh /authorized_keys 
     >ssh localhost                                   #測試本機主機名不需要驗證就可以登錄則成功

   

    如果配置多台機器的cluster完整分布式集群,例如: 
     10. 16. 45. 209 s1
     10. 16. 45. 226 s2
     10. 16. 45. 227 s3
     10. 16. 45. 231 s4

   

    使用如下命令操作加入主機名和IP映射
     >su root
     >vim /etc /hosts

   

    更新類似如下內容:
     10. 16. 45. 209 s1 # Added by NetworkManager
     127. 0. 0. 1 localhost.localdomain localhost
     : : 1 sstrtst20.buyabs.corp sstrtst20 localhost6.localdomain6 localhost6
     10. 16. 45. 226 s2
     10. 16. 45. 227 s3
     10. 16. 45. 231 s4    
     
    分布式SSH設置如下圖,ssh登錄10.16.45.209:
     >su hadoop                                              #切換到hadoop用戶
     >ssh -keygen -t dsa -P '' -f ~ /.ssh /id_dsa               #初始化ssh 驗證信息
     > cat ~ /.ssh /id_dsa.pub >> ~ /.ssh /authorized_keys        #追加驗證信息到authorized_keys文件
     >chmod 700  ~ /.ssh
     >chmod 600 ~ /.ssh /authorized_keys 
     >ssh s1                                                #測試當前主機不需要驗證既可登錄
     >scp ~ /.ssh /id_dsa.pub 10. 16. 45. 226 : /home /hadoop /.ssh /
     >ssh 10. 16.45.226
     >su hadoop
     > cat ~ /.ssh /id_dsa.pub >> ~ /.ssh /authorized_keys        #追加驗證信息到authorized_keys文件
     >ssh s1                                                #測試
    依次將sstrtst20的~/.ssh/id_dsa.pub拷貝到其他ip地址並且追加到authorized_keys文件。
 
四,安裝配置hadoop
 
    解壓縮安裝包並且進行相關配置,如下圖:
     >su root
     >tar xzvf hadoop - 0. 20. 2 -cdh3u1.tar.gz                  #解壓縮
     > mv hadoop - 0. 20. 2 -cdh3u1 hadoop                        #改名
     > mv hadoop /usr /local                                  #移動文件
     >chown -R hadoop :hadoop /usr /local /hadoop              #修改/usr/local/hadoop 目錄以及目錄內容數據hadoop:hadoop用戶/用戶組
     >cd /usr /local /hadoop /conf                            
     >vim hadoop -env.sh                                    
   
    設置hadoop-env.sh內容:
    export JAVA_HOME =$JAVA_HOME
    export HADOOP_CLASSPATH = "$HADOOP_CLASSPATH"
    export HADOOP_HEAPSIZE = 2048
    export HADOOP_LOG_DIR = /var /local /logs
    export HADOOP_PID_DIR = /var /local /pids
   
    設置masters內容
    s1
   
    設置slaves內容
    s1
    s2
    s3
    s4
   
    設置hdfs-site.xml內容
     <configuration > 
       <property >
          <name >dfs.permissions < /name >
          <value >false < /value >
       < /property >
       <property >
          <name >dfs.name.dir < /name >
          <value > /var /local /hadoop /cache /hadoop /dfs /name < /value >
       < /property >
     < /configuration >
   
    設置mapred-site.xml內容
     <configuration >
       <property >
         <name >mapred.job.tracker < /name >
         <value >s1 : 8021 < /value >
       < /property >
     < /configuration >
   
    設置core-site.xml內容
     <configuration > 
       <property >
         <name >fs.default.name < /name >
         <value >hdfs : / /s2 : 8020 < /value >
       < /property >
        <property >
          <name >hadoop.tmp.dir < /name >
          <value > /var /local /hadoop /cache /${user.name} < /value >
        < /property >
       <property >
         <name >webinterface.private.actions < /name >
         <value >true < /value >
       < /property >
     < /configuration >
   
    設置log4j,請自行配置。
    依次將hadoop-env.sh,core-site.xml,hdfs-site.xml,mapred-site.xml,masters,slaves文件分發到其它hadoop node
五,創建hadoop 數據,log,pids目錄
 
    創建hadoop log,pid,hadoop目錄並且設置操作權限,如下:
    >su root
     >mkdir /var /local
     >mkdir /var /local /hadoop
     >mkdir /var /local /logs
     >mkdir /var /local /pids
     >cd /var /local
     >chown -R hadoop :hadoop *
     >chmod ugo +rw *

 

六,啟動准備
     >su hadoop
     >hadoop namenode -format                          #格式化HDFS數據存儲
     >cd /usr /local /hadoop /bin                         #必須在namenode 上啟動
     >sh start -all.sh                                  #啟動
     >hadoop fs - ls /                                  #測試
     >hadoop fs -put demo.txt /user /hadoop /demo.txt    #向HDFS上傳demo.txt並且存儲在/user/hadoop/demo.txt
     >hadoop fs - cat /user /hadoop /demo.txt             #打印
 
七,系統自動啟動
    利用CentOS chkconfig,在/etc/init.d/ 中創建start,stop,restart腳本,利用chkconfig --add 加入服務,利用chkconfig --level on 設置啟動級別。
 
八,觀察hadoop 運行進程
    在namenode上觀察:
     >jps
     14520 NameNode
     15005 TaskTracker
     14641 DataNode
     14881 JobTracker
     7647 Jps
     14790 SecondaryNameNode
   
    在datanode上觀察:
     >jps
     3462 TaskTracker 
     16687 Jps
     3349 DataNode  

 




免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM