一、Hadoop 生態(tài)圈組件介紹
1.Hadoop 生態(tài)圈
Hadoop是目前應(yīng)用最為廣泛的分布式大數(shù)據(jù)處理框架,其具備可靠、高效、可伸縮等特點。
Hadoop的核心組件是HDFS、MapReduce。隨著處理任務(wù)不同,各種組件相繼出現(xiàn),豐富Hadoop生態(tài)圈,目前生態(tài)圈結(jié)構(gòu)大致如圖所示:
根據(jù)服務(wù)對象和層次分為:數(shù)據(jù)來源層、數(shù)據(jù)傳輸層、數(shù)據(jù)存儲層、資源管理層、數(shù)據(jù)計算層、任務(wù)調(diào)度層、業(yè)務(wù)模型層。
1.1.HDFS(分布式文件系統(tǒng))
HDFS是整個hadoop體系的基礎(chǔ),負責數(shù)據(jù)的存儲與管理。HDFS有著高容錯性(fault-tolerant)的特點,并且設(shè)計用來部署在低廉的(low-cost)硬件上。而且它提供高吞吐量(high throughput)來訪問應(yīng)用程序的數(shù)據(jù),適合那些有著超大數(shù)據(jù)集(large data set)的應(yīng)用程序。
1.2.MapReduce(分布式計算框架)
MapReduce是一種基于磁盤的分布式并行批處理計算模型,用于處理大數(shù)據(jù)量的計算。其中Map對應(yīng)數(shù)據(jù)集上的獨立元素進行指定的操作,生成鍵-值對形式中間,Reduce則對中間結(jié)果中相同的鍵的所有值進行規(guī)約,以得到最終結(jié)果。
1.3.Spark(分布式計算框架)
Spark是一種基于內(nèi)存的分布式并行計算框架,不同于MapReduce的是——Job中間輸出結(jié)果可以保存在內(nèi)存中,從而不再需要讀寫HDFS,因此Spark能更好地適用于數(shù)據(jù)挖掘與機器學(xué)習等需要迭代的MapReduce的算法。
1.4.Flink(分布式計算框架)
Flink是一個基于內(nèi)存的分布式并行處理框架,類似于Spark,但在部分設(shè)計思想有較大出入。對 Flink 而言,其所要處理的主要場景就是流數(shù)據(jù),批數(shù)據(jù)只是流數(shù)據(jù)的一個極限特例而已。
Flink VS Spark
Spark中,RDD在運行時是表現(xiàn)為Java Object,而Flink主要表現(xiàn)為logical plan。所以在Flink中使用的類Dataframe api是被作為第一優(yōu)先級來優(yōu)化的。但是相對來說在spark RDD中就沒有了這塊的優(yōu)化了。
Spark中,對于批處理有RDD,對于流式有DStream,不過內(nèi)部實際還是RDD抽象;在Flink中,對于批處理有DataSet,對于流式我們有DataStreams,但是是同一個公用的引擎之上兩個獨立的抽象,并且Spark是偽流處理,而Flink是真流處理。`
1.5.Yarn/Mesos(分布式資源管理器)
YARN是下一代MapReduce,即MRv2,是在第一代MapReduce基礎(chǔ)上演變而來的,主要是為了解決原始Hadoop擴展性較差,不支持多計算框架而提出的。
Mesos誕生于UC Berkeley的一個研究項目,現(xiàn)已成為Apache項目,當前有一些公司使用Mesos管理集群資源,比如Twitter。與yarn類似,Mesos是一個資源統(tǒng)一管理和調(diào)度的平臺,同樣支持比如MR、steaming等多種運算框架。
1.6.Zookeeper(分布式協(xié)作服務(wù))
解決分布式環(huán)境下的數(shù)據(jù)管理問題:統(tǒng)一命名,狀態(tài)同步,集群管理,配置同步等。
Hadoop的許多組件依賴于Zookeeper,它運行在計算機集群上面,用于管理Hadoop操作。
1.7.Sqoop(數(shù)據(jù)同步工具)
Sqoop是SQL-to-Hadoop的縮寫,主要用于傳統(tǒng)數(shù)據(jù)庫和Hadoop之前傳輸數(shù)據(jù)。數(shù)據(jù)的導(dǎo)入和導(dǎo)出本質(zhì)上是Mapreduce程序,充分利用了MR的并行化和容錯性。
Sqoop利用數(shù)據(jù)庫技術(shù)描述數(shù)據(jù)架構(gòu),用于在關(guān)系數(shù)據(jù)庫、數(shù)據(jù)倉庫和Hadoop之間轉(zhuǎn)移數(shù)據(jù)。
1.8.Hive/Impala(基于Hadoop的數(shù)據(jù)倉庫)
Hive定義了一種類似SQL的查詢語言(HQL),將SQL轉(zhuǎn)化為MapReduce任務(wù)在Hadoop上執(zhí)行。通常用于離線分析。
HQL用于運行存儲在Hadoop上的查詢語句,Hive讓不熟悉MapReduce開發(fā)人員也能編寫數(shù)據(jù)查詢語句,然后這些語句被翻譯為Hadoop上面的MapReduce任務(wù)。
Impala是用于處理存儲在Hadoop集群中的大量數(shù)據(jù)的MPP(大規(guī)模并行處理)SQL查詢引擎。 它是一個用C ++和Java編寫的開源軟件。 與Apache Hive不同,Impala不基于MapReduce算法。 它實現(xiàn)了一個基于守護進程的分布式架構(gòu),它負責在同一臺機器上運行的查詢執(zhí)行的所有方面。因此執(zhí)行效率高于Apache Hive。
1.9.HBase(分布式列存儲數(shù)據(jù)庫)
HBase是一個建立在HDFS之上,面向列的針對結(jié)構(gòu)化數(shù)據(jù)的可伸縮、高可靠、高性能、分布式和面向列的動態(tài)模式數(shù)據(jù)庫。
HBase采用了BigTable的數(shù)據(jù)模型:增強的稀疏排序映射表(Key/Value),其中,鍵由行關(guān)鍵字、列關(guān)鍵字和時間戳構(gòu)成。
HBase提供了對大規(guī)模數(shù)據(jù)的隨機、實時讀寫訪問,同時,HBase中保存的數(shù)據(jù)可以使用MapReduce來處理,它將數(shù)據(jù)存儲和并行計算完美地結(jié)合在一起。
1.10.Flume(日志收集工具)
Flume是一個可擴展、適合復(fù)雜環(huán)境的海量日志收集系統(tǒng)。它將數(shù)據(jù)從產(chǎn)生、傳輸、處理并最終寫入目標的路徑的過程抽象為數(shù)據(jù)流,在具體的數(shù)據(jù)流中,數(shù)據(jù)源支持在Flume中定制數(shù)據(jù)發(fā)送方,從而支持收集各種不同協(xié)議數(shù)據(jù)。
同時,F(xiàn)lume數(shù)據(jù)流提供對日志數(shù)據(jù)進行簡單處理的能力,如過濾、格式轉(zhuǎn)換等。此外,F(xiàn)lume還具有能夠?qū)⑷罩緦懲鞣N數(shù)據(jù)目標(可定制)的能力。
1.11.Kafka(分布式消息隊列)
Kafka是一種高吞吐量的分布式發(fā)布訂閱消息系統(tǒng),它可以處理消費者規(guī)模的網(wǎng)站中的所有動作流數(shù)據(jù)。實現(xiàn)了主題、分區(qū)及其隊列模式以及生產(chǎn)者、消費者架構(gòu)模式。
生產(chǎn)者組件和消費者組件均可以連接到KafKa集群,而KafKa被認為是組件通信之間所使用的一種消息中間件。KafKa內(nèi)部氛圍很多Topic(一種高度抽象的數(shù)據(jù)結(jié)構(gòu)),每個Topic又被分為很多分區(qū)(partition),每個分區(qū)中的數(shù)據(jù)按隊列模式進行編號存儲。被編號的日志數(shù)據(jù)稱為此日志數(shù)據(jù)塊在隊列中的偏移量(offest),偏移量越大的數(shù)據(jù)塊越新,即越靠近當前時間。生產(chǎn)環(huán)境中的最佳實踐架構(gòu)是Flume+KafKa+Spark Streaming。
1.12.Oozie(工作流調(diào)度器)
Oozie是一個可擴展的工作體系,集成于Hadoop的堆棧,用于協(xié)調(diào)多個MapReduce作業(yè)的執(zhí)行。它能夠管理一個復(fù)雜的系統(tǒng),基于外部事件來執(zhí)行,外部事件包括數(shù)據(jù)的定時和數(shù)據(jù)的出現(xiàn)。
Oozie工作流是放置在控制依賴DAG(有向無環(huán)圖 Direct Acyclic Graph)中的一組動作(例如,Hadoop的Map/Reduce作業(yè)、Pig作業(yè)等),其中指定了動作執(zhí)行的順序。
Oozie使用hPDL(一種XML流程定義語言)來描述這個圖。
2.Hadoop 主要模塊
前文介紹了 Hadoop 單節(jié)點搭建,大家對 Hadoop 有了直觀的感受,配置的幾個主要 *-site.xml 也代表了主要模塊:
2.1.core-site.xml(工具模塊)
包括Hadoop常用的工具類,由原來的Hadoopcore部分更名而來。主要包括系統(tǒng)配置工具Configuration、遠程過程調(diào)用RPC、序列化機制和Hadoop抽象文件系統(tǒng)FileSystem等。它們?yōu)樵谕ㄓ糜布洗罱ㄔ朴嬎悱h(huán)境提供基本的服務(wù),并為運行在該平臺上的軟件開發(fā)提供了所需的API。
2.2.hdfs-site.xml(數(shù)據(jù)存儲模塊)
分布式文件系統(tǒng),提供對應(yīng)用程序數(shù)據(jù)的高吞吐量,高伸縮性,高容錯性的訪問。是Hadoop體系中數(shù)據(jù)存儲管理的基礎(chǔ)。它是一個高度容錯的系統(tǒng),能檢測和應(yīng)對硬件故障,用于在低成本的通用硬件上運行。HDFS簡化了文件的一致性模型,通過流式數(shù)據(jù)訪問,提供高吞吐量應(yīng)用程序數(shù)據(jù)訪問功能,適合帶有大型數(shù)據(jù)集的應(yīng)用程序。
namenode+ datanode + secondarynode
2.3.mapred-site.xml(數(shù)據(jù)處理模塊)
基于YARN的大型數(shù)據(jù)集并行處理系統(tǒng)。是一種計算模型,用以進行大數(shù)據(jù)量的計算。Hadoop的MapReduce實現(xiàn),和Common、HDFS一起,構(gòu)成了Hadoop發(fā)展初期的三個組件。MapReduce將應(yīng)用劃分為Map和Reduce兩個步驟,其中Map對數(shù)據(jù)集上的獨立元素進行指定的操作,生成鍵-值對形式中間結(jié)果。Reduce則對中間結(jié)果中相同“鍵”的所有“值”進行規(guī)約,以得到最終結(jié)果。MapReduce這樣的功能劃分,非常適合在大量計算機組成的分布式并行環(huán)境里進行數(shù)據(jù)處理。
2.4.yarn-site.xml(作業(yè)調(diào)度+資源管理平臺)
任務(wù)調(diào)度和集群資源管理
resourcemanager + nodemanager
二、重點介紹mapreduce概述
MadReduce概要
定義 : 是一個分布式運算程序的編程框架,是 Hadoop 內(nèi)部編寫的。
功能 : 用戶編寫的業(yè)務(wù)邏輯代碼和自帶默認組件整合成一個完整的分布式運算程序,并發(fā)運行在一個Hadoop集群上。
優(yōu)缺點:
優(yōu)點:
1.易于編程 — 底層實現(xiàn)了接口
2.良好的擴展性 — 可增加節(jié)點
3.高容錯性 — 保證任務(wù)的完成
4.適合PB級別以上的海量數(shù)據(jù)的離線處理 — 可實現(xiàn)服務(wù)器內(nèi)節(jié)點并發(fā)工作
缺點:
1.不擅長實時計算 — 無法做到毫秒或者秒級內(nèi)返回結(jié)果
2.不擅長流式計算 — MR 的輸入數(shù)據(jù)集是靜態(tài)的,流式計算的輸入數(shù)據(jù)是動態(tài)的
3.不擅長DAG(有向圖)計算 — 不建議使用,會導(dǎo)致MR一直寫入到磁盤造成大量磁盤IO,影響性能
整體架構(gòu)流程
MR 主要分成 map 和 reduce 兩個階段,核心思想就是**“分而治之”。Mapper主要負責“拆分”,即把復(fù)雜的任務(wù)分解成若干個“小任務(wù)”進行處理。 Reduce 階段是將 Mapper 階段得到的結(jié)果進行匯總**。
三.重點介紹spark技術(shù)特點和概述(運行架構(gòu)與原理可參考書本·11頁)
Spark概述
Spark最初由美國加州伯克利大學(xué)(UCBerkeley)的AMP(Algorithms, Machines and People)實驗室于2009年開發(fā),是基于內(nèi)存計算的大數(shù)據(jù)并行計算框架,可用于構(gòu)建大型的、低延遲的數(shù)據(jù)分析應(yīng)用程序。Spark在誕生之初屬于研究性項目,其諸多核心理念均源自學(xué)術(shù)研究論文。2013年,Spark加入Apache孵化器項目后,開始獲得迅猛的發(fā)展,如今已成為Apache軟件基金會最重要的三大分布式計算系統(tǒng)開源項目之一(即Hadoop、Spark、Storm)
Spark特點
1.運行速度迅速:Spark基于內(nèi)存進行計算(當然也有部分計算基于磁盤,比如shuffle),內(nèi)存計算下,Spark 比 Hadoop 快100倍。。
2.容易上手開發(fā):Spark的基于RDD的計算模型,比Hadoop的基于Map-Reduce的計算模型要更加易于理解,更加易于上手開發(fā),實現(xiàn)各種復(fù)雜功能,比如二次排序、topn等復(fù)雜操作時,更加便捷。
3.超強的通用性:Spark提供了Spark RDD、Spark SQL、Spark Streaming、Spark MLlib、Spark GraphX等技術(shù)組件,可以一站式地完成大數(shù)據(jù)領(lǐng)域的離線批處理、交互式查詢、流式計算、機器學(xué)習、圖計算等常見的任務(wù)。
4.集成Hadoop:Spark并不是要成為一個大數(shù)據(jù)領(lǐng)域的“獨裁者”,一個人霸占大數(shù)據(jù)領(lǐng)域所有的“地盤”,而是與Hadoop進行了高度的集成,兩者可以完美的配合使用。Hadoop的HDFS、Hive、HBase負責存儲,YARN負責資源調(diào)度;Spark復(fù)雜大數(shù)據(jù)計算。實際上,Hadoop+Spark的組合,是一種“double win”的組合。
5.極高的活躍度:Spark目前是Apache基金會的頂級項目,全世界有大量的優(yōu)秀工程師是Spark的committer。并且世界上很多頂級的IT公司都在大規(guī)模地使用Spark。
Spark結(jié)構(gòu)主要分為四個部分:
1. 用來提交作業(yè)的Client程序:client是什么呢,比如spark中提交程序的shell窗口,宏觀上講,是一臺提交程序的物理機。負責將打包好的spark程序提交到集群中,提交完程序這個客戶端客戶端程序還發(fā)揮什么作用呢?yarn-client模式下,客戶端提交程序后,在該客戶端上又運行著一個driver程序,這個client的作用持續(xù)到spark程序運行完畢,而yarn-cluster模式下,客戶端提交程序后就不再發(fā)揮任何作用,也就是說僅僅發(fā)揮了提交程序包的作用。
2.用來驅(qū)動程序運行的Driver程序:driver完成的工作主要是創(chuàng)建用戶的上下文,這個上下文中包括很多控件比如DADScheduler、TaskScheduler等等,這些控件完成的工作也稱為driver完成的。driver中完成RDD的生成,將RDD劃分成有向無環(huán)圖,生成task,接受master的指示將task發(fā)送到worker節(jié)點上進行執(zhí)行等工作。
3.用來進行資源調(diào)度的ClusterManager: 整個集群的master,主要完成資源的調(diào)度,涉及一些調(diào)度算法,自帶的資源管理器只支持FIFO調(diào)度,yarn和mesos還支持其他方式的調(diào)度算發(fā)。CM一邊和driver打交道 ,一邊和worker打交道,driver向CM申請資源,worker通過心跳機制向CM匯報自己的資源和運行情況,CM告訴driver應(yīng)該向哪些worker發(fā)送消息, 然后driver把task發(fā)送到這些可用的worker上
4.用來執(zhí)行程序的worker:worker用多個executor來執(zhí)行程序
整個Spark集群采用的是master-slaver模型,master(CluserManager)負責集群整體資源的調(diào)度和管理并管理worker,worker管理其上的executor。
四.對比mapreduce和spark的區(qū)別
1.spark處理數(shù)據(jù)是基于內(nèi)存的,而MapReduce是基于磁盤處理數(shù)據(jù)的。
? MapReduce是將中間結(jié)果保存到磁盤中,減少了內(nèi)存占用,犧牲了計算性能。
? Spark是將計算的中間結(jié)果保存到內(nèi)存中,可以反復(fù)利用,提高了處理數(shù)據(jù)的性能。
?
2.Spark在處理數(shù)據(jù)時構(gòu)建了DAG有向無環(huán)圖,減少了shuffle和數(shù)據(jù)落地磁盤的次數(shù)
? Spark 計算比 MapReduce 快的根本原因在于 DAG 計算模型。一般而言,DAG 相比MapReduce 在大多數(shù)情況下可以減少 shuffle 次數(shù)。Spark 的 DAGScheduler 相當于一個改進版的 MapReduce,如果計算不涉及與其他節(jié)點進行數(shù)據(jù)交換,Spark 可以在內(nèi)存中一次性完成這些操作,也就是中間結(jié)果無須落盤,減少了磁盤 IO 的操作。但是,如果計算過程中涉及數(shù)據(jù)交換,Spark 也是會把 shuffle 的數(shù)據(jù)寫磁盤的!有一個誤區(qū),Spark 是基于內(nèi)存的計算,所以快,這不是主要原因,要對數(shù)據(jù)做計算,必然得加載到內(nèi)存,Hadoop 也是如此,只不過 Spark 支持將需要反復(fù)用到的數(shù)據(jù)給 Cache 到內(nèi)存中,減少數(shù)據(jù)加載耗時,所以 Spark 跑機器學(xué)習算法比較在行(需要對數(shù)據(jù)進行反復(fù)迭代)
3.Spark是粗粒度資源申請,而MapReduce是細粒度資源申請
? 粗粒度申請資源指的是在提交資源時,spark會提前向資源管理器(yarn,mess)將資源申請完畢,如果申請不到資源就等待,如果申請到就運行task任務(wù),而不需要task再去申請資源。
? MapReduce是細粒度申請資源,提交任務(wù),task自己申請資源自己運行程序,自己釋放資源,雖然資源能夠充分利用,但是這樣任務(wù)運行的很慢。
五.結(jié)構(gòu)化數(shù)據(jù)與非結(jié)構(gòu)化數(shù)據(jù)是什么?
結(jié)構(gòu)化數(shù)據(jù):即行數(shù)據(jù),存儲在數(shù)據(jù)庫里,可以用二維表結(jié)構(gòu)來邏輯表達實現(xiàn)的數(shù)據(jù)。
非結(jié)構(gòu)化數(shù)據(jù):不方便用數(shù)據(jù)庫二維邏輯表來表現(xiàn)的數(shù)據(jù),包括所有格式的辦公文檔、文本、圖片、XML、HTML、各類報表、圖像和音頻/視頻信息等等。
六.Linux簡單操作命令實訓(xùn)練習(講義里面的Linux相關(guān)命令)
1. 實驗一:Linux 常用命令
1.1. 實驗?zāi)康?/p>
完成本實驗,您應(yīng)該能夠:
? 掌握 linux 操作系統(tǒng)常用命令
1.2. 實驗要求
? 熟悉常用 Linux 操作系統(tǒng)命令
1.3. 實驗環(huán)境
本實驗所需之主要資源環(huán)境如表 1-1 所示。
表 1-1 資源環(huán)境 服務(wù)器集群 單節(jié)點,機器最低配置:雙核 CPU、8GB 內(nèi)存、100G 硬盤 運行環(huán)境 CentOS 7.4 服務(wù)和組件 服務(wù)和組件根據(jù)實驗需求安裝
1.4. 實驗過程
1.4.1. 實驗任務(wù)一:文件與目錄操作
1.4.1.1. 步驟一:pwd 命令
格式:pwd
功能:顯示當前所在目錄(即工作目錄)。
?[root@localhost ~]# pwd
/root
1.4.1.2. 步驟二:ls 命令
格式:ls [選項] [文件|目錄]
功能:顯示指定目錄中的文件或子目錄信息。當不指定文件或目錄時,顯示 當前工作目錄中的文件或子目錄信息。
命令常用選項如下:
-a :全部的檔案,連同隱藏檔( 開頭為 . 的檔案) 一起列出來。
-l :長格式顯示,包含文件和目錄的詳細信息。
-R :連同子目錄內(nèi)容一起列出來。 說明:命令“l(fā)s –l”設(shè)置了別名:ll,即輸入 ll 命令,執(zhí)行的是 ls –l 4 命令。
[root@localhost ~]# ls -a /
[root@localhost ~]# ls -l /
[root@localhost ~]# ls -R /home/
1.4.1.3. 步驟三:cd 命令
格式:cd
功能:用于切換當前用戶所在的工作目錄,其中路徑可以是絕對路徑也可以 是相對路徑。
[root@localhost ~]# cd /etc/sysconfig/network-scripts/
[root@localhost network-scripts]# pwd /etc/sysconfig/network-scripts
[root@localhost network-scripts]# cd ..
[root@localhost sysconfig]# ls anaconda cpupower init kernel network-scripts selinux authconfig crond ip6tables-config man-db rdisc sshd cbq ebtables-config iptables-config modules readonly-root wpa_supplicant chronyd firewalld irqbalance netconsole rsyslog console grub kdump network run-parts
[root@localhost sysconfig]# cd ./network-scripts/
[root@localhost network-scripts]# pwd /etc/sysconfig/network-scripts
[root@localhost network-scripts]
1.4.1.4. 步驟四:mkdir 命令
格式: mkdir [選項] 目錄
功能:用于創(chuàng)建目錄。創(chuàng)建目錄前需保證當前用戶對當前路徑有修改的權(quán) 限。參數(shù) -p 用于創(chuàng)建多級文件夾。
[root@localhost ~]# mkdir test
[root@localhost ~]# ls anaconda-ks.cfg test
[root@localhost ~]# mkdir -p /test/test1/test2
1.4.1.5. 步驟五:rm 命令
格式: rm [選項] <文件>
功能:用于刪除文件或目錄,常用選項-r -f,-r 表示刪除目錄,也可以用于 刪除文件,-f 表示強制刪除,不需要確認。刪除文件前需保證當前用戶對當 前路徑有修改的權(quán)限。
[root@localhost ~]# rm -rf /test/
1.4.1.6. 步驟六:cp 命令
格式: cp [選項]?
功能:復(fù)制文件或目錄。
[root@localhost ~]# cp /etc/profile ./
[root@localhost ~]# ls
anaconda-ks.cfg profile test
1.4.1.7. 步驟七:mv 命令
格式:mv [選項]
功能:移動文件或?qū)ζ涓拿3S眠x項-i -f -b,-i 表示若存在同名文件,則向用戶 詢問是否覆蓋;-f 直接覆蓋已有文件,不進行任何提示;-b 當文件存在時,覆蓋 前為其創(chuàng)建一個備份。
[root@localhost ~]# ls
anaconda-ks.cfg profile test
[root@localhost ~]# mv profile test/
[root@localhost ~]# ls test/
Profile
1.4.1.8. 步驟八:cat 命令
格式:cat [選項] [文件]
功能:查看文件內(nèi)容。常用選項:-n 顯示行號(空行也編號)。
[root@localhost ~]# cat -n test/profile
1.4.1.9. 步驟九:tar 命令
格式:tar [選項] [檔案名] [文件或目錄]
功能:為文件和目錄創(chuàng)建檔案。利用 tar 命令,可以把一大堆的文件和目錄 全部打包成一個文件,這對于備份文件或?qū)讉€文件組合成為一個文件以便 于網(wǎng)絡(luò)傳輸是非常有用的。該命令還可以反過來,將檔案文件中的文件和目 錄釋放出來。
常用選項:
-c 建立新的備份文件。
-C 切換工作目錄,先進入指定目錄再執(zhí)行壓縮/解壓縮操作,可用于 僅壓縮特定目錄里的內(nèi)容或解壓縮到特定目錄。
-x 從歸檔文件中提取文件。
-z 通過 gzip 指令壓縮/解壓縮文件,文件名為*.tar.gz。
-f 指定備份文件。
-v 顯示命令執(zhí)行過程。
[root@localhost ~]# ls
anaconda-ks.cfg test
[root@localhost ~]# tar -cvf test.tar test
test/
test/profile
[root@localhost ~]# ls
anaconda-ks.cfg test test.tar
[root@localhost ~]# tar -zcvf test.tar.gz test
test/
test/profile
[root@localhost ~]# ls
anaconda-ks.cfg test test.tar test.tar.gz
[root@localhost ~]# tar -zxvf test.tar.gz -C /opt/
test/
test/profile
[root@localhost ~]# ls /opt/文章來源:http://www.zghlxwxcb.cn/news/detail-847282.html
Test文章來源地址http://www.zghlxwxcb.cn/news/detail-847282.html
到了這里,關(guān)于震驚——云上大數(shù)據(jù)居然已進入十大熱門專業(yè)之一(這背后的的原因令人發(fā)指....的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!