Linux系統安裝Hadoop

Hadoop包括3種安裝模式:

單機模式:只在一臺機器上運行,存儲採用本地文件系統,沒有采用分佈式文件系統HDFS;

僞分佈式模式:存儲採用分佈式文件系統HDFS,但是HDFS的名稱節點和數據節點都在同一臺機器上;

分佈式模式:存儲採用分佈式文件系統HDFS,而且HDFS的名稱節點和數據節點位於不同機器上。

一、下載安裝文件

我們在這裏選擇下載2.7.7版本的Hadoop作爲示例,也可酌情選擇下載其他版本:

①進入Hadoop官網安裝文件下載地址:http://mirrors.cnnic.cn/apache/hadoop/common/,點擊hadoop-2.7.7/:
在這裏插入圖片描述
②點擊下載hadoop-2.7.7.tar.gz:
在這裏插入圖片描述
③打開Linux終端,進入剛纔下載文件所在的目錄,通過下列命令將下載文件解壓並保存到/usr/local/目錄下:

sudo tar -zxf hadoop-2.7.7.tar.gz -C /usr/local/

④進入/usr/local/目錄,通過下列命令修改文件夾名:

sudo mv ./hadoop-2.7.7/ ./hadoop/

⑤通過下列命令對當前登錄用戶進行授權,使其擁有對./hadoop目錄的權限:

sudo chown -R 用戶名 ./hadoop/

⑥進入/usr/local/hadoop/目錄,通過下列命令檢查安裝的Hadoop是否可用,成功則會顯示Hadoop的版本信息:

./bin/hadoop version

二、單機模式配置

Hadoop的默認模式爲非分佈式模式(本地模式),無須進行其他配置即可運行,Hadoop附帶了豐富的例子,進入/usr/local/hadoop/目錄,運行下列命令可以查看所有例子:

./bin/hadoop jar ./share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.7.jar

上述命令執行後,會顯示所有例子的簡介信息,包括grep、join、wordcount等,這裏選擇運行grep實例,可以先在/usr/local/hadoop/目錄下創建一個文件夾input,並複製一些文件到該文件下,然後運行grep程序,將input文件夾中的所有文件作爲grep的輸人,讓grep程序從所有文件中篩選出符合正則表達式“dfs[a-z.]+”的單詞,並統計單詞出現的次數,最後,把統計結果輸出到/usr/local/hadoop/output文件夾中,完成上述操作的具體命令如下:

①進入/usr/local/hadoop目錄:

cd /usr/local/hadoop/

②創建文件夾input:

mkdir input

③將配置文件複製到input目錄下:

cp ./etc/hadoop/*.xml ./input

④運行grep例子:

./bin/hadoop jar ./share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.7.jar grep ./input ./output 'dfs[a-z.]+'

⑤查看運行結果:

cat ./output/*

輸出的結果是符合正則表達式的單詞dfsadmin出現了一次:

1	dfsadmin

需要注意的是,Hadoop默認不會覆蓋結果文件,因此再次運行上面實例時會提示出錯,如果要再次運行,需要先使用如下命令把output文件夾刪除

rm -r ./output/

三、僞分佈式模式配置

Hadoop可以在單個節點(一臺機器)上以僞分佈式的方式運行,同一個節點既作爲名稱節點(Name Node),也作爲數據節點(Data Node),讀取的是分佈式文件系統HDFS中的文件。

當Hadoop應用於集羣時,不論是僞分佈式還是真正的分佈式運行,都需要通過配置文件對各組件的協同工作進行設置,最重要的幾個配置文件如下:

文件名稱 格式 描述
hadoop-env.sh Bash腳本 記錄配置Hadoop運行所需的環境變量,以運行Hadoop
core-site.xml Hadoop配置XML Hadoop core的配置項,如HDFS和MapReduce常用的I/O設置等
hdfs-site.xml Hadoop配置XML Hadoop守護進程的配置項,包括NameNode 、SecondaryNameNode和DataNode等
mapred-site.xml Hadoop配置XML MapReduce守護進程的配置項,包括JobTracker和TaskTracker
masters 純文本 運行SecondaryNameNode的機器列表(每行一個)
slaves 純文本 運行DataNode和TaskTracker的機器列表(每行一個)
hadoop-metrics.properties Java屬性 控制metrics在Hadoop上如何發佈的屬性

僞分佈式配置的詳細步驟請參照:Linux系統Hadoop僞分佈式模式配置

四、分佈式模式配置

當Hadoop採用分佈式模式部署和運行時,存儲採用分佈式文件系統HDFS,而且HDFS的名稱節點和數據節點位於不同機器上,數據可以分佈到多個節點上,不同數據節點上的數據計算可以並行執行,這時的MapReduce分佈式計算能力才能真正發揮作用。

搭建Hadoop分佈式集羣通常容易想到的如下兩種方法:

採用多臺機器構建分佈式集羣

在一臺機器上安裝多個虛擬機,每個虛擬機上運行一個Hadoop節點

但是,上述兩種方式都有缺點,如果採用第一種方法,通常需要有多臺機器,對於很多同學而言,通常難以找到多臺機器用於構建分佈式實驗環境;如果採用第二種方法,通常對單臺機器的配置要求很高,如果機器配置較低,那麼在一臺機器上同時運行多個虛擬機,速度會非常慢。

如今,隨着虛擬化技術的發展,尤其是Docker容器技術的誕生,使得人們可以有了第三種構建Hadoop分佈式集羣的方法——使用Docker搭建Hadoop分佈式集羣

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