国产亚洲精品福利在线无卡一,国产精久久一区二区三区,亚洲精品无码国模,精品久久久久久无码专区不卡

當前位置: 首頁 > news >正文

橙子建站客服電話2020 惠州seo服務(wù)

橙子建站客服電話,2020 惠州seo服務(wù),fail2ban wordpress,那些語言可以做動態(tài)網(wǎng)站Hadoop是一個開源的分布式離線數(shù)據(jù)處理框架,底層是用Java語言編寫的,包含了HDFS、MapReduce、Yarn三大部分。 組件配置文件啟動進程備注Hadoop HDFS需修改需啟動 NameNode(NN)作為主節(jié)點 DataNode(DN)作為從節(jié)點 SecondaryNameNode(SNN)主節(jié)點輔助分…

Hadoop是一個開源的分布式離線數(shù)據(jù)處理框架,底層是用Java語言編寫的,包含了HDFS、MapReduce、Yarn三大部分。

組件配置文件啟動進程備注
Hadoop HDFS需修改需啟動
NameNode(NN)作為主節(jié)點
DataNode(DN)作為從節(jié)點
SecondaryNameNode(SNN)主節(jié)點輔助
分布式文件系統(tǒng)
Hadoop YARN需修改需啟動
ResourceManager(RM)作為集群資源管理者
NodeManager(NM)作為單機資源管理者
ProxyServer代理服務(wù)器提供安全性
JobHistoryServer歷史服務(wù)器記錄歷史信息和日志
分布式資源調(diào)度
Hadoop MapReduce需修改無需啟動任何進程
MapReduce程序運行在YARN容器內(nèi)
分布式數(shù)據(jù)計算

Hadoop集群 = HDFS集群 + YARN集群
圖中是三臺服務(wù)器,每個服務(wù)器上運行相應(yīng)的JAVA進程
在這里插入圖片描述

HDFS集群對應(yīng)的web UI界面:http://namenode_host:9870(namenode_host是namenode運行所在服務(wù)器的ip地址)
YARN集群對應(yīng)的web UI界面:http://resourcemanager_host:8088(resourcemanager_host是resourcemanager運行所在服務(wù)器的ip地址)

在這里插入圖片描述


一、HDFS

1.1 HDFS簡介

  • HDFS的全稱為Hadoop Distributed File System,是用來解決大數(shù)據(jù)存儲問題的,分布式說明其是橫跨多臺服務(wù)器上的存儲系統(tǒng)
  • HDFS使用多臺服務(wù)器存儲文件,提供統(tǒng)一的訪問接口,使用戶像訪問一個普通文件系統(tǒng)一樣使用分布式文件系統(tǒng)
  • HDFS集群搭建完成后有個抽象統(tǒng)一的目錄樹,可以向其中放入文件,底層實際是分塊存儲(物理上真的拆分成多個文件,默認128M拆分成一塊)在HDFS集群的多個服務(wù)器上,具體位置是在hadoop的配置文件中所指定的

1.2 HDFS shell命令行

  • 命令行界面(command-line interface,縮寫:cli),指用戶通過指令進行交互
  • Hadoop操作文件系統(tǒng)shell命令行語法:hadoop fs [generic options]
  • 大部分命令與linux相同
hadoop fs -ls file:///  # 操作本地文件系統(tǒng)
hadoop fs -ls hdfs://node1:8020/ # 操作HDFS文件系統(tǒng),node1:8020是NameNode運行所在的機器和端口號
hadoop fs -ls / #直接根目錄,沒有指定則默認加載讀取環(huán)境變量中fs.defaultFS的值,作為要讀取的文件系統(tǒng)

上傳文件到HDFS指定目錄下

hadoop fs -put [-f] [-p] <localsrc> <dst>
# 將本地文件傳到HDFS文件系統(tǒng)中
# -f 覆蓋目標文件
# -p 保留訪問和修改時間,所有權(quán)和權(quán)限
# <localsrc>本地文件系統(tǒng)中的文件(客戶端所在機器),<dst>HDFS文件系統(tǒng)的目錄

下載HDFS文件

hadoop fs -get [-f] [-p] <src> <localdst>
# 將本地文件傳到HDFS文件系統(tǒng)中
# -f 覆蓋目標文件
# -p 保留訪問和修改時間,所有權(quán)和權(quán)限
# <src>HDFS文件系統(tǒng)中的文件,<localdst>本地文件系統(tǒng)的目錄

追加數(shù)據(jù)到HDFS文件中

hadoop fs -appendToFile <localsrc>...<dst>
# <localsrc>本地文件系統(tǒng)中的文件,<dst>HDFS文件系統(tǒng)的文件(沒有文件則自動創(chuàng)建)
# 該命令可以用于小文件合并

1.3 HDFS架構(gòu)

HDFS包含3個進程NameNode、DataNode、SecondaryNameNode
(都是Java進程,可以在服務(wù)器上運行jps查看正在執(zhí)行的java進程)

HDFS是主從模式(Master - Slaves),基礎(chǔ)架構(gòu)如下:
在這里插入圖片描述

  • NameNode: 維護和管理文件系統(tǒng)元數(shù)據(jù),包括HDFS目錄樹結(jié)構(gòu),文件和塊的存儲位置、大小、訪問權(quán)限等信息。NameNode是訪問HDFS的唯一入口
  • DataNode: 負責(zé)具體的數(shù)據(jù)塊存儲
  • SecondNameNode: 是NameNode的輔助節(jié)點,但不能替代NameNode。主要是幫助NameNode進行元數(shù)據(jù)文件的合并。
  • NameNode不持久化存儲每個文件中各個塊所在的DataNode的位置信息,這些信息在系統(tǒng)啟動時從DataNode重建
  • NameNode是Hadoop集群中的單點故障
  • NameNode所在機器通常配置大內(nèi)存(RAM),因為元數(shù)據(jù)都存在內(nèi)存中,定時進行持久化存到磁盤中。
  • DataNode所在機器通常配置大硬盤空間,因為數(shù)據(jù)存在DataNode中

HDFS集群部署舉例:
node1、node2、node3表示三臺服務(wù)器,形成一個集群:
在這里插入圖片描述
node1服務(wù)器性能比較高,因此在node1上運行三個進程:NameNode、DataNode、SecondaryNameNode
在node2及node3上只運行DataNode進程

1.4 HDFS寫數(shù)據(jù)流程

在這里插入圖片描述

  1. HDFS客戶端創(chuàng)建對象實例DistributeFileSystem(Java類的對象),該對象中封裝了與HDFS文件系統(tǒng)操作的相關(guān)方法。
  2. 調(diào)用DistributeFileSystem對象的create()方法,通過RPC請求NameNode創(chuàng)建文件,NameNode執(zhí)行各種檢查判斷:目標文件是否存在,客戶端是否有權(quán)限等。檢查通過后返回FSDataOutputStream輸出流對象給客戶端用于寫數(shù)據(jù)。
  3. 客戶端用FSDataOutputStream開始寫數(shù)據(jù)
  4. 客戶端寫入數(shù)據(jù)時,將數(shù)據(jù)分成一個個數(shù)據(jù)包(packet 默認64k),內(nèi)部組件DataStreamer請求NameNode挑選出適合存儲數(shù)據(jù)副本的一組DataNode地址,默認是3副本存儲(即3個DataNode)。DataStreamer將數(shù)據(jù)包流式傳輸(每一個packet 64k傳輸一次)到pipeline的第一個DataNode,第一個DataNode存儲數(shù)據(jù)后傳給第二個DataNode,第二個DataNode存儲數(shù)據(jù)后傳給第三個DataNode。
  5. 傳輸?shù)姆捶较蛏?#xff0c;會通過ACK機制校驗數(shù)據(jù)包傳輸是否成功
  6. 客戶端完成數(shù)據(jù)寫入后,在FSDataOutputStream輸出流上調(diào)用close()方法關(guān)閉。
  7. DistributeFileSystem告訴NameNode文件寫入完成。

二、Yarn

2.1 Yarn簡介

Yarn是一個通用資源管理系統(tǒng)調(diào)度平臺,可為上層應(yīng)用提供統(tǒng)一的資源管理和調(diào)度。

通用: 不僅支持MapReduce程序,理論上支持各種計算程序,YARN只負責(zé)分配資源,不關(guān)心用資源干什么。
資源管理系統(tǒng): 集群的硬件資源,和程序運行相關(guān),比如內(nèi)存、cpu
調(diào)度平臺: 多個程序同時申請計算資源如何分配,調(diào)度的規(guī)則

2.2 Yarn架構(gòu)

Yarn與HDFS一樣,也是主從模式,包含以下4個進程

  • ResourceManager:管理整個群集的資源,負責(zé)協(xié)調(diào)調(diào)度各個程序所需的資源。(申請資源必須找RM)
  • NodeManager:管理單個服務(wù)器的資源,負責(zé)調(diào)度單個服務(wù)器上的資源提供給應(yīng)用程序使用。

NodeManager通過創(chuàng)建Container容器來分配服務(wù)器上的資源。
應(yīng)用程序運行在NodeManager所創(chuàng)建的容器中。
一個服務(wù)器上可以創(chuàng)建多個Container容器,各Container容器之間相互獨立,實現(xiàn)了一個服務(wù)器上跑多個程序。
Container容器是具體運行 Task(如 MapTask、ReduceTask)的基本單位。

  • ProxyServer代理服務(wù)器: ProxyServer默認繼承在ResourceManager中,可以通過配置分離出來單獨啟動,可以提高YARN在開放網(wǎng)絡(luò)中的安全性。
  • JobHistoryServer歷史服務(wù)器: 記錄歷史程序運行信息和日志,開放web ui提供用戶通過網(wǎng)頁訪問日志。

YARN架構(gòu)圖:
在這里插入圖片描述
ApplicationMaster(App Mstr): 應(yīng)用程序內(nèi)的“老大”,負責(zé)程序內(nèi)部各階段的資源申請,管理整個應(yīng)用。(當YARN上沒有程序運行,則沒有這個組件)

一個應(yīng)用程序?qū)?yīng)一個ApplicationMaster。
ApplicationMaster 運行在 Container 中,運行應(yīng)用的各個任務(wù)(比如 MapTask、ReduceTask)。
YARN 中運行的每個應(yīng)用程序都有一個自己獨立的 ApplicationMaster。(以MapReduce為例,其中的MRAppMaster就是對應(yīng)的具體實現(xiàn),管理整個MapReduce程序)

YARN集群部署舉例:
node1、node2、node3表示三臺服務(wù)器,形成一個集群:
在這里插入圖片描述
node1性能高,因此在node1上運行四個進程:ResourceManager、NodeManager、ProxyServer、JobHistoryServer
在node2及node3上只運行NodeManager進程

三、MapReduce

MapReduce程序在運行時有三類進程:

  • MRAppMaster:負責(zé)整個MR程序的過程調(diào)度及狀態(tài)協(xié)調(diào)
  • MapTask: 負責(zé)map階段的整個數(shù)據(jù)處理流程
  • ReduceTask: 負責(zé)reduce階段的整個數(shù)據(jù)處理流程
  1. 在一個MR程序中MRAppMaster只有一個,MapTask和ReduceTask可以有一個也可以有多個
  2. 在一個MR程序中只能包含一個Map階段和一個Reduce階段,或者只有Map階段
  3. 在整個MR程序中,數(shù)據(jù)都是以kv鍵值對的形式流轉(zhuǎn)

MapReduce整體執(zhí)行流程圖:
左邊是maptask,右邊是reducetask,紅框里是shuffle過程(shuffle包含了map和reduce)
在這里插入圖片描述

2.1 map階段執(zhí)行過程

  • 第一階段: 把所要處理的文件進行邏輯切片(默認是每128M一個切片),每一個切片由一個MapTask處理。
  • 第二階段: 按行讀取切片中的數(shù)據(jù),返回<key,value>對,key對應(yīng)行數(shù),value是本行的文本內(nèi)容
  • 第三階段: 調(diào)用Mapper類中的map方法處理數(shù)據(jù),每讀取解析出來一個<key,value>,調(diào)用一次map方法
  • 第四階段(默認不分區(qū)): 對map輸出的<key,value>對進行分區(qū)partition。默認不分區(qū),因為只有一個reducetask,分區(qū)的數(shù)量就是reducetask運行的數(shù)量。
  • 第五階段: Map輸出數(shù)據(jù)寫入內(nèi)存緩沖區(qū),達到比例溢出到磁盤上。溢出spill的時候根據(jù)key按照字典序(a~z)進行排序sort
  • 第六階段: 對所有溢出文件進行最終的merge合并,形成一個文件(即一個maptask只輸出一個文件)

2.2 reduce階段執(zhí)行過程

  • 第一階段: ReduceTask會主動從MapTask復(fù)制拉取屬于需要自己處理的數(shù)據(jù)
  • 第二階段: 把拉取來的數(shù)據(jù),全部進行合并merge,即把分散的數(shù)據(jù)合并成一個大的數(shù)據(jù),再對合并后的數(shù)據(jù)進行排序
  • 第三階段: 對排序后的<key,value>調(diào)用reduce方法,key相同<key,value>調(diào)用一次reduce方法。最后把輸出的鍵值對寫入到HDFS中

2.3 shuffle機制

  • shuffle指的是將map端的無規(guī)則輸出變成具有一定規(guī)則的數(shù)據(jù),便于reduce端接收處理。
  • 一般把從Map產(chǎn)生輸出開始到Reduce取得數(shù)據(jù)作為輸入之前的過程稱為Shuffle
  • Shuffle過程是橫跨map和reduce兩個階段的,分別稱為Map端的ShuffleReduce端的Shuffle
  • Shuffle中頻繁涉及到數(shù)據(jù)在內(nèi)存、磁盤之間的多次往復(fù),是導(dǎo)致mapreduce計算慢的原因
http://aloenet.com.cn/news/30374.html

相關(guān)文章:

  • 京網(wǎng)站建設(shè)公司百度地圖收錄提交入口
  • 程序員 做網(wǎng)站 微信公眾號 賺錢寧波seo推廣費用
  • 做網(wǎng)站也是一門技術(shù)惠州網(wǎng)絡(luò)營銷
  • 網(wǎng)站 禁止ping百度seo推廣
  • 網(wǎng)站建設(shè)必學(xué)課程深圳谷歌seo推廣
  • 阿里巴巴做網(wǎng)站找誰泰州百度seo公司
  • 網(wǎng)站運行與維護網(wǎng)絡(luò)推廣外包內(nèi)容
  • 網(wǎng)頁上海公司seo工資服務(wù)
  • 免費網(wǎng)站開發(fā)軟件平臺愛站網(wǎng)長尾詞挖掘工具
  • 網(wǎng)站開發(fā)要什么樣的環(huán)境代運營公司
  • 網(wǎng)站建設(shè)網(wǎng)站軟文范文
  • 番禺手機網(wǎng)站制作推廣行者seo
  • 做外貿(mào)網(wǎng)站效果站長是什么級別
  • 網(wǎng)站設(shè)計與網(wǎng)頁配色實例精講nba最新新聞新浪
  • 做英文企業(yè)網(wǎng)站多錢錢上海百度推廣官方電話
  • 建設(shè)標準 免費下載網(wǎng)站磁力天堂torrentkitty
  • 部落沖突做任務(wù)網(wǎng)站百度熱搜廣告位
  • 給公司做網(wǎng)站銷售怎樣啦網(wǎng)絡(luò)公司品牌推廣
  • 企業(yè)戰(zhàn)略規(guī)劃方案北京seo網(wǎng)絡(luò)推廣
  • 網(wǎng)頁設(shè)計公司金華關(guān)鍵詞排名優(yōu)化公司外包
  • 網(wǎng)站建設(shè)利益分析合肥網(wǎng)站seo推廣
  • 建立健全制度如何推廣seo
  • 網(wǎng)站建設(shè) 售后服務(wù)seo下拉優(yōu)化
  • 鄭州正規(guī)網(wǎng)站設(shè)計價格seo門戶
  • 漳州網(wǎng)站優(yōu)化下載百度導(dǎo)航app
  • 交友網(wǎng)站建設(shè)惠城網(wǎng)站設(shè)計
  • 任縣企業(yè)做網(wǎng)站怎么推廣淘寶店鋪
  • 織夢手機網(wǎng)站源碼下載可口可樂軟文范例
  • 淘寶客優(yōu)惠券網(wǎng)站怎么做的google怎么推廣
  • 怎么在網(wǎng)上做公司網(wǎng)站如何創(chuàng)建自己的網(wǎng)址