自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

大數(shù)據(jù)利器:Spark的單機(jī)部署與測(cè)試筆記

數(shù)據(jù)庫(kù) Spark
Spark作為最有可能代替mapreduce的分布式計(jì)算框架,正受到廣泛的關(guān)注。相比Hadoop來(lái)說(shuō),Spark的中間計(jì)算結(jié)果存于內(nèi)存無(wú)疑給計(jì)算過(guò)程節(jié)省了很多時(shí)間,于是想試試看其與Hadoop有什么不一樣的地方,就有了這篇Spark的單機(jī)部署與測(cè)試筆記。

一、硬件環(huán)境

操作系統(tǒng): ubuntu-13.04-desktop-i386

JAVA: jdk1.7

SSH配置: openssh-server

二、資源準(zhǔn)備

什么是Spark?以下為Spark官網(wǎng)的一句話簡(jiǎn)介:

Apache Spark™ is a fast and general engine for large-scale data processing.

Spark包資源下載地址:點(diǎn)擊進(jìn)入下載頁(yè)面

我安裝的版本是:0.9.1版本,源碼包為:spark-0.9.1.tgz

Spark有以下四種運(yùn)行模式:

  • local:本地單進(jìn)程模式,用于本地開(kāi)發(fā)測(cè)試Spark代碼

  • standalone:分布式集群模式,Master-Worker架構(gòu),Master負(fù)責(zé)調(diào)度,Worker負(fù)責(zé)具體Task的執(zhí)行

  • on yarn/mesos:運(yùn)行在yarn/mesos等資源管理框架之上,yarn/mesos提供資源管理,spark提供計(jì)算調(diào)度,并可與其他計(jì)算框架(如MapReduce/MPI/Storm)共同運(yùn)行在同一個(gè)集群之上

  • on cloud(EC2):運(yùn)行在AWS的EC2之上

Spark支持local模式和cluster模式,local不需要安裝mesos;如果需要將spark運(yùn)行在cluster上,需要安裝mesos。


三、安裝部署

先把Scala和git裝好,因?yàn)橹蟮膕bt/sbt執(zhí)行的是使用spark自帶的sbt編譯/打包。

sudo apt-get update
sudo apt-get install scala

我們需要做的其實(shí)就兩步,解壓縮與編譯。

$tar -zxvf spark-0.9.1.tgz -C /home/hadoop/software/spark
$cd /home/hadoop/software/spark/spark-0.9.1
$sbt/sbt assembly

這一段時(shí)間等的會(huì)比較長(zhǎng),耐心些。


四、檢驗(yàn)測(cè)試

Spark有兩種運(yùn)行模式。

4.1 Spark-shell

此模式用于interactive programming,具體使用方法如下(先進(jìn)入bin文件夾)。

$ ./spark-shell

出現(xiàn)如下信息:

    14/05/10 14:18:23 INFO HttpServer: Starting HTTP Server
    Welcome to
          ____              __
         / __/__  ___ _____/ /__
        _\ \/ _ \/ _ `/ __/  '_/
       /___/ .__/\_,_/_/ /_/\_\   version 0.9.1
          /_/

    Using Scala version 2.10.3 (Java HotSpot(TM) Server VM, Java 1.7.0_51)
    Type in expressions to have them evaluated.
    Type :help for more information.
    14/05/10 14:18:34 INFO Slf4jLogger: Slf4jLogger started
    14/05/10 14:18:34 INFO Remoting: Starting remoting
    14/05/10 14:18:34 INFO Remoting: Remoting started;
    ……
    Created spark context..
    Spark context available as sc.

然后輸入如下信息:

scala> val days = List("Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday")
days: List[java.lang.String] = List(Sunday, Monday, Tuesday, Wednesday, Thursday, Friday, Saturday)

scala> val daysRDD = sc.parallelize(days)
daysRDD: spark.RDD[java.lang.String] = ParallelCollectionRDD[0] at  parallelize at <console>:14

scala> daysRDD.count()

在經(jīng)過(guò)一系列計(jì)算后,顯示如下信息:

res0: Long = 7

4.2 Run腳本

用于運(yùn)行已經(jīng)生成的jar包中的代碼,如Spark自帶的example中的SparkPi.

$./bin/run-example org.apache.spark.examples.SparkPi local[3] 

local代表本地,[3]表示3個(gè)線程跑。

計(jì)算結(jié)果如下:

Pi is roughly 3.1444


五、學(xué)習(xí)建議

在配置過(guò)程中看到他人給的一些建議,于是搜集起來(lái)供以后學(xué)習(xí)參考。

  • 如何寫(xiě)一些spark application?

多看一些spark例子,如:http://www.spark-project.org/examples.html,https://github.com/mesos/spark/tree/master/examples

  • 遇到問(wèn)題怎么辦?

首先是google遇到的問(wèn)題,如果還是解決不了就可以到spark google group去向作者提問(wèn)題:http://groups.google.com/group/spark-users?hl=en

  • 想深入理解spark怎么辦?

閱讀spark的理論paper:http://www.eecs.berkeley.edu/Pubs/TechRpts/2011/EECS-2011-82.pdf

閱讀spark源代碼:https://github.com/mesos/spark

責(zé)任編輯:彭凡 來(lái)源: 36大數(shù)據(jù)
相關(guān)推薦

2014-02-18 15:53:04

2013-11-28 11:29:39

2013-11-28 13:03:17

2013-12-30 13:11:03

2014-04-03 09:35:28

2013-11-28 10:32:10

2013-12-10 09:51:18

2013-12-24 13:15:59

2014-07-04 10:01:08

Spark集群

2020-05-19 17:07:09

Spark測(cè)試數(shù)據(jù)計(jì)算

2017-01-11 16:57:51

大數(shù)據(jù)大數(shù)據(jù)集群監(jiān)控

2019-07-22 10:45:31

2023-03-21 07:47:04

2010-06-07 16:34:07

Hadoop0.20.

2018-01-05 13:50:17

大數(shù)據(jù)數(shù)據(jù)集合測(cè)試

2019-09-05 20:02:27

大數(shù)據(jù)廉政風(fēng)險(xiǎn)反腐敗

2014-12-15 09:32:17

StormSpark

2017-10-11 11:10:02

Spark Strea大數(shù)據(jù)流式處理

2020-09-22 18:01:22

SparkStandalone運(yùn)行

2015-07-02 09:47:36

超級(jí)計(jì)算機(jī)大數(shù)據(jù)
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)