Hadoop2.0架構(gòu)設(shè)計與原理_第1頁
Hadoop2.0架構(gòu)設(shè)計與原理_第2頁
Hadoop2.0架構(gòu)設(shè)計與原理_第3頁
Hadoop2.0架構(gòu)設(shè)計與原理_第4頁
Hadoop2.0架構(gòu)設(shè)計與原理_第5頁
已閱讀5頁,還剩54頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、Hadoop2.0架構(gòu)設(shè)計與原理數(shù)據(jù)中心-Alan主要內(nèi)容Hadoop介紹1Hadoop原理2Hadoop YARN產(chǎn)生的背景 34Hadoop YARN基本架構(gòu)5運(yùn)行在YARN上的計算框架6YARN 發(fā)展趨勢主要內(nèi)容Hadoop介紹1Hadoop原理2Hadoop YARN產(chǎn)生的背景 34Hadoop YARN基本架構(gòu)5運(yùn)行在YARN上的基本框架6YARN 發(fā)展趨勢Hadoop概述n Hadoop是一個開源的、可靠的、可擴(kuò)展的分布式并行計算框架n主要組成:分布式文件系統(tǒng)HDFS和MapReduce算法執(zhí)行n作者:Doug Cuttingn語言:Java,支持多種編程語言,如:Python、C

2、+Hadoop的起源lHadoop是Google的集群系統(tǒng)的開源實(shí)現(xiàn)Google集群系統(tǒng):GFS(Google File System)、MapReduce、BigTableHadoop主要由HDFS(Hadoop Distributed File System Hadoop分布式文件系統(tǒng))、MapReducelHadoop的初衷是為解決 Nutch 的海量數(shù)據(jù)爬取和存儲的需要lHadoop于2005年秋天作為 Lucene的子項目Nutch的一部分正式引入Apache基金會。l名稱起源: Doug Cutting兒子的黃色大象玩具的名字l目前最新穩(wěn)定版本2.6.0什么是大數(shù)據(jù) 數(shù)據(jù)集主要特點(diǎn)

3、 Volume: 數(shù)量量從TB到PB級別 Variety: 數(shù)據(jù)類型復(fù)雜,超過80%的數(shù)據(jù)是非結(jié)構(gòu)化的 Velocity:數(shù)據(jù)量在持續(xù)增加(兩位數(shù)的年增長率) Value:巨大的數(shù)據(jù)價值 其他特征 數(shù)據(jù)來自大量源,需要做相關(guān)性分析 需要實(shí)時或者準(zhǔn)實(shí)時的流式采集,有些應(yīng)用90%寫vs.10%讀 數(shù)據(jù)需要長時間存儲,非熱點(diǎn)數(shù)據(jù)也會被隨機(jī)訪問什么是大數(shù)據(jù)什么是大數(shù)據(jù)某比薩店的電話鈴響了,客服人員拿起電話。客服:XXX比薩店。您好,請問有什么需要我為您服務(wù) ?顧客:你好,我想要一份客服:先生,煩請先把您的會員卡號告訴我。 顧客:16846146*。 客服:陳先生,您好!您是住在泉州路一號12樓120

4、x室,請問您想要點(diǎn)什么? 顧客:我想要一個海鮮比薩 客服:陳先生,海鮮比薩不適合您。 顧客:為什么?客服:根據(jù)您的醫(yī)療記錄,你的血壓和膽固醇都偏高。顧客:那你們有什么可以推薦的?客服:您可以試試我們的低脂健康比薩。顧客:你怎么知道我會喜歡吃這種的?客服:您上星期一在中央圖書館借了一本低脂健康食譜。顧客:好。那我要一個家庭特大號比薩,要付多少錢?客服:99元,這個足夠您一家六口吃了。但您母親應(yīng)該少吃,她上個月剛剛做了心臟搭橋手術(shù),還處在恢復(fù)期。顧客:那可以刷卡嗎?客服:陳先生,對不起。請您付現(xiàn)款,因?yàn)槟男庞每ㄒ呀?jīng)刷爆了,您現(xiàn)在還欠銀行4807元,而且還不包括房貸利息。顧客:那我先去附近的提款機(jī)

5、提款??头宏愊壬?,根據(jù)您的記錄,您已經(jīng)超過今日提款限額。顧客:算了,你們直接把比薩送我家吧,家里有現(xiàn)金。你們多久會送到?客服:大約30分鐘。如果您不想等,可以自己騎車來。顧客:為什么?客服:根據(jù)我們?nèi)蚨ㄎ幌到y(tǒng)的車輛行駛自動跟蹤系統(tǒng)記錄。您登記有一輛車號為SB-748的摩托車,而目前您正在解放路東段華聯(lián)商場右側(cè)騎著這輛摩托車。顧客當(dāng)即暈倒大數(shù)據(jù)VS傳統(tǒng)數(shù)據(jù)大數(shù)據(jù)處理流程101010010101010101111010100101010101011101011010100101010101011101011010100101010101011110101001010101010111非結(jié)構(gòu)化數(shù)

6、據(jù)結(jié)構(gòu)化數(shù)據(jù)實(shí)時流數(shù)據(jù)其它數(shù)據(jù) APITextBig Data Store and AnalyticsETL0101101010010101010101110101101010010101010101111010100101010101011101011010100101010101011101011010100101010101011110101001010101010111Hadoop生態(tài)圈主要內(nèi)容Hadoop介紹1Hadoop原理2Hadoop YARN產(chǎn)生的背景 34Hadoop YARN基本架構(gòu)5運(yùn)行在YARN上的基本框架6YARN 發(fā)展趨勢HDFS-分布式文件系統(tǒng)u設(shè)計目標(biāo)錯誤檢測

7、和快速自動恢復(fù)硬件故障是常態(tài)而非異常為流式數(shù)據(jù)訪問優(yōu)化針對支持大數(shù)據(jù)集單個文件大小有數(shù)GB或者TB可提供高聚合帶寬訪問 可能夠擴(kuò)展至數(shù)千個節(jié)點(diǎn)簡化“一致性”模型一次寫入、多次讀,寫入過程可能并發(fā)移動“計算”比移動“數(shù)據(jù)”更便宜u主要特點(diǎn)使用低成本存儲和服務(wù)器構(gòu)建存放PB級別的海量數(shù)據(jù)高可擴(kuò)展性,實(shí)際生產(chǎn)環(huán)境擴(kuò)展至4000個節(jié)點(diǎn)高可靠性和容錯性,數(shù)據(jù)自動復(fù)制,可自我修復(fù)高帶寬,高并發(fā)訪問,對于延遲不敏感數(shù)據(jù)分布與復(fù)制u數(shù)據(jù)塊:文件被劃分為固定大小的數(shù)據(jù)塊進(jìn)行存儲數(shù)據(jù)塊缺省為64M,遠(yuǎn)大于一般文件系統(tǒng)數(shù)據(jù)塊大小減少元數(shù)據(jù)的量有利于順序讀寫(在磁盤上順序存放)可靠性:數(shù)據(jù)通過副本的方式保存在多個數(shù)據(jù)

8、節(jié)點(diǎn)上默認(rèn)3個副本副本選擇會考慮機(jī)架信息以防止整個機(jī)架同時掉電u系統(tǒng)設(shè)計優(yōu)化:用單個管理節(jié)點(diǎn)來保存文件系統(tǒng)元數(shù)據(jù)和管理/協(xié)調(diào)數(shù)據(jù)緩存:DataNode沒有數(shù)據(jù)緩存由于文件的訪問是掃描式的,不具有局部性訪問方式讀、寫、文件改名、刪除等文件內(nèi)容不允許覆蓋更新提供一個特殊的訪問接口:追加appendHDFS基本設(shè)計HDFS體系結(jié)構(gòu)中心目錄服務(wù)器 (NameNode) 管理大量數(shù)據(jù)服務(wù)器(DataNode)NameNode 管理元數(shù)據(jù) (文件目錄樹, 文件-塊映射,塊-數(shù)據(jù)服務(wù)器映射表, etc.)DataNode 負(fù)責(zé)存儲數(shù)據(jù)、以及響應(yīng)數(shù)據(jù)讀寫請求客戶端與NameNode交互進(jìn)行文件創(chuàng)建/刪除/尋址

9、等操作, 之后直接與DataNodes交互進(jìn)行文件I/OHDFS寫文件流程HDFS讀文件流程什么是MapReduce編程模型?l Map(映射):對一些獨(dú)立元素組成的列表的每一個元素進(jìn)行指定的操作,可以高度并行。l Reduce(化簡):對一個列表的元素進(jìn)行合并。l 一個簡單的MapReduce程序只需要指定map()、reduce()、輸入和輸出,剩下的事由框架幫你搞定。MapReduce計算框架為離線數(shù)據(jù)分析而設(shè)計,基本上是個利用數(shù)據(jù)并行性進(jìn)行分布運(yùn)算而后匯總結(jié)果的計算框架分析問題能夠被并行化,且輸入數(shù)據(jù)集可以被切分一個Map函數(shù),在第一階段計算對 一個Reduce函數(shù),在第二階段用于匯總

10、Map函數(shù)的結(jié)果MapReduce運(yùn)行機(jī)制MapReduceMapReduce原理原理MapReduceMapReduce實(shí)例分析實(shí)例分析主要內(nèi)容Hadoop介紹1Hadoop原理2Hadoop YARN產(chǎn)生的背景 34Hadoop YARN基本架構(gòu)5運(yùn)行在YARN上的基本框架6YARN 發(fā)展趨勢Hadoop YARN產(chǎn)生背景 直接源于直接源于MRv1在幾個方面在幾個方面的的缺陷缺陷 擴(kuò)展擴(kuò)展性性受限受限 單點(diǎn)故障單點(diǎn)故障 難以支難以支持持MR之之外的計算外的計算 多計算框架各自為多計算框架各自為戰(zhàn)戰(zhàn),數(shù)據(jù)共享困難,數(shù)據(jù)共享困難 MR:離線離線計計算算框架框架 Storm:實(shí)實(shí)時時計計算框架算

11、框架 Spark:內(nèi)存:內(nèi)存計計算算框架框架Hadoop 1.0和和2.0 Hadoop 2.0由由HDFS、MapReduce和和YARN三個分支構(gòu)三個分支構(gòu)成成; HDFS:NN Federation、HA; MapReduce:運(yùn)行運(yùn)行在在YARN上上的的MR; YARN:資源管理系統(tǒng):資源管理系統(tǒng)主要內(nèi)容Hadoop介紹1Hadoop原理2Hadoop YARN產(chǎn)生的背景 34Hadoop YARN基本架構(gòu)5運(yùn)行在YARN上的基本框架6YARN 發(fā)展趨勢Hadoop YARN基本架構(gòu)Hadoop YARN各模塊組成 ResourceManager 處理客戶端請求處理客戶端請求 啟啟動動

12、/監(jiān)監(jiān)控控ApplicationMaster 監(jiān)控監(jiān)控NodeManager 資源分配與調(diào)度資源分配與調(diào)度 NodeManager 單個節(jié)點(diǎn)上的資源管理單個節(jié)點(diǎn)上的資源管理 處理來處理來自自ResourceManager的命令的命令 處理來處理來自自ApplicationMaster的命令的命令 ApplicationMaster 數(shù)據(jù)切分?jǐn)?shù)據(jù)切分 為為應(yīng)用程序申請資應(yīng)用程序申請資源源,并分配給內(nèi)部任務(wù),并分配給內(nèi)部任務(wù) 任務(wù)監(jiān)控與容錯任務(wù)監(jiān)控與容錯Hadoop YARN運(yùn)行流程分析Node ManagerNode ManagerNodeManagerResourceManagerApplic

13、ation MasterClientClientClientTaskContainerContainerTaskTaskContainerHadoop YARN容錯 ResourceManager 基基于于ZooKeeper實(shí)現(xiàn)實(shí)現(xiàn)HA。 NodeManager 失敗失敗后后,RM將失敗任務(wù)告訴對應(yīng)將失敗任務(wù)告訴對應(yīng)的的AM; AM決定如何處理失敗的任決定如何處理失敗的任務(wù)務(wù)。 ApplicationMaster 失敗失敗后后,由由RM負(fù)責(zé)重負(fù)責(zé)重啟啟; AM需處理內(nèi)部任務(wù)的容錯問需處理內(nèi)部任務(wù)的容錯問題題; RMAppMaster會保存已經(jīng)運(yùn)行完成會保存已經(jīng)運(yùn)行完成的的Task,重啟后無需重

14、新運(yùn)重啟后無需重新運(yùn)行行。Hadoop YARN調(diào)度框架 雙層調(diào)度框架雙層調(diào)度框架 RM將資源分配給將資源分配給AM AM將資源進(jìn)一步分配給各將資源進(jìn)一步分配給各個個Task 基于資源預(yù)留的基于資源預(yù)留的調(diào)調(diào)度度策策略略 資源不夠資源不夠時時,會,會為為Task預(yù)預(yù)留留,直到資源充足,直到資源充足與與“all or nothing”策略不策略不同同(Apache Mesos)Hadoop YARN資源調(diào)度器 多類型資源調(diào)度多類型資源調(diào)度 采用采用DRF算法(論文:算法(論文:“Dominant Resource Fairness: FairAllocation of Multiple Reso

15、urce Types”) 目前支持目前支持CPU和內(nèi)存兩種資源和內(nèi)存兩種資源 提供多種資源調(diào)提供多種資源調(diào)度器度器 FIFO Fair Scheduler Capacity Scheduler 多租戶資源調(diào)度器多租戶資源調(diào)度器 支持資源按比例分配支持資源按比例分配 支持層級隊列劃分方式支持層級隊列劃分方式 支持資源搶占支持資源搶占Hadoop YARN資源隔離方案 支持內(nèi)存支持內(nèi)存和和CPU兩種資源隔離兩種資源隔離 內(nèi)存是一內(nèi)存是一種種“決定生死決定生死”的資源的資源 CPU是一是一種種“影響快影響快慢慢”的資源的資源 內(nèi)存隔離內(nèi)存隔離 基于線程監(jiān)控的方案基于線程監(jiān)控的方案 基基于于Cgrou

16、ps的方案的方案 CPU隔離隔離 默認(rèn)不默認(rèn)不對對CPU資源進(jìn)行隔離資源進(jìn)行隔離 基于基于Cgroups的方案的方案Hadoop YARN資源調(diào)度語義 支持的語義支持的語義 請求某個特請求某個特定定節(jié)點(diǎn)節(jié)點(diǎn)/機(jī)架上的特定資源量機(jī)架上的特定資源量 將某些節(jié)點(diǎn)加入(或移除)黑名單,不再為自己分配這將某些節(jié)點(diǎn)加入(或移除)黑名單,不再為自己分配這些些節(jié)點(diǎn)上節(jié)點(diǎn)上的資源的資源 請求歸還某請求歸還某些些資源資源 不支持的語義不支持的語義 請求任請求任意意節(jié)節(jié)點(diǎn)點(diǎn)/機(jī)機(jī)架架上的特定資上的特定資源源量量 請求一組或幾組符合某種特質(zhì)請求一組或幾組符合某種特質(zhì)的的資源資源 超細(xì)粒超細(xì)粒度度資源資源 動態(tài)調(diào)動態(tài)調(diào)

17、整整Container資源資源主要內(nèi)容Hadoop介紹1Hadoop原理2Hadoop YARN產(chǎn)生的背景 34Hadoop YARN基本架構(gòu)5運(yùn)行在YARN上的基本框架6YARN 發(fā)展趨勢應(yīng)用程序的運(yùn)行模型MapinputoutputMapinputReduceoutputStage1inputoutputStage2Stage3Stage4Stage 1inputoutputStage2Stage3StageNYARN應(yīng)用程序類型 長應(yīng)用程長應(yīng)用程序和短序和短應(yīng)應(yīng)用程序用程序 長應(yīng)用程序長應(yīng)用程序Service、HTTP Server等 短應(yīng)用程序短應(yīng)用程序MR job、Spark Job

18、等以YARN為核心的生態(tài)系統(tǒng)運(yùn)行在YARN上的計算框架離線計算框架離線計算框架:MapReduceDAG計算框架計算框架:Tez流式計算框架流式計算框架:Storm內(nèi)存計算框架內(nèi)存計算框架:Spark圖計算框架圖計算框架:Giraph、GraphLib離線計算框架MapReduce 將計算過程分為將計算過程分為兩兩個個階階段段,Map和和Reduce Map 階段并行處理輸入數(shù)據(jù)Reduce階段對Map結(jié)果進(jìn)行匯總 Shuffle連連接接Map和和Reduce兩個階段兩個階段 Map Task將數(shù)據(jù)寫到本地磁盤Reduce Task從每個Map Task上讀取一份數(shù)據(jù) 僅適合離線批處理僅適合離

19、線批處理 具有很好的容錯性和擴(kuò)展性 適合簡單的批處理任務(wù) 缺點(diǎn)明顯缺點(diǎn)明顯 啟動開銷大、過多使用磁盤導(dǎo)致效率低下等MapReduce On YARN25MR App MstrNode ManagerMap TaskNode Manager66Reduce TaskClient1Container245Map Task777ContainerContainerContainerResourceManager3,86Applications ManagerResource SchedulerDAG計算框架Tez 多個作業(yè)之間存多個作業(yè)之間存在在數(shù)數(shù)據(jù)據(jù)依依賴賴關(guān)關(guān)系系,并并形形成成一一個個依依賴賴

20、關(guān)系關(guān)系有有 向圖向圖( Directed Acyclic Graph ),該圖的計算稱為),該圖的計算稱為 “DAG計算計算” Apache Tez:基:基于于YARN的的DAG計算框架計算框架 運(yùn)運(yùn)行行在在YARN之上之上,充分利充分利用用YARN的資源管理和容錯等功的資源管理和容錯等功能能; 提供了豐富的數(shù)據(jù)提供了豐富的數(shù)據(jù)流流(dataflow)API; 擴(kuò)展性良好擴(kuò)展性良好的的“Input-Processor-Output”運(yùn)行時模型運(yùn)行時模型; 動態(tài)生成物理數(shù)據(jù)流關(guān)動態(tài)生成物理數(shù)據(jù)流關(guān)系系。Phase 1Phase 2Phase 3Phase 4Phase 5MapReduceMa

21、pReduceReduceDAG計算框架TezHDFSMap1Reduce1HDFSHDFSMap2Reduce2HDFSWordCountTop KHDFSMap1Reduce12HDFSWordCount+Top KReduce2Job1Job2DAG JobUsing TezJob1Job2Job4Single JobUsingTez On YARNDAG App MstrNodeManager25Vertex-A TaskNode ManagerVertex-A TaskClient1Container245Vertex-A Task777ContainerContainerConta

22、inerResourceManager3,866Applications ManagerResource SchedulerTez優(yōu)化技術(shù) ApplicationMaster緩沖池緩沖池作業(yè)提交到AMPoolServer服務(wù)上預(yù)啟動若干個ApplicationMaster,形成一個ApplicationMaster緩沖池 預(yù)先啟動預(yù)先啟動ContainerApplicationMaster啟動時可以預(yù)先啟動若干個Container Container重用重用任務(wù)運(yùn)行完成后,ApplicationMaster不會馬上注銷它使用的Container,而是將它重新分配給其他未運(yùn)行的任務(wù)Tez應(yīng)用場景

23、 直接編直接編寫寫應(yīng)用程序應(yīng)用程序 Tez提供了一套通用編程接口 適合編寫有依賴關(guān)系的作業(yè) 優(yōu)優(yōu)化化Pig、Hive等引擎等引擎下一代Hive:Stinger 好處1:避免查詢語句轉(zhuǎn)換成過多的MapReduce作業(yè)后 產(chǎn)生大量不必要的網(wǎng)絡(luò)和磁盤IO 好處2:更加智能的任務(wù)處理引擎流式計算Storm 流式(流式(Streaming)計算計算,是是指被處指被處理理的的數(shù)據(jù)數(shù)據(jù) 像流水一像流水一樣不斷樣不斷流流入系統(tǒng),而入系統(tǒng),而系系統(tǒng)需要針統(tǒng)需要針對對每條每條 數(shù)據(jù)進(jìn)行數(shù)據(jù)進(jìn)行實(shí)時處實(shí)時處理理和計算和計算,并并永永不停止不停止(直直到用到用 戶顯式殺戶顯式殺死進(jìn)死進(jìn)程程); 傳統(tǒng)做法:傳統(tǒng)做法:由

24、消由消息息隊列和消息隊列和消息處處理者組成理者組成的的實(shí)時實(shí)時行實(shí)行實(shí)時時計算計算;化 性現(xiàn)?,F(xiàn)。處理網(wǎng)絡(luò)處理網(wǎng)絡(luò)進(jìn)進(jìn)缺乏自動缺乏健壯伸縮性差Storm出出引引自自:2013中國大數(shù)據(jù)技術(shù)大會中國大數(shù)據(jù)技術(shù)大會 肖肖康康:“Storm在實(shí)在實(shí)時網(wǎng)絡(luò)時網(wǎng)絡(luò)攻擊檢測和分析的應(yīng)用攻擊檢測和分析的應(yīng)用與與改進(jìn)改進(jìn)”, PPT:http:/ Tasks, topology 1Blot-A Tasks, topology1SupervisorExecutorExecutorWorkerExecutorExecutorWorkerSupervisorExecutorExecutorWorkerExecuto

25、rExecutorWorkerSpout Tasks, topology 1Blot-B Tasks, topology1Spout Tasks, topology 2Blot-1 Tasks, topology 2Blot-C Tasks, topology1Blot-B Tasks, topology1Blot-2 Tasks, topology 2Blot-1 Tasks, topology 2Blot-2 Tasks, topology 2Blot-2 Tasks, topology 2流式計算框架StormTaskTaskTaskTaskTaskTaskTaskTaskTaskSpo

26、utBlot-ABlot-BBlot-CStream GroupingStream GroupingTopologyHadoop MapReduce(MRv1)Storm系統(tǒng)系統(tǒng)服務(wù)服務(wù)JobTrackerNimbusTaskTrackerSupervisorChildWorker應(yīng)用應(yīng)用程序名稱程序名稱JobTopology編程編程模型模型Map/ReduceSpout/BlotShuffleStream GroupingStorm On YARNResource ManagerNode ManagerNode ManagerStorm SupervisiorNode ManagerYARN

27、-Storm ClientYARN-MPIClientYARN-MapReducee ClientStorm SubmissionResource RequestStorm Application Master Storm SupervisiorZookeeperNode ManagerMR AppMstrContainerMap TaskContainerStorm ClientStorm ClientNimbusWeb UI內(nèi)存計算框架Spark 克服克服MapReduce在迭代在迭代式式計算和計算和交交互互式計算方式計算方面面的的不足不足;引入引入RDD(Resilient Distri

28、buted Datasets)數(shù)據(jù)表)數(shù)據(jù)表示示模模型型;RDD是是集合集合,一一個個有有容錯機(jī)制容錯機(jī)制,可以被并可以被并能能夠被緩夠被緩存存到到內(nèi)存或內(nèi)存或磁磁盤盤上上行行操作的數(shù)據(jù)操作的數(shù)據(jù)。引自引自: “基于基于Spark on Yarn的淘寶數(shù)據(jù)的淘寶數(shù)據(jù)挖掘平挖掘平臺臺”,PPT:http:/ On YARNResource ManagerNode ManagerNode ManagerStandaloneExecutorBackenddNode ManagerYARN-Spark ClientYARN-MPIClientYARN-MapReducee ClientSpark SubmissionResource RequestClusterSchedulerSpark Application MasterStandaloneExecutorBackendNode ManagerMR App MstrContainerMap TaskContainerWeb UISpark生態(tài)系統(tǒng)主要內(nèi)容Ha

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論