溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

hadoop環(huán)境搭建

發(fā)布時間:2020-08-08 14:51:57 來源:網(wǎng)絡(luò) 閱讀:8219 作者:長跑者1號 欄目:大數(shù)據(jù)

一 hadoop 簡介

1 Hadoop 整體框架

Hadoop 由HDFS 、MapReduce、HBASE、hive 和zookeeper 等成員組成,其中最
基礎(chǔ)最重要的元素是底層用于存儲集群中所有存儲節(jié)點文件的文件系統(tǒng)HDFS 來
執(zhí)行MapReduce 程序的MapReduce 引擎
hadoop環(huán)境搭建

1 pig 是一個基于Hadoop 的大規(guī)模數(shù)據(jù)分析平臺,pig 為復(fù)雜的海量數(shù)據(jù)并行計
算提供了一個簡單的操作和編程接口
2 hive 是基于Hadoop 的一個工具,提供完整的SQL 查詢,可以將sql 語句轉(zhuǎn)換
為MapReduce (映射)任務(wù)進行執(zhí)行
3 zookeeper:高效的,可擴展的協(xié)調(diào)系統(tǒng),存儲和協(xié)調(diào)關(guān)鍵共享狀態(tài)
4 HBASE 是一個開源的,基于列存儲模型的分布式數(shù)據(jù)庫
5 hdfs 是一個分布式文件系統(tǒng),具有高容錯的特點,適合于那些超大數(shù)據(jù)集的應(yīng)
用程序,
6 MapReduce 是一種編程模式,用于大規(guī)模數(shù)據(jù)集的并行計算

2 hadoop 集群部署結(jié)構(gòu)

hadoop環(huán)境搭建
hadoop環(huán)境搭建

3 hadoop 核心設(shè)計

hadoop環(huán)境搭建

1 HDFS

是一個高度容錯性的分布式文件系統(tǒng),可以被廣泛的部署于廉價的PC 上,他以流式訪問模式訪問應(yīng)用程序的數(shù)據(jù),這樣可以提高系統(tǒng)的數(shù)據(jù)吞吐量,因而非常適合用于具有超大數(shù)據(jù)集的應(yīng)用程序中
hadoop環(huán)境搭建
HDFS 架構(gòu)采用主從架構(gòu),一個HDFS 集群應(yīng)該包含一個namenode 節(jié)點和多個datanode 節(jié)點,name node 負責整個HDFS 文件系統(tǒng)中的文件元數(shù)據(jù)的保管和管理,集群中通常只有一臺機器上運行namenode,datanode 節(jié)點保存文件中的數(shù)據(jù),集群中的機器分別運行一個datenode 實例,在HDFS 中,namenode 節(jié)點稱為名稱節(jié)點,DataNode 稱為數(shù)據(jù)節(jié)點,DataNode 通過心跳機制與namenode 節(jié)點進行定時通信Namenode 相當于mfs 中的master serverDatanode 相當于mfs 中的chunk server

2 HDFS 的讀寫方式
寫入
hadoop環(huán)境搭建

文件寫入:如上圖
1 客戶端向nameode (master server ) 發(fā)起文件寫入請求
2 namenode 根據(jù)文件大小和文件塊配置情況,返回給客戶端DataNode 信息
(chunkserver)
3 client 將文件劃分成多個文件塊,根據(jù)DataNode 的地址信息,按順序?qū)懭朊總€
DataNode 中

讀取
hadoop環(huán)境搭建
步驟:
1 向namenode 發(fā)送讀取請求
2 namenode 返回文件位置列表
3 client 根據(jù)列表讀取文件信息

2 MapReduce

是一種編程模型,用于大規(guī)模數(shù)據(jù)集并行計算,map(映射)和reduce(化簡),采用分布方式,(分封制),先把任務(wù)分發(fā)到集群節(jié)點上,并行計算,然后將結(jié)果合并,多結(jié)點計算,涉及的任務(wù)調(diào)度,負載均衡,容錯,都有MapReduce 完成

hadoop環(huán)境搭建

用戶提交任務(wù)給job tracer ,job tracer 把對應(yīng)的用戶程序中的map 個reduce 操作映射到tasktracee 節(jié)點中,輸入模塊負責把輸入數(shù)據(jù)數(shù)據(jù)分成小數(shù)據(jù)塊,然后把它們傳遞給map 節(jié)點,map 節(jié)點得到每一個key/value 對,然后產(chǎn)生一個或多個key/value 對,然后寫入文件,reduce 節(jié)點獲取臨時文件中的數(shù)據(jù),對帶有相同key 的數(shù)據(jù)進行迭代計算,后將最終結(jié)果寫入文件

hadoop環(huán)境搭建

Hadoop 的核心是MapReduce,而MapReduce 的核心又在于map 和reduce 函數(shù)。它們是交給用戶實現(xiàn)的,這兩個函數(shù)定義了任務(wù)本身。

map 函數(shù):接受一個鍵值對(key-value pair)(例如上圖中的Splitting 結(jié)果),產(chǎn)生一組中間鍵值對(例如上圖中Mapping 后的結(jié)果)。Map/Reduce 框架會將map 函數(shù)產(chǎn)生的中間鍵值對里鍵相同的值傳遞給一個reduce 函數(shù)。
reduce 函數(shù):接受一個鍵,以及相關(guān)的一組值(例如上圖中Shuffling 后的結(jié)果),將這組值進行合并產(chǎn)生一組規(guī)模更小的值(通常只有一個或零個值)(例如上圖中Reduce 后的結(jié)果)
但是,Map/Reduce 并不是萬能的,適用于Map/Reduce 計算有先提條件:
(1)待處理的數(shù)據(jù)集可以分解成許多小的數(shù)據(jù)集;
(2)而且每一個小數(shù)據(jù)集都可以完全并行地進行處理;
若不滿足以上兩條中的任意一條,則不適合適用Map/Reduce 模式。

二 環(huán)境搭建

軟件下載位置
鏈接:https://pan.baidu.com/s/1lBQ0jZC6MGj9zfV-dEiguw
密碼:13xi

1 配置hadoop 用戶

hadoop環(huán)境搭建
hadoop環(huán)境搭建
hadoop環(huán)境搭建
hadoop環(huán)境搭建
hadoop環(huán)境搭建

2 下載并解壓相關(guān)軟件

hadoop環(huán)境搭建
hadoop環(huán)境搭建

3 修改環(huán)境變量,使得hadoop運行在Java平臺之上

hadoop環(huán)境搭建
hadoop環(huán)境搭建
hadoop環(huán)境搭建

4 修改java環(huán)境變量,使其可以查看到hadoop進程開啟狀態(tài)

hadoop環(huán)境搭建
hadoop環(huán)境搭建

5 查看

hadoop環(huán)境搭建

二 單節(jié)點部署

1 創(chuàng)建文件夾,并將數(shù)據(jù)導(dǎo)入用于測試單節(jié)點,

并使用Hadoop內(nèi)部方法完成基本配置。其中output是自動創(chuàng)建的,無需手工創(chuàng)建
hadoop環(huán)境搭建

2 查看其統(tǒng)計結(jié)果

hadoop環(huán)境搭建
hadoop環(huán)境搭建

三 偽節(jié)點部署

1 配置文件系統(tǒng)管理相關(guān)

hadoop環(huán)境搭建
hadoop環(huán)境搭建

2 配置文件保存的份數(shù)

hadoop環(huán)境搭建
hadoop環(huán)境搭建

3 配置hadoop密碼并設(shè)置ssh免密認證

hadoop環(huán)境搭建
hadoop環(huán)境搭建

4 配置datanode節(jié)點

hadoop環(huán)境搭建

5 namenode節(jié)點格式化

hadoop環(huán)境搭建
返回值為0,表示格式化成功
hadoop環(huán)境搭建

6 啟動服務(wù)并查看進程狀態(tài)

hadoop環(huán)境搭建
測試顯示結(jié)果
hadoop環(huán)境搭建

7 測試

創(chuàng)建目錄上傳
hadoop環(huán)境搭建
查看
hadoop環(huán)境搭建
hadoop環(huán)境搭建
上傳文件至服務(wù)端
hadoop環(huán)境搭建
查看
hadoop環(huán)境搭建
使用命令查看結(jié)果
刪除并查看其顯示結(jié)果
hadoop環(huán)境搭建
hadoop環(huán)境搭建
hadoop環(huán)境搭建
hadoop環(huán)境搭建
hadoop環(huán)境搭建
hadoop環(huán)境搭建
hadoop環(huán)境搭建

8 高級配置:mapred配置

hadoop環(huán)境搭建
hadoop環(huán)境搭建
hadoop環(huán)境搭建
hadoop環(huán)境搭建

9 啟動服務(wù)并查看

hadoop環(huán)境搭建

10 查看是否成功

hadoop環(huán)境搭建

四 分布式配置

1 停止之前的偽節(jié)點配置

hadoop環(huán)境搭建

2 在超級用戶下安裝服務(wù)用以共享存儲

hadoop環(huán)境搭建
hadoop環(huán)境搭建
hadoop環(huán)境搭建

3 啟動服務(wù)

hadoop環(huán)境搭建

4 配置共享存儲

hadoop環(huán)境搭建
hadoop環(huán)境搭建

5 刷新看是否成功

hadoop環(huán)境搭建

6 客戶端啟動服務(wù)并掛載掛載

hadoop環(huán)境搭建
hadoop環(huán)境搭建
hadoop環(huán)境搭建

7 查看配置

hadoop環(huán)境搭建
hadoop環(huán)境搭建

8 配置datanode節(jié)點

hadoop環(huán)境搭建
hadoop環(huán)境搭建

9 配置備份存儲數(shù)量

hadoop環(huán)境搭建
hadoop環(huán)境搭建

10 格式化namenode節(jié)點

hadoop環(huán)境搭建
hadoop環(huán)境搭建
hadoop環(huán)境搭建

11 設(shè)置免密

hadoop環(huán)境搭建

12 啟動服務(wù)并查看

hadoop環(huán)境搭建

13 datanode節(jié)點查看服務(wù)

hadoop環(huán)境搭建

14 查看datanode節(jié)點是否存在并正常掛載

hadoop環(huán)境搭建
hadoop環(huán)境搭建

五 在線添加節(jié)點

1 安裝并配置基礎(chǔ)環(huán)境

hadoop環(huán)境搭建

2 啟動服務(wù)并掛載

hadoop環(huán)境搭建

3 配置datanode節(jié)點

hadoop環(huán)境搭建
hadoop環(huán)境搭建

4 配置免密認證

hadoop環(huán)境搭建

5 啟動服務(wù)并查看其進程

hadoop環(huán)境搭建

6 查看其是否加入存儲系統(tǒng)中

hadoop環(huán)境搭建
hadoop環(huán)境搭建

六 節(jié)點數(shù)據(jù)遷移

1 創(chuàng)建數(shù)據(jù)目錄并上傳數(shù)據(jù)

hadoop環(huán)境搭建

2 查看是否上傳成功

hadoop環(huán)境搭建

3 查看其各個節(jié)點存儲狀態(tài)

hadoop環(huán)境搭建
hadoop環(huán)境搭建
hadoop環(huán)境搭建
hadoop環(huán)境搭建

4 配置下線

hadoop環(huán)境搭建
hadoop環(huán)境搭建
配置下線用戶為server3
hadoop環(huán)境搭建
hadoop環(huán)境搭建

5 生效配置文件

hadoop環(huán)境搭建

6 查看serever3狀態(tài),如果為normal 則表示遷移完成,否則未完成

hadoop環(huán)境搭建
hadoop環(huán)境搭建

7 查看其他節(jié)點存儲,發(fā)現(xiàn)存儲已經(jīng)增加,則表明數(shù)據(jù)遷移完成

hadoop環(huán)境搭建
hadoop環(huán)境搭建
hadoop環(huán)境搭建

8 關(guān)閉datanode節(jié)點,下線成功

hadoop環(huán)境搭建

9 開啟其他節(jié)點的nodemanager服務(wù)

hadoop環(huán)境搭建

七 高可用

簡介:
在典型的HA集群中,通常有兩臺不同的機器充當NN(namenode),在任何時間,只有一臺機器處于active狀態(tài),另一臺機器則處于standby狀態(tài),active NN負責集群中所有客戶端的操作,而standby NN主要用于備用,主要維持足夠的狀態(tài),如果有必要,可以提供快速的故障恢復(fù)

為了讓standby NN狀態(tài)和 active NN 保持同步,及元數(shù)據(jù)保持一致,他會都會和journalnodes 守護進程通信,當active NN 執(zhí)行任何有關(guān)命名空間的修改,他都需要持久化到一半以上的journalnodes 上(通過edits log 持久化存儲),而standby NN負責觀察edits log 的變化,他能夠從JNS 中讀取edits 信息,并更新其內(nèi)部的名稱空間,一旦active NN 出現(xiàn)故障,standby NN 會將保證從JNS中讀取了全部edits,然后切換成active 狀態(tài),standby NN讀取全部的edits 可確保發(fā)生故障轉(zhuǎn)移之前,是和active NN擁有完全同步的命名空間狀態(tài)

為了提供快速的故障恢復(fù),standby NN也需要保存集群中各個文件塊的存儲位置,為了實現(xiàn)這個,集群中的所有Datanode 將配置好的active NN和standby NN的位置,并向他們發(fā)送快文件所在的位置及心跳。
為了部署HA 集群,你需要準備以下事項:
(1)、NameNode machines:運行Active NN 和Standby NN 的機器需要相同的硬件配置;
(2)、JournalNode machines:也就是運行JN 的機器。JN 守護進程相對來說比較輕量,所以這些守護進程可以可其他守護線程(比如NN,YARN ResourceManager)運行在同一臺機器上。在一個集群中,最少要運行3 個JN 守護進程,這將使得系統(tǒng)有一定的容錯能力。當然,你也可以運行3 個以上的JN,但是為了增加系統(tǒng)的容錯能力,你應(yīng)該運行奇數(shù)個JN(3、5、7 等),當運行N 個JN,系統(tǒng)將最多容忍(N-1)/2 個JN 崩潰。在HA 集群中,Standby NN 也執(zhí)行namespace 狀態(tài)的checkpoints,所以不必要運行Secondary NN、CheckpointNode 和BackupNode;事實上,運行這些守護進程是錯誤的。

1 DHFS 高可用

1 關(guān)閉之前的服務(wù)

hadoop環(huán)境搭建

2 查看各節(jié)點配置

hadoop環(huán)境搭建
hadoop環(huán)境搭建
hadoop環(huán)境搭建

3 配置服務(wù)

hadoop環(huán)境搭建
hadoop環(huán)境搭建

4 刪除原有配置

hadoop環(huán)境搭建

5 清空原有配置,以防影響

hadoop環(huán)境搭建
hadoop環(huán)境搭建
hadoop環(huán)境搭建
hadoop環(huán)境搭建
hadoop環(huán)境搭建

6 配置安裝服務(wù)zookeeper

zookeeper 至少為三臺,總結(jié)點數(shù)為奇數(shù)個
hadoop環(huán)境搭建
hadoop環(huán)境搭建
hadoop環(huán)境搭建
hadoop環(huán)境搭建
hadoop環(huán)境搭建
hadoop環(huán)境搭建
hadoop環(huán)境搭建

7 啟動服務(wù)

hadoop環(huán)境搭建
hadoop環(huán)境搭建
hadoop環(huán)境搭建

8 查看那個是leader

hadoop環(huán)境搭建
hadoop環(huán)境搭建
hadoop環(huán)境搭建

9 在leader 上啟動服務(wù)并查看相關(guān)配置

hadoop環(huán)境搭建
hadoop環(huán)境搭建

10 配置集群相關(guān)配置

1 配置指定hdfs的namenode 為master(名稱隨意)指定zookeeper 集群主機地址(server2,server3,server4的IP地址)

hadoop環(huán)境搭建
hadoop環(huán)境搭建

2 編輯hdfs-site.xml文件

hadoop環(huán)境搭建
A 指定hdfs的nameservices 為master
hadoop環(huán)境搭建
B 定義namenode節(jié)點(server1 server5 )
hadoop環(huán)境搭建
C 指定namenode 元數(shù)據(jù)在journalNode上的存放位置
hadoop環(huán)境搭建
D指定journalnode在本地磁盤存放數(shù)據(jù)的位置
hadoop環(huán)境搭建
E 開啟namenode 失敗自動切換,及自動切換實現(xiàn)方式,隔離機制方式以及使用sshfence 隔離機制需要ssh免密以及隔離機制超時時間等參數(shù)
hadoop環(huán)境搭建

11 配置server5進行掛載

hadoop環(huán)境搭建
hadoop環(huán)境搭建
hadoop環(huán)境搭建

12 啟動日志服務(wù)器server2 server3 server4

hadoop環(huán)境搭建
hadoop環(huán)境搭建
hadoop環(huán)境搭建

13 格式化namenode

hadoop環(huán)境搭建
hadoop環(huán)境搭建

14 將生成的數(shù)據(jù)發(fā)送到另一個高可用節(jié)點

hadoop環(huán)境搭建

15 配置免密認證

hadoop環(huán)境搭建

16 啟動zkfc服務(wù)

hadoop環(huán)境搭建

17 查看服務(wù)

hadoop環(huán)境搭建
hadoop環(huán)境搭建
hadoop環(huán)境搭建
hadoop環(huán)境搭建
hadoop環(huán)境搭建
hadoop環(huán)境搭建

18 驗證高可用,關(guān)閉服務(wù)

hadoop環(huán)境搭建
hadoop環(huán)境搭建

hadoop環(huán)境搭建

hadoop環(huán)境搭建

hadoop環(huán)境搭建

2 高可用之 YARN

hadoop環(huán)境搭建

1 指定yarn的框架為mapreduce

hadoop環(huán)境搭建

hadoop環(huán)境搭建

2 配置可以在nodemanager上運行mapreduce程序

hadoop環(huán)境搭建

3 激活RM高可用

hadoop環(huán)境搭建

4 指定RM的集群ID

hadoop環(huán)境搭建

5 定義RM節(jié)點

hadoop環(huán)境搭建
hadoop環(huán)境搭建

6激活RM 自動恢復(fù)

hadoop環(huán)境搭建

7 配置RM狀態(tài)信息存儲方式,有memstore和ZKstore

hadoop環(huán)境搭建

8 配置為zookeeper 存儲時,指定ziikeeper集群的地址

hadoop環(huán)境搭建

9啟動yarn 服務(wù)并查看

hadoop環(huán)境搭建

10 另一個節(jié)點需要手工啟動服務(wù)

hadoop環(huán)境搭建

11 查看集群狀態(tài)

hadoop環(huán)境搭建
hadoop環(huán)境搭建
hadoop環(huán)境搭建

12 測試

斷開主節(jié)點查看情況
hadoop環(huán)境搭建
則切換到server5上
hadoop環(huán)境搭建
查看server5 狀態(tài)
hadoop環(huán)境搭建
啟動server1
hadoop環(huán)境搭建
查看server1狀態(tài)
hadoop環(huán)境搭建

3 服務(wù)的關(guān)閉方式

hadoop環(huán)境搭建
hadoop環(huán)境搭建
hadoop環(huán)境搭建
hadoop環(huán)境搭建
hadoop環(huán)境搭建

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI