SparkStreaming性能調(diào)優(yōu)大全!-創(chuàng)新互聯(lián)

SparkStreaming性能調(diào)優(yōu)大全!

昌黎網(wǎng)站建設(shè)公司創(chuàng)新互聯(lián),昌黎網(wǎng)站設(shè)計(jì)制作,有大型網(wǎng)站制作公司豐富經(jīng)驗(yàn)。已為昌黎上1000+提供企業(yè)網(wǎng)站建設(shè)服務(wù)。企業(yè)網(wǎng)站搭建\成都外貿(mào)網(wǎng)站制作要多少錢,請(qǐng)找那個(gè)售后服務(wù)好的昌黎做網(wǎng)站的公司定做!

一、日志已滿:

 spark.executor.logs.rolling.maxSize

下面三個(gè)日志rolling參數(shù)記得設(shè)置:

spark.executor.logs.rolling.strategy size

spark.executor.logs.rolling.maxSize 134217728 #default byte

spark.executor.logs.rolling.maxRetainedFiles

下面是spark1.6的源碼:

[spark] RollingFileAppender {
  = = = = = = (* ).toString
  = =

二、Spark Streamingz對(duì)Kafka的Offset進(jìn)行管理

zookeeper.session.timeout.ms

一般跳大3~5倍。

http://geeks.aretotally.in/spark-streaming-kafka-direct-api-store-offsets-in-zk/

http://www.tuicool.com/articles/vaUzquJ

SparkStreaming性能調(diào)優(yōu)大全!

[spark] SparkCuratorUtil Logging {

  = = = = (
      conf: SparkConfzkUrlConf: = ): CuratorFramework = {
    ZK_URL = conf.get(zkUrlConf)
    zk = CuratorFrameworkFactory.newClient(ZK_URLExponentialBackoffRetry())
    zk.start()
    zk
  }

三、 spark.task.maxFailures

SparkStreaming性能調(diào)優(yōu)大全!默認(rèn)4,調(diào)整10左右

TaskSetManagerSuite SparkFunSuite LocalSparkContext Logging {
  TaskLocality.{}

  = SparkConf

  = .getTimeAsMs()
  = () {
    .beforeEach()
    FakeRackUtil.cleanUp()
  }

  test() {
    sc = SparkContext()
    sched = FakeTaskScheduler(sc())
    taskSet = FakeTask.createTaskSet()
    clock = ManualClock
    manager = TaskSetManager(schedtaskSetclock)

四、spark.streaming.kafka.maxRetries

默認(rèn)1,調(diào)成3或者5

五、Spark Streaming連接Kafka用Direct方式。

六、怎么調(diào)優(yōu)?入口在哪?

答案就是Spark配置參數(shù)的地方:

1. $SPARK_HOME/conf/spark-env.sh 腳本上配置。 配置格式如下:

export SPARK_DAEMON_MEMORY=1024m

2. 編程的方式(程序中在創(chuàng)建SparkContext之前,使用System.setProperty(“xx”,“xxx”)語句設(shè)置相應(yīng)系統(tǒng)屬性值),

val conf = new SparkConf()

       .setMaster("local")

       .setAppName("CountingSheep")

       .set("spark.executor.memory", "1g")

val sc = new SparkContext(conf)

3、即在spark-shell下和spark-submit下配置

如:Scala> System.setProperty("spark.akka.frameSize","10240m")

System.setProperty("spark.rpc.askTimeout","800")

./bin/spark-submit --name "My app"

              --master local[4]

              --conf spark.shuffle.spill=false

              --conf "spark.executor.extraJavaOptions=-XX:+PrintGCDetails

                    -XX:+PrintGCTimeStamps"

              myApp.jar

spark-submit也會(huì)從默認(rèn)配置文件conf/spark-defaults.conf里選取配置項(xiàng),格式如下:

spark.master       spark://iteblog.com:7077

spark.executor.memory  512m

spark.eventLog.enabled  true

spark.serializer     org.apache.spark.serializer.KryoSerializer

(一)環(huán)境變量spark-env.sh配置項(xiàng)

SCALA_HOME             #指向你的scala安裝路徑

MESOS_NATIVE_LIBRARY  #如果你要在Mesos上運(yùn)行集群的話

SPARK_WORKER_MEMORY #作業(yè)可使用的內(nèi)存容量,默認(rèn)格式1000M或者 2G (默認(rèn): 所有RAM去掉給操作系統(tǒng)用的1 GB);每個(gè)作業(yè)獨(dú)立的內(nèi)存空間由SPARK_MEM決定。

SPARK_JAVA_OPTS  #添加JVM選項(xiàng)。你可以通過-D來獲取任何系統(tǒng)屬性

eg: SPARK_JAVA_OPTS+="-Dspark.kryoserializer.buffer.mb=1024"

SPARK_MEM    #設(shè)置每個(gè)節(jié)點(diǎn)所能使用的內(nèi)存總量。他們應(yīng)該和JVM‘s -Xmx選項(xiàng)的格式保持一致(e.g.300m或1g)。注意:這個(gè)選項(xiàng)將很快被棄用支持系統(tǒng)屬性spark.executor.memory,所以我們推薦將它使用在新代碼中。

SPARK_DAEMON_MEMORY  #分配給Spark master和worker守護(hù)進(jìn)程的內(nèi)存空間(默認(rèn)512M)

SPARK_DAEMON_JAVA_OPTS #Spark master和worker守護(hù)進(jìn)程的JVM選項(xiàng)(默認(rèn):none)

(二)System Properties

  • spark.akka.frameSize: 控制Spark中通信消息的大容量 (如 task 的輸出結(jié)果),默認(rèn)為10M。當(dāng)處理大數(shù)據(jù)時(shí),task 的輸出可能會(huì)大于這個(gè)值,需要根據(jù)實(shí)際數(shù)據(jù)設(shè)置一個(gè)更高的值。如果是這個(gè)值不夠大而產(chǎn)生的錯(cuò)誤,可以從 worker的日志 中進(jìn)行排查。通常 worker 上的任務(wù)失敗后,master 的運(yùn)行日志上出現(xiàn)”Lost TID: “的提示,可通過查看失敗的 worker 的日志文件($SPARK_HOME/worker/下面的log文件) 中記錄的任務(wù)的 Serialized size of result 是否超過10M來確定。

  • spark.default.parallelism: 控制Spark中的分布式shuffle過程默認(rèn)使用的task數(shù)量,默認(rèn)為8個(gè)。如果不做調(diào)整,數(shù)據(jù)量大時(shí),就容易運(yùn)行時(shí)間很長,甚至是出Exception,因?yàn)?個(gè)task無法handle那么多的數(shù)據(jù)。 注意這個(gè)值也不是說設(shè)置得越大越好。

  • spark.local.dir:Spark 運(yùn)行時(shí)的臨時(shí)目錄,例如 map 的輸出文件,保存在磁盤的 RDD 等都保存在這里。默認(rèn)是 /tmp 這個(gè)目錄,而一開始我們搭建的小集群上 /tmp 這個(gè)目錄的空間只有2G,大數(shù)據(jù)量跑起來就出 Exception (”No space left on device”)了。

如何如何查看已配置好并生效的參數(shù)?

通過webui來進(jìn)行查看,http://master:4040/

另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢(shì),專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場(chǎng)景需求。

網(wǎng)站名稱:SparkStreaming性能調(diào)優(yōu)大全!-創(chuàng)新互聯(lián)
鏈接地址:http://muchs.cn/article22/dsiojc.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供App開發(fā)、靜態(tài)網(wǎng)站、網(wǎng)站營銷、自適應(yīng)網(wǎng)站搜索引擎優(yōu)化、小程序開發(fā)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

h5響應(yīng)式網(wǎng)站建設(shè)