中文亚洲精品无码_熟女乱子伦免费_人人超碰人人爱国产_亚洲熟妇女综合网

當(dāng)前位置: 首頁(yè) > news >正文

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

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

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

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

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

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

在這里插入圖片描述


一、HDFS

1.1 HDFS簡(jiǎn)介

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

1.2 HDFS shell命令行

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

上傳文件到HDFS指定目錄下

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

下載HDFS文件

hadoop fs -get [-f] [-p] <src> <localdst>
# 將本地文件傳到HDFS文件系統(tǒng)中
# -f 覆蓋目標(biāo)文件
# -p 保留訪問(wèn)和修改時(shí)間,所有權(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)的文件(沒(méi)有文件則自動(dòng)創(chuàng)建)
# 該命令可以用于小文件合并

1.3 HDFS架構(gòu)

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

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

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

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

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

在這里插入圖片描述

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

二、Yarn

2.1 Yarn簡(jiǎn)介

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

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

2.2 Yarn架構(gòu)

Yarn與HDFS一樣,也是主從模式,包含以下4個(gè)進(jìn)程

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

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

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

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

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

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

三、MapReduce

MapReduce程序在運(yùn)行時(shí)有三類進(jìn)程:

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

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

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

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

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

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

2.3 shuffle機(jī)制

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

相關(guān)文章:

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