一、Hadoop的優勢
1)高可靠性:因為Hadoop假設計算元素和存儲會出現故障,因為它維護多個工作數據副本,在出現故障時可以對失敗的節點重新分布處理。
2)高擴展性:在集群間分配任務數據,可方便的擴展數以千計的節點。
3) 高效性:在MapReduce的思想下,Hadoop是並行工作的,以加快任務處理速度。
4)高容錯性:自動保存多份副本數據,並且能夠自動將失敗的任務重新分配。
二、Hadoop組成
1)Hadoop HDFS:一個高可靠、高吞吐量的分布式文件系統。
2)Hadoop MapReduce:一個分布式的離線並行計算框架。
3)Hadoop YARN:作業調度與集群資源管理的框架。
4)Hadoop Common:支持其他模塊的工具模塊。
2.1 HDFS(Hadoop Distributed File System)架構概述
1)NameNode(nn):存儲文件的元數據,如文件名,文件目錄結構,文件屬性(生成時間、副本數、文件權限),以及每個文件的塊列表和塊所在的DataNode等。
2)DataNode(dn):在本地文件系統存儲文件塊數據,以及塊數據的校驗和。
3)Secondary NameNode(2nn):用來監控HDFS狀態的輔助后台程序,每隔一段時間獲取HDFS元數據的快照。
2.2 YARN架構概述
1)ResourceManager(rm):處理客戶端請求、啟動/監控ApplicationMaster、監控NodeManager、資源分配與調度;
2)NodeManager(nm):單個節點上的資源管理、處理來自ResourceManager的命令、處理來自ApplicationMaster的命令;
3)ApplicationMaster:數據切分、為應用程序申請資源,並分配給內部任務、任務監控與容錯。
4)Container:對任務運行環境的抽象,封裝了CPU、內存等多維資源以及環境變量、啟動命令等任務運行相關的信息。
2.3 MapReduce架構概述
MapReduce將計算過程分為兩個階段:Map和Reduce
1)Map階段並行處理輸入數據
2)Reduce階段對Map結果進行匯總
三、Hadoop環境搭建
1 虛擬機網絡模式設置為NAT


最后,重新啟動系統。
2.修改為靜態ip
1)使用命令 vim /etc/sysconfig/network-scripts/ifcfg-eth0
2)修改選項有五項:
IPADDR=192.168.110.61
GATEWAY=192.168.110.2
ONBOOT=yes
BOOTPROTO=static
DNS1=192.168.110.2

修改完成后保存退出(:wq )
3)執行service network restart
4)如果報錯,reboot,重啟虛擬機
3.修改主機名
1)修改linux的hosts文件
(1)進入Linux系統查看本機的主機名。通過hostname命令查看

(2)如果感覺此主機名不合適,我們可以進行修改。通過編輯/etc/sysconfig/network文件

(3)修改后保存退出
(4)編輯
vim /etc/hosts

(5)並重啟設備,重啟后,查看主機名,已經修改成功
4.關閉防火牆
1)查看防火牆開機啟動狀態
chkconfig iptables --list
2)關閉防火牆
chkconfig iptables off
5.安裝jdk
1)卸載現有jdk
(1)查詢安裝jdk的版本:
java -version
(2)查詢是否安裝java軟件:
rpm -qa|grep java
(3)如果安裝的版本低於1.7,卸載該jdk:
rpm -e 軟件包
2)用filezilla工具將jdk導入到usr目錄下面的java文件夾下面
3)在linux系統下的usr目錄中查看軟件包是否導入成功(使用.gz包或者.rpm包,本處使用.rpm包)。

4).gz包使用命令 tar -zxf jdk***.gz 解壓到當前目錄; .rpm包使用命令 rpm -ivh jdk***.rpm 進行安裝.
5)配置jdk環境變量
(1) 先獲取jdk路徑:使用命令pwd

(2)打開/etc/profile文件:
vi /etc/profile
在profie文件末尾添加jdk路徑:
#set java environment
JAVA_HOME=/usr/java/jdk1.8.0_171-amd64
JRE_HOME=/usr/java/jdk1.8.0_171-amd64/jre
CLASS_PATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib
PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin
export JAVA_HOME JRE_HOME CLASS_PATH PATH
(3)保存后退出:
:wq
(4)讓修改后的文件生效:

6)重啟(如果java –version可以用就不用重啟):
7) 測試jdk安裝成功

四、安裝Hadoop
1)通過用filezilla工具將Hadoop導入/usr/local/src/中,官方下載地址:http://mirrors.shu.edu.cn/apache/hadoop/common/

2)解壓安裝文件 tar -zxf hadoop-2.7.6.tar.gz
3)配置hadoop中的hadoop-env.sh
(1)Linux系統中獲取jdk的安裝路徑:

(2)進入 hadoop-2.7.6/etc/hadoop/中 ,修改hadoop-env.sh文件中JAVA_HOME 路徑:
export JAVA_HOME=/opt/module/jdk1.7.0_79
4)將hadoop添加到環境變量
(1)獲取hadoop安裝路徑:

(2)打開/etc/profile文件:
在profie文件末尾添加hadoop路徑:
#HADOOP_HOME
export HADOOP_HOME=/usr/local/src/hadoop-2.7.6
export PATH=$PATH:$HADOOP_HOME/bin
export PATH=$PATH:$HADOOP_HOME/sbin
(3)保存后退出:
:wq
(4)讓修改后的文件生效:

(5)使用hadoop查看是否安裝成功,如果hadoop命令不能使用則重啟再查看。

