Hadoop矾缓、HBase、Hive稻爬、Spark分布式系統(tǒng)架構(gòu)

? ?Hadoop嗜闻、HBase、Hive桅锄、Spark分布式系統(tǒng)架構(gòu)琉雳,本文通過(guò)全套部署方法來(lái)讓大家深入系統(tǒng)內(nèi)部以充分理解分布式系統(tǒng)架構(gòu)和他們之間的關(guān)系。

? ?機(jī)器學(xué)習(xí)竞滓、數(shù)據(jù)挖掘等各種大數(shù)據(jù)處理都離不開(kāi)各種開(kāi)源分布式系統(tǒng)咐吼,hadoop用戶分布式存儲(chǔ)和map-reduce計(jì)算吹缔,spark用于分布式機(jī)器學(xué)習(xí)商佑,hive是分布式數(shù)據(jù)庫(kù),hbase是分布式kv系統(tǒng)厢塘,看似互不相關(guān)的他們卻都是基于相同的hdfs存儲(chǔ)和yarn資源管理茶没,本文通過(guò)全套部署方法來(lái)讓大家深入系統(tǒng)內(nèi)部以充分理解分布式系統(tǒng)架構(gòu)和他們之間的關(guān)系

本文結(jié)構(gòu)

?首先,我們來(lái)分別部署一套hadoop晚碾、hbase抓半、hive、spark格嘁,在講解部署方法過(guò)程中會(huì)特殊說(shuō)明一些重要配置笛求,以及一些架構(gòu)圖以幫我們理解,目的是為后面講解系統(tǒng)架構(gòu)和關(guān)系打基礎(chǔ)。

? ?之后探入,我們會(huì)通過(guò)運(yùn)行一些程序來(lái)分析一下這些系統(tǒng)的功能

最后狡孔,我們會(huì)總結(jié)這些系統(tǒng)之間的關(guān)系

分布式hadoop部署

首先,在 http://hadoop.apache.org/releases.html 找到最新穩(wěn)定版tar包蜂嗽,我選擇的是

http://apache.fayea.com/hadoop/common/hadoop-2.7.2/hadoop-2.7.2.tar.gz

下載到 /data/apache 并解壓

在真正部署之前苗膝,我們先了解一下 hadoop 的架構(gòu)

hadoop分為幾大部分:yarn負(fù)責(zé)資源和任務(wù)管理、hdfs負(fù)責(zé)分布式存儲(chǔ)植旧、map-reduce負(fù)責(zé)分布式計(jì)算

先來(lái)了解一下yarn的架構(gòu):

yarn的兩個(gè)部分:資源管理辱揭、任務(wù)調(diào)度。

資源管理需要一個(gè)全局的ResourceManager(RM)和分布在每臺(tái)機(jī)器上的NodeManager協(xié)同工作病附,RM負(fù)責(zé)資源的仲裁问窃,NodeManager負(fù)責(zé)每個(gè)節(jié)點(diǎn)的資源監(jiān)控、狀態(tài)匯報(bào)和Container的管理

任務(wù)調(diào)度也需要ResourceManager負(fù)責(zé)任務(wù)的接受和調(diào)度完沪,在任務(wù)調(diào)度中泡躯,在Container中啟動(dòng)的ApplicationMaster(AM)負(fù)責(zé)這個(gè)任務(wù)的管理,當(dāng)任務(wù)需要資源時(shí)丽焊,會(huì)向RM申請(qǐng)较剃,分配到的Container用來(lái)起任務(wù),然后AM和這些Container做通信技健,AM和具體執(zhí)行的任務(wù)都是在Container中執(zhí)行的

yarn區(qū)別于第一代hadoop的部署(namenode写穴、jobtracker、tasktracker)

然后再看一下hdfs的架構(gòu):hdfs部分由NameNode雌贱、SecondaryNameNode和DataNode組成啊送。DataNode是真正的在每個(gè)存儲(chǔ)節(jié)點(diǎn)上管理數(shù)據(jù)的模塊,NameNode是對(duì)全局?jǐn)?shù)據(jù)的名字信息做管理的模塊欣孤,SecondaryNameNode是它的從節(jié)點(diǎn)馋没,以防掛掉。

最后再說(shuō)map-reduce:Map-reduce依賴于yarn和hdfs降传,另外還有一個(gè)JobHistoryServer用來(lái)看任務(wù)運(yùn)行歷史

hadoop雖然有多個(gè)模塊分別部署篷朵,但是所需要的程序都在同一個(gè)tar包中,所以不同模塊用到的配置文件都在一起婆排,讓我們來(lái)看幾個(gè)最重要的配置文件:

各種默認(rèn)配置:core-default.xml, hdfs-default.xml, yarn-default.xml, mapred-default.xml

各種web頁(yè)面配置:core-site.xml, hdfs-site.xml, yarn-site.xml, mapred-site.xml

從這些配置文件也可以看出hadoop的幾大部分是分開(kāi)配置的声旺。

除上面這些之外還有一些重要的配置:hadoop-env.sh、mapred-env.sh段只、yarn-env.sh腮猖,他們用來(lái)配置程序運(yùn)行時(shí)的java虛擬機(jī)參數(shù)以及一些二進(jìn)制、配置赞枕、日志等的目錄配置

下面我們真正的來(lái)修改必須修改的配置文件澈缺。

修改etc/hadoop/core-site.xml坪创,把配置改成:

1.

2.

3. fs.defaultFS

4. hdfs://127.0.0.1:8000

5.

6.

7. io.file.buffer.size

8. 131072

9.

10.

這里面配置的是hdfs的文件系統(tǒng)地址:本機(jī)的9001端口

修改etc/hadoop/hdfs-site.xml,把配置改成:

1.

2.

3. dfs.namenode.name.dir

4. file:/data/apache/dfs/name

5.

6.

7. dfs.datanode.data.dir

8. file:/data/apache/dfs/data

9.

10.

11. dfs.datanode.fsdataset.volume.choosing.policy

12. org.apache.hadoop.hdfs.server.datanode.fsdataset.AvailableSpaceVolumeChoosingPolicy 13.

14.

15. dfs.namenode.http-address

16. 127.0.0.1:50070

17.

18.

19. dfs.namenode.secondary.http-address

20. 127.0.0.1:8001

21.

22.

這里面配置的是hdfs文件存儲(chǔ)在本地的哪里以及secondary namenode的地址

修改etc/hadoop/yarn-site.xml姐赡,把配置改成:

1.

2.

3. yarn.resourcemanager.hostname

4. 127.0.0.1

5.

6. ?7. yarn.resourcemanager.webapp.address

8. 127.0.0.1:8088

9.

10.

11. yarn.nodemanager.aux-services

12. mapreduce_shuffle

13.

14.

15. yarn.nodemanager.aux-services.mapreduce.shuffle.class

16. org.apache.hadoop.mapred.ShuffleHandler

17.

18.

19. yarn.log-aggregation-enable

20. true

21.

22.

23. yarn.log-aggregation.retain-seconds

24. 864000

25.

26.

27. yarn.log-aggregation.retain-check-interval-seconds

28. 86400

29.

30.

31. yarn.nodemanager.remote-app-log-dir

32. /YarnApp/Logs

33.

34.

35. yarn.log.server.url

36. http://127.0.0.1:19888/jobhistory/logs/

37.

38.

39. yarn.nodemanager.local-dirs

40. /data/apache/tmp/

41.

42.

43. yarn.scheduler.maximum-allocation-mb

44. 5000

45.

46.

47. yarn.scheduler.minimum-allocation-mb

48. 1024

49.

50.

51. yarn.nodemanager.vmem-pmem-ratio

52. 4.1

53.

54.

55. yarn.nodemanager.vmem-check-enabled

56. false

57.

58.

這里面配置的是yarn的日志地址以及一些參數(shù)配置

通過(guò)cp etc/hadoop/mapred-site.xml.template etc/hadoop/mapred-site.xml創(chuàng)建etc/hadoop/mapred-site.xml误堡,內(nèi)容改為如下:

1.

2.

3. mapreduce.framework.name

4. yarn

5. Execution framework set to Hadoop YARN.

6.

7.

8. yarn.app.mapreduce.am.staging-dir

9. /tmp/hadoop-yarn/staging

10.

11.

12. mapreduce.jobhistory.address

13. 127.0.0.1:10020

14.

15.

16. mapreduce.jobhistory.webapp.address

17. 127.0.0.1:19888

18.

19.

20. mapreduce.jobhistory.done-dir

21. ${yarn.app.mapreduce.am.staging-dir}/history/done

22.

23.

24.

25. mapreduce.jobhistory.intermediate-done-dir

26. ${yarn.app.mapreduce.am.staging-dir}/history/done_intermediate

27.

28.

29. mapreduce.jobhistory.joblist.cache.size

30. 1000

31.

32.

33.

34. mapreduce.tasktracker.map.tasks.maximum

35. 8

36.

37.

38. mapreduce.tasktracker.reduce.tasks.maximum

39. 8

40.

41.

42. mapreduce.jobtracker.maxtasks.perjob 43. 5

44. The maximum number of tasks for a single job.

45. A value of -1 indicates that there is no maximum.

46.

47.

48.

這里面配置的是mapred的任務(wù)歷史相關(guān)配置

如果你的hadoop部署在多臺(tái)機(jī)器,那么需要修改etc/hadoop/slaves雏吭,把其他slave機(jī)器ip加到里面锁施,如果只部署在這一臺(tái),那么就留一個(gè)localhost即可

下面我們啟動(dòng)hadoop杖们,啟動(dòng)之前我們配置好必要的環(huán)境變量:

1.export JAVA_HOME="你的java安裝地址"

先啟動(dòng)hdfs悉抵,在此之前要格式化分布式文件系統(tǒng),執(zhí)行:

1../bin/hdfs namenode -format myclustername

如果格式化正痴辏可以看到/data/apache/dfs下生成了name目錄

然后啟動(dòng)namenode姥饰,執(zhí)行:

1../sbin/hadoop-daemon.sh --script hdfs start namenode

如果正常啟動(dòng),可以看到啟動(dòng)了相應(yīng)的進(jìn)程孝治,并且logs目錄下生成了相應(yīng)的日志

然后啟動(dòng)datanode列粪,執(zhí)行:

1../sbin/hadoop-daemon.sh --script hdfs start datanode

如果考慮啟動(dòng)secondary namenode,可以用同樣的方法啟動(dòng)

下面我們啟動(dòng)yarn谈飒,先啟動(dòng)resourcemanager岂座,執(zhí)行:

1../sbin/yarn-daemon.sh start resourcemanager

如果正常啟動(dòng),可以看到啟動(dòng)了相應(yīng)的進(jìn)程杭措,并且logs目錄下生成了相應(yīng)的日志

然后啟動(dòng)nodemanager费什,執(zhí)行:

1../sbin/yarn-daemon.sh start nodemanager

如果正常啟動(dòng),可以看到啟動(dòng)了相應(yīng)的進(jìn)程手素,并且logs目錄下生成了相應(yīng)的日志

然后啟動(dòng)MapReduce JobHistory Server鸳址,執(zhí)行:

1../sbin/mr-jobhistory-daemon.sh start historyserver

如果正常啟動(dòng),可以看到啟動(dòng)了相應(yīng)的進(jìn)程泉懦,并且logs目錄下生成了相應(yīng)的日志

下面我們看下web界面

打開(kāi) http://127.0.0.1:8088/cluster看下yarn管理的集群資源情況(因?yàn)樵趛arn-site.xml中我們配置了yarn.resourcemanager.webapp.address是127.0.0.1:8088)

打開(kāi) http://127.0.0.1:19888/jobhistory看下map-reduce任務(wù)的執(zhí)行歷史情況(因?yàn)樵趍apred-site.xml中我們配置了mapreduce.jobhistory.webapp.address是127.0.0.1:19888)

打開(kāi) http://127.0.0.1:50070/dfshealth.html 看下namenode的存儲(chǔ)系統(tǒng)情況(因?yàn)樵趆dfs-site.xml中我們配置了dfs.namenode.http-address是127.0.0.1:50070)

到此為止我們對(duì)hadoop的部署完成稿黍。下面試驗(yàn)一下hadoop的功能

先驗(yàn)證一下hdfs分布式文件系統(tǒng),執(zhí)行以下命令看是否有輸出:

1.[root@MYAY hadoop]# ./bin/hadoop fs -mkdir /input 2.[root@MYAY hadoop]# cat data 3.1 4.2 5.3 6.4 7.[root@MYAY hadoop]# ./bin/hadoop fs -put input /input 8.[root@MYAY hadoop]# ./bin/hadoop fs -ls /input 9.Found 1 items 10.-rw-r--r-- 3 root supergroup 8 2016-08-07 15:04 /input/data

這時(shí)通過(guò) http://127.0.0.1:50070/dfshealth.html 可以看到存儲(chǔ)系統(tǒng)的一些變化

下面我們以input為輸入啟動(dòng)一個(gè)mapreduce任務(wù)

1.[root@MYAY hadoop]# ./bin/hadoop jar ./share/hadoop/tools/lib/hadoop-streaming-2.7.2.jar -input /input -output /output -mapper cat -reducer wc

之后看是否產(chǎn)生了/output的輸出:

1.[root@MYAY hadoop]# ./bin/hadoop fs -ls /output

2.Found 2 items

3.-rw-r--r-- 3 root supergroup 0 2016-08-07 15:11 /output/_SUCCESS

4.-rw-r--r-- 3 root supergroup 25 2016-08-07 15:11 /output/part-00000

5.[root@MYAY hadoop]# ./bin/hadoop fs -cat /output/part-00000

6. 4 4 12

這時(shí)通過(guò) http://127.0.0.1:19888/jobhistory 可以看到mapreduce任務(wù)歷史:

也可以通過(guò) http://127.0.0.1:8088/cluster 看到任務(wù)歷史

為什么兩處都有歷史呢?他們的區(qū)別是什么呢?

我們看到cluster顯示的其實(shí)是每一個(gè)application的歷史信息崩哩,他是yarn(ResourceManager)的管理頁(yè)面巡球,也就是不管是mapreduce還是其他類似mapreduce這樣的任務(wù),都會(huì)在這里顯示琢锋,mapreduce任務(wù)的Application Type是MAPREDUCE辕漂,其他任務(wù)的類型就是其他了呢灶,但是jobhistory是專門顯示mapreduce任務(wù)的

hbase的部署

首先從 http://www.apache.org/dyn/closer.cgi/hbase/ 下載穩(wěn)定版安裝包吴超,我下的是https://mirrors.tuna.tsinghua.edu.cn/apache/hbase/stable/hbase-1.2.2-bin.tar.gz

解壓后修改conf/hbase-site.xml,改成:

1.

2.

3. hbase.cluster.distributed

4. true

5.

6.

7. hbase.rootdir

8. hdfs://127.0.0.1:8001/hbase

9.

10.

11. hbase.zookeeper.quorum

12. 127.0.0.1

13.

14.

其中hbase.rootdir配置的是hdfs地址鸯乃,ip:port要和hadoop/core-site.xml中的fs.defaultFS保持一致

其中hbase.zookeeper.quorum是zookeeper的地址鲸阻,可以配多個(gè)跋涣,我們?cè)囼?yàn)用就先配一個(gè)

啟動(dòng)hbase,執(zhí)行:

1../bin/start-hbase.sh

這時(shí)有可能會(huì)讓你輸入本地機(jī)器的密碼

啟動(dòng)成功后可以看到幾個(gè)進(jìn)程起來(lái)鸟悴,包括zookeeper的HQuorumPeer和hbase的HMaster陈辱、HRegionServer

下面我們?cè)囼?yàn)一下hbase的使用,執(zhí)行:

1.hbase(main):001:0> status

2.1 active master, 0 backup masters, 1 servers, 0 dead, 3.0000 average load

創(chuàng)建一張表

1.hbase(main):004:0> create 'table1','field1' 2.0 row(s) in 1.3430 seconds 3. 4.=> Hbase::Table - table1

獲取一張表

1.hbase(main):005:0> t1 = get_table('table1') 2.0 row(s) in 0.0010 seconds 3. 4.=> Hbase::Table - table1

添加一行

1.hbase(main):008:0> t1.put 'row1', 'field1:qualifier1', 'value1' 2.0 row(s) in 0.4160 seconds

讀取全部

1.hbase(main):009:0> t1.scan

2.ROW COLUMN+CELL

3. row1 column=field1:qualifier1, timestamp=1470621285068, value=value1

4.1 row(s) in 0.1000 seconds

我們同時(shí)也看到hdfs中多出了hbase存儲(chǔ)的目錄:

1.[root@MYAY hbase]# ./hadoop/bin/hadoop fs -ls /hbase

2.Found 7 items

3.drwxr-xr-x - root supergroup 0 2016-08-08 09:05 /hbase/.tmp

4.drwxr-xr-x - root supergroup 0 2016-08-08 09:58 /hbase/MasterProcWALs

5.drwxr-xr-x - root supergroup 0 2016-08-08 09:05 /hbase/WALs

6.drwxr-xr-x - root supergroup 0 2016-08-08 09:05 /hbase/data

7.-rw-r--r-- 3 root supergroup 42 2016-08-08 09:05 /hbase/hbase.id

8.-rw-r--r-- 3 root supergroup 7 2016-08-08 09:05 /hbase/hbase.version

9.drwxr-xr-x - root supergroup 0 2016-08-08 09:24 /hbase/oldWALs

這說(shuō)明hbase是以hdfs為存儲(chǔ)介質(zhì)的细诸,因此它具有分布式存儲(chǔ)擁有的所有優(yōu)點(diǎn)

hbase的架構(gòu)如下:

其中HMaster負(fù)責(zé)管理HRegionServer以實(shí)現(xiàn)負(fù)載均衡沛贪,負(fù)責(zé)管理和分配HRegion(數(shù)據(jù)分片),還負(fù)責(zé)管理命名空間和table元數(shù)據(jù)震贵,以及權(quán)限控制

HRegionServer負(fù)責(zé)管理本地的HRegion利赋、管理數(shù)據(jù)以及和hdfs交互。

Zookeeper負(fù)責(zé)集群的協(xié)調(diào)(如HMaster主從的failover)以及集群狀態(tài)信息的存儲(chǔ)

客戶端傳輸數(shù)據(jù)直接和HRegionServer通信

hive的部署

從 http://mirrors.hust.edu.cn/apache/hive 下載安裝包猩系,我下的是http://mirrors.hust.edu.cn/apache/hive/stable-2/apache-hive-2.1.0-bin.tar.gz

解壓后媚送,我們先準(zhǔn)備hdfs,執(zhí)行:

1.[root@MYAY hadoop]# ./hadoop/bin/hadoop fs -mkdir /tmp

2.[root@MYAY hadoop]# ./hadoop/bin/hadoop fs -mkdir /user

3.[root@MYAY hadoop]# ./hadoop/bin/hadoop fs -mkdir /user/hive

4.[root@MYAY hadoop]# ./hadoop/bin/hadoop fs -mkdir /user/hive/warehourse

5.[root@MYAY hadoop]# ./hadoop/bin/hadoop fs -chmod g+w /tmp

6.[root@MYAY hadoop]# ./hadoop/bin/hadoop fs -chmod g+w /user/hive/warehourse

使用hive必須提前設(shè)置好HADOOP_HOME環(huán)境變量寇甸,這樣它可以自動(dòng)找到我們的hdfs作為存儲(chǔ)塘偎,不妨我們把各種HOME和各種PATH都配置好,如:

1.HADOOP_HOME=/data/apache/hadoop

2.export HADOOP_HOME

3.HBASE_HOME=/data/apache/hbase

4.export HBASE_HOME 5.HIVE_HOME=/data/apache/hive

6.export HIVE_HOME

7.PATH=$PATH:$HOME/bin

8.PATH=$PATH:$HBASE_HOME/bin

9.PATH=$PATH:$HIVE_HOME/bin

10.PATH=$PATH:$HADOOP_HOME/bin

11.export PATH

拷貝創(chuàng)建hive-site.xml拿霉、hive-log4j2.properties吟秩、hive-exec-log4j2.properties,執(zhí)行

1.[root@MYAY hive]# cp conf/hive-default.xml.template conf/hive-site.xml

2.[root@MYAY hive]# cp conf/hive-log4j2.properties.template conf/hive-log4j2.properties

3.[root@MYAY hive]# cp conf/hive-exec-log4j2.properties.template conf/hive-exec-log4j2.properties

修改hive-site.xml绽淘,把其中的${system:java.io.tmpdir}都修改成/data/apache/tmp峰尝,你也可以自己設(shè)置成自己的tmp目錄,把${system:user.name}都換成用戶名

1.:%s/${system:java.io.tmpdir}/\/data\/apache\/tmp/g

2.:%s/${system:user.name}/myself/g

初始化元數(shù)據(jù)數(shù)據(jù)庫(kù)(默認(rèn)保存在本地的derby數(shù)據(jù)庫(kù)收恢,也可以配置成mysql)武学,注意,不要先執(zhí)行hive命令伦意,否則這一步會(huì)出錯(cuò)火窒,具體見(jiàn)http://stackoverflow.com/questions/35655306/hive-installation-issues-hive-metastore-database-is-not-initialized ,下面執(zhí)行:

1.[root@MYAY hive]# schematool -dbType derby -initSchema

成功之后我們可以以客戶端形式直接啟動(dòng)hive驮肉,如:

1.[root@MYAY hive]# hive

2.hive> show databases;

3.OK

4.default

5.Time taken: 1.886 seconds, Fetched: 1 row(s)

6.hive>

試著創(chuàng)建個(gè)數(shù)據(jù)庫(kù)是否可以:

1.hive> create database mydatabase;

2.OK

3.Time taken: 0.721 seconds

4.hive> show databases;

5.OK 6.default

7.mydatabase

8.Time taken: 0.051 seconds, Fetched: 2 row(s)

9.hive>

這樣我們還是單機(jī)的hive熏矿,不能在其他機(jī)器登陸,所以我們要以server形式啟動(dòng):

1.nohup hiveserver2 &> hive.log &

默認(rèn)會(huì)監(jiān)聽(tīng)10000端口离钝,這時(shí)可以通過(guò)jdbc客戶端連接這個(gè)服務(wù)訪問(wèn)hive

hive的具體使用在這里不贅述

spark部署

首先在 http://spark.apache.org/downloads.html 下載指定hadoop版本的安裝包票编,我下載的是http://d3kbcqa49mib13.cloudfront.net/spark-2.0.0-bin-hadoop2.7.tgz

spark有多種部署方式,首先支持單機(jī)直接跑卵渴,如執(zhí)行樣例程序:

1../bin/spark-submit examples/src/main/python/pi.py 10

它可以直接運(yùn)行得出結(jié)果

下面我們說(shuō)下spark集群部署方法:

解壓安裝包后直接執(zhí)行:

1.[root@MYAY spark-2.0.0-bin-hadoop2.7]# sbin/start-master.sh

這時(shí)可以打開(kāi) http://127.0.0.1:8080/ 看到web界面如下:

根據(jù)上面的url:spark://MYAY:7077慧域,我們?cè)賳?dòng)slave:

1.[root@MYAY spark-2.0.0-bin-hadoop2.7]# ./sbin/start-slave.sh spark://MYAY:7077

刷新web界面如下:

出現(xiàn)了一個(gè)worker,我們可以根據(jù)需要啟動(dòng)多個(gè)worker

下面我們把上面執(zhí)行過(guò)的任務(wù)部署到spark集群上執(zhí)行:

1../bin/spark-submit --master spark://MYAY:7077 examples/src/main/python/pi.py 10

web界面如下:

spark程序也可以部署到y(tǒng)arn集群上執(zhí)行浪读,也就是我們部署hadoop時(shí)啟動(dòng)的yarn

我們需要提前配置好HADOOP_CONF_DIR昔榴,如下:

1.HADOOP_CONF_DIR=${HADOOP_HOME}/etc/hadoop/

2.export HADOOP_CONF_DIR

下面我們把任務(wù)部署到y(tǒng)arn集群上去:

1../bin/spark-submit --master yarn --deploy-mode cluster examples/src/main/python/pi.py 10

看 http://127.0.0.1:8088/cluster 效果如下:

總結(jié)一下

hdfs是所有hadoop生態(tài)的底層存儲(chǔ)架構(gòu)辛藻,它主要完成了分布式存儲(chǔ)系統(tǒng)的邏輯,凡是需要存儲(chǔ)的都基于其上構(gòu)建

yarn是負(fù)責(zé)集群資源管理的部分互订,這個(gè)資源包括計(jì)算資源和存儲(chǔ)資源吱肌,因此它也支撐了hdfs和各種計(jì)算模塊

map-reduce組件主要完成了map-reduce任務(wù)的調(diào)度邏輯,它依賴于hdfs作為輸入輸出及中間過(guò)程的存儲(chǔ)仰禽,因此在hdfs之上氮墨,它也依賴yarn為它分配資源,因此也在yarn之上

hbase基于hdfs存儲(chǔ)吐葵,通過(guò)獨(dú)立的服務(wù)管理起來(lái)勇边,因此僅在hdfs之上

hive基于hdfs存儲(chǔ),通過(guò)獨(dú)立的服務(wù)管理起來(lái)折联,因此僅在hdfs之上

spark基于hdfs存儲(chǔ)粒褒,即可以依賴yarn做資源分配計(jì)算資源也可以通過(guò)獨(dú)立的服務(wù)管理,因此在hdfs之上也在yarn之上诚镰,從結(jié)構(gòu)上看它和mapreduce一層比較像

總之奕坟,每一個(gè)系統(tǒng)負(fù)責(zé)了自己擅長(zhǎng)的一部分,同時(shí)相互依托清笨,形成了整個(gè)hadoop生態(tài)月杉。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市抠艾,隨后出現(xiàn)的幾起案子苛萎,更是在濱河造成了極大的恐慌,老刑警劉巖检号,帶你破解...
    沈念sama閱讀 219,427評(píng)論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件腌歉,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡齐苛,警方通過(guò)查閱死者的電腦和手機(jī)翘盖,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,551評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)凹蜂,“玉大人馍驯,你說(shuō)我怎么就攤上這事÷耆” “怎么了汰瘫?”我有些...
    開(kāi)封第一講書(shū)人閱讀 165,747評(píng)論 0 356
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)擂煞。 經(jīng)常有香客問(wèn)我混弥,道長(zhǎng),這世上最難降的妖魔是什么颈娜? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 58,939評(píng)論 1 295
  • 正文 為了忘掉前任剑逃,我火速辦了婚禮浙宜,結(jié)果婚禮上官辽,老公的妹妹穿的比我還像新娘蛹磺。我一直安慰自己,他們只是感情好同仆,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,955評(píng)論 6 392
  • 文/花漫 我一把揭開(kāi)白布萤捆。 她就那樣靜靜地躺著,像睡著了一般俗批。 火紅的嫁衣襯著肌膚如雪俗或。 梳的紋絲不亂的頭發(fā)上,一...
    開(kāi)封第一講書(shū)人閱讀 51,737評(píng)論 1 305
  • 那天岁忘,我揣著相機(jī)與錄音辛慰,去河邊找鬼。 笑死干像,一個(gè)胖子當(dāng)著我的面吹牛帅腌,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播麻汰,決...
    沈念sama閱讀 40,448評(píng)論 3 420
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼速客,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了五鲫?” 一聲冷哼從身側(cè)響起溺职,我...
    開(kāi)封第一講書(shū)人閱讀 39,352評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎位喂,沒(méi)想到半個(gè)月后浪耘,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,834評(píng)論 1 317
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡塑崖,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,992評(píng)論 3 338
  • 正文 我和宋清朗相戀三年点待,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片弃舒。...
    茶點(diǎn)故事閱讀 40,133評(píng)論 1 351
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡癞埠,死狀恐怖聋呢,靈堂內(nèi)的尸體忽然破棺而出苗踪,到底是詐尸還是另有隱情,我是刑警寧澤削锰,帶...
    沈念sama閱讀 35,815評(píng)論 5 346
  • 正文 年R本政府宣布通铲,位于F島的核電站,受9級(jí)特大地震影響器贩,放射性物質(zhì)發(fā)生泄漏颅夺。R本人自食惡果不足惜朋截,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,477評(píng)論 3 331
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望吧黄。 院中可真熱鬧部服,春花似錦、人聲如沸拗慨。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 32,022評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)赵抢。三九已至剧蹂,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間烦却,已是汗流浹背宠叼。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 33,147評(píng)論 1 272
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留其爵,地道東北人冒冬。 一個(gè)月前我還...
    沈念sama閱讀 48,398評(píng)論 3 373
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像醋闭,于是被迫代替她去往敵國(guó)和親窄驹。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,077評(píng)論 2 355

推薦閱讀更多精彩內(nèi)容