Hadoop集羣安裝

Hadoop集羣安裝

1、簡介

Hadoop是一個分佈式系統基礎架構。

Hadoop的框架核心設計是HDFS和MapReduce。HDFS爲海量的數據提供了存儲,則MapReduce爲海量的數據提供了計算。

2、核心架構

MapReduce引擎,該引擎是由JobTrackers和TaskTrackers組成

        

HDFS就想一個傳統的分級文件系統。可以創建、刪除、移動或重命名文件等,但是HDFS是基於一組特定的節點構建,這是由它自身的特點決定的。這些節點包括:

NameNode(僅一個),它在HDFS內部提供元數據服務。

DataNode,它爲HDFS提供存儲塊。

         由於僅存在一個NameNode,因此這個HDFS的一個缺點(單點失敗)。

3、子項目

HDFS:Hadoop分佈式文件系統。

MapReduce:並行計算框架。

Hbase:NoSQL列數據庫。

Hive:數據倉庫工具。

Zookeeper:分佈式鎖設施。

Avro:新的數據序列化格式和傳輸工具,將逐步取代Hadoop原有的IPC機制。

Pig:大數據分析平臺,爲用戶提供多接口。

Ambari:Hadoop管理工具,爲用戶提供多種接口。

Sqoop:於在hadoop與傳統的數據庫間進行數據傳遞。

4、Hadoop的三種運行模式

      單機模式

單機模式是Hadoop的默認模式

 

     因爲不需要與其他節點交互,單機模式就不使用HDFS,也不加載任何Hadoop的守護進程

      所有程序都是在同一個JVM上執行

      該模式主要用於開發調試MapReduce程序的應用邏輯

   僞分佈式

      Hadoop守護進程運行在本地機器上,模擬一個小規模的集羣

      Hadoop的每個守護進程都運行在單獨的Java進程中

   全分佈式

      Hadoop守護進程運行在一個集羣上

      如:集羣環境中,NameNode 和ResourceManager各運行於一臺單獨的主機,作爲master。而其他的主機做爲DataNode和NodeManager,做爲slave。

5、Hadoop集羣安裝

配置SSH免密碼登錄

         ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa

cat~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys

單模式安裝

默認模式

不對配置文件進行修改

使用本地文件系統

Hadoop的守護進行啓動

用於對MapReduce程序的邏輯進行調試

 

僞分佈式安裝

一臺主機模擬多臺主機

每個守護進程都以java進程的形式

代碼調試,檢查內存使用情況

HDFS輸入輸出,以及其他的守護進程交互

修改3個配置文件:core-site.xml、hdfs-site.xml、mapred-site.xml

namered數據格式化

core-site.xml

 fs.defaultFS配置NameNode的URI

     <configuration>

        <property>

            <name>fs.defaultFS</name>

            <value>hdfs://localhost:9000</value>

        </property>

     </configuration>

 hdfs-site.xml

 dfs.replication設置塊的複製數量

     <configuration>

        <property>

            <name>dfs.replication</name>

            <value>1</value>

        </property>

     </configuration>

 mapred-site.xml

 mapreduce.framework.name配置MapReduce應用使用Yarn框架   

     <configuration>

        <property>

     <name>mapreduce.framework.name</name>

                <value>yarn</value>

        </property>

     </configuration>

  yarn-site.xml

  yarn.nodemanager.aux-services:爲NodeManager配置MapReduce應用的Shuffle服務 

     <configuration>

        <property>

            <name>yarn.nodemanager.aux-services</name>

            <value>mapreduce_shuffle</value>

         </property>

     </configuration>

  將hadoop添加到環境變量

exportJAVA_HOME=/usr/java/jdk1.7.0_65
    exportHADOOP_HOME=/itcast/hadoop-2.7.1
    exportPATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin

格式化namenode

hadoop namenode –format

  啓動hadoop

         1、先啓動HDFS  sbin/start-dfs.sh

       2再啓動YARN  sbin/start-yarn.sh

  驗證是否啓動成功

         使用jps命令驗證

http://192.168.20.30:50070(HDFS管理界面)
   http://192.168.20.30:8088(MR管理界面)

 

全分佈式安裝

多臺主機

JDK和Hadoop安裝

設置SSH免密碼登錄

修改3個配置文件:core-site.xml、hdfs-site.xml、mapred-site.xml

namered數據格式化

  1. 配置hosts文件

     vi/etc/hosts

  1. 配置ssh免密碼連入
  1. 下載並解壓hadoop安裝包
  2. 配置namenode,修改site文件
  3. 配置hadoop-env.sh文件
  4. 配置masters和slaves文件
  5. 向各節點複製hadoop
  6. 格式化namenode
  7. 啓動hadoop
  8. 用jps檢驗各後臺進程是否成功啓動
  9. http://master:8088和http://master:50070
  10.  通過網站查看集羣情況

 問題:http://blog.sina.com.cn/s/blog_6fd0fd4b0102v7b9.html

  問題定位:所有namenode目錄、所有datanode目錄、從節點臨時目錄

  問題原因:

1)   主節點的namenode clusterID與從節點的datanodeclusterID不一致

2)   多次格式化了namenode跟datanode之後的結果,格式化之後從節點生成了新的ID,造成不一致

  解決辦法:

1)  在格式化之前,先把所有的服務停掉(stop-dfs.sh、stop-yarn.sh或者stop-all.sh),確保都停掉了之後,分別到所有節點的namenode目錄、datanode目錄、臨時目錄,把以上目錄裏面的所有內容都刪除掉。然後再重新啓動就可以了。

2)  

3)  10.查看Map/Reduce是否正常

4)  參考地址:http://jingyan.baidu.com/article/ce09321b7a2e052bff858fd9.html

 

常用的端口配置

2.1  HDFS端口

 

參數

描述

默認

配置文件

例子值

fs.default.name namenode

namenode RPC交互端口

8020

core-site.xml

hdfs://master:8020/

dfs.http.address 

NameNode web管理端口

50070

hdfs- site.xml

0.0.0.0:50070

dfs.datanode.address

datanode 控制端口

50010 

hdfs -site.xml 

0.0.0.0:50010

dfs.datanode.ipc.address

datanodeRPC服務器地址和端口

50020

hdfs-site.xml

0.0.0.0:50020

dfs.datanode.http.address

datanodeHTTP服務器和端口

50075

hdfs-site.xml 

0.0.0.0:50075

 

2.2  MR端口

參數

描述

默認

配置文件

例子值

mapred.job.tracker

job-tracker交互端口 

8021

mapred-site.xml

hdfs://master:8021/

job

trackerweb管理端口

50030

mapred-site.xml

0.0.0.0:50030

mapred.task.tracker.http.address

task-trackerHTTP端口

50060

mapred-site.xml

0.0.0.0:50060

 

2.3  其它端口

參數

描述

默認

配置文件

例子值

dfs.secondary.http.address

secondary NameNode web管理端口

50090

hdfs-site.xml

0.0.0.0:50090

 

 

 

 

 

 

 

 

 

 

 

            

 

 

 

 

 

 

 

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章