閱讀912 返回首頁    go 阿裏雲 go 技術社區[雲棲]


[Hadoop係列]Hadoop的安裝-3.完全分布模式

  inkfish原創,請勿商業性質轉載,轉載請注明來源(https://blog.csdn.net/inkfish )。

  Hadoop是Apache基金會下的一個開源雲計算平台項目。當前最新版本是hadoop 0.20.1。下麵就hadoop 0.20.1為藍本,介紹在Ubuntu Linux 9.10下安裝hadoop的方法。(來源:https://blog.csdn.net/inkfish)

支持的平台:(來源:https://blog.csdn.net/inkfish)
  Linux,可作為開發和產品部署的平台;
  Windows,可作為開發平台。

事先需要的軟件:(來源:https://blog.csdn.net/inkfish)
  1.JavaTM1.6.x,必須安裝,建議選擇Sun公司發行的Java版本;
  2.ssh必須安裝,並保證sshd運行,hadoop將以ssh進行通訊;
  3.如果是windows,則需要裝Cygwin,用以支持shell命令。

安裝可用的模式:(來源:https://blog.csdn.net/inkfish)
  1.本地模式;
  2.偽分布模式;
  3.完全分布模式。

完全分布模式安裝步驟(這裏的步驟隻讓hadoop能跑,不帶任何調優步驟):

  1.下載並解壓hadoop到集群中某台服務器目標目錄。
  2.配置/etc/hosts文件
    2.1確認集群中所有服務器均有hostname,並記錄IP
    2.2每一台服務器的/etc/hosts文件裏配置hostname和IP對應關係,加快解析速度。
  3.配置SSH免密碼登陸
    3.1每台服務器上運行:
     $ ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa
     $ cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys
   3.2把各台服務器的~/.ssh/authorized_keys文件內容合並到一個總的authorized_keys文件;
   3.3把那個總的authorized_keys文件scp到每台服務器,替換原有的authorized_keys文件;
   3.4互相SSH對方機器,確認SSH登陸不需要密碼
  4.配置各台服務器時間,確保每台服務器時間相同;
  5.配置hadoop
   5.1配置conf/hadoop-env.sh文件
     配置JAVA_HOME一行,配置正確的路徑。
   5.2配置conf/core-site.xml文件

<configuration> <property> <name>fs.default.name</name> <value>hdfs://host:9000</value> </property> </configuration>
        注:這裏的host必須改為對應的namenode的hostname
   5.3配置conf/hdfs-site.xml文件
     如果不修改使用默認設置也可以。
   5.4配置conf/mapred-site.xml文件
<configuration> <property> <name>mapred.job.tracker</name> <value>localhost:9001</value> </property> </configuration>
       注:這裏的host必須改為對應的namenode的hostname

  6.配置conf/slaves和conf/master文件

   slaves文件裏寫datanode的hostname或IP,master裏寫namenode、secondary namenode的hostname或IP,每行寫一個服務器,以#開頭的行視為注釋。
  7.分發hadoop
   直接通過scp,把hadoop整個目錄複製到各台服務器的相同目錄即可
  8.格式化hadoop的namenode
   執行命令:$ bin/hadoop namenode -format
  9.啟動hadoop
   執行命令:$ bin/start-all.sh

  至此,完全分布式安裝完畢,通常啟動到所有服務器完全識別出來需要一定的時間(我這裏是5分鍾左右),要耐心等待,在namenode節點上,打開瀏覽器,輸入https://localhost:50070/即可看到整個hadoop情況,JobTracker情況可以看每一個服務器的https://localhost:50030/。

最後更新:2017-04-02 04:01:44

  上一篇:go 軟件設計漫談之三:30分鍾掌握麵向對象類的設計原則
  下一篇:go 修改DB2控製中心的字體