亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

Spark三種屬性配置方式詳解

 更新時(shí)間:2017年10月20日 10:01:44   作者:小狼_百度  
有時(shí)間還是多學(xué)習(xí)知識比較好,這篇文章主要介紹了Spark三種屬性配置方式詳解,具有一定參考價(jià)值,需要的朋友可以了解下。

隨著Spark項(xiàng)目的逐漸成熟, 越來越多的可配置參數(shù)被添加到Spark中來。在Spark中提供了三個(gè)地方用于配置:

  1、Spark properties:這個(gè)可以控制應(yīng)用程序的絕大部分屬性。并且可以通過 SparkConf對象或者Java 系統(tǒng)屬性進(jìn)行設(shè)置;
  2、環(huán)境變量(Environment variables):這個(gè)可以分別對每臺機(jī)器進(jìn)行相應(yīng)的設(shè)置,比如IP。這個(gè)可以在每臺機(jī)器的$SPARK_HOME/ conf/spark-env.sh腳本中進(jìn)行設(shè)置;
  3、日志:所有的日志相關(guān)的屬性可以在log4j.properties文件中進(jìn)行設(shè)置。

  下面對這三種屬性設(shè)定進(jìn)行詳細(xì)的說明。

一、Spark properties

  Spark properties可以控制應(yīng)用程序的絕大部分屬性,并且可以分別在每個(gè)應(yīng)用上進(jìn)行設(shè)置。這些屬性可以直接在SparkConf對象上設(shè)定,該對象可以傳遞給SparkContext。SparkConf對象允許你去設(shè)定一些通用的屬性(比如master URL、應(yīng)用的名稱等),這些屬性可以傳遞給set()方法的任意key-value對。如下:

val
conf =
new SparkConf()
       .setMaster("local")
       .setAppName("CountingSheep")
       .set("spark.executor.memory", "1g")
val
sc =
new SparkContext(conf)

動(dòng)態(tài)加載Spark屬性

  在一些場景中,你可能想避免在代碼中將SparkConf對象的屬性進(jìn)行設(shè)死;比如,你可能想在不同的master上面或者不同內(nèi)存容量運(yùn)行你的應(yīng)用程序。這就需要你運(yùn)行程序的時(shí)候進(jìn)行設(shè)置,Spark允許你創(chuàng)建一個(gè)空的conf對象,如下:

val
sc =
new SparkContext(new
SparkConf())

然后你可以在運(yùn)行的時(shí)候通過命令行進(jìn)行一些屬性的配置:

./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 shell和 spark-submit工具支持兩種方式來動(dòng)態(tài)加載配置屬性。第一種是命令行方式,比如--master;spark-submit工具可以通過--conf標(biāo)記接收任何的Spark屬性。運(yùn)行 ./bin/spark-submit --help將會顯示全部的選項(xiàng)。

   ./bin/spark-submit工具也會從 conf/spark-defaults.conf配置文件中讀取配置選項(xiàng)。 在conf/spark-defaults.conf配置文件中,每行是key-value對,中間可以是用空格進(jìn)行分割,也可以直接用等號進(jìn)行分割。如下:

spark.master      spark://iteblog.com:7077
spark.executor.memory  512m
spark.eventLog.enabled true
spark.serializer    org.apache.spark.serializer.KryoSerializ

每個(gè)值將作為一個(gè)flags傳遞到應(yīng)用中并個(gè)SparkConf對象中相應(yīng)的屬性進(jìn)行合并。通過SparkConf 對象配置的屬性優(yōu)先級最高;其次是對spark-submit 或 spark-shell通過flags配置;最后是spark-defaults.conf文件中的配置。

哪里可以查看配置好的Spark屬性

  在應(yīng)用程序?qū)?yīng)的WEB UI(http://<driver>:4040)上的Environment標(biāo)簽下面將會顯示出該應(yīng)用程序的所有Spark配置選項(xiàng)。在你想確定你的配置是否正確的情況下是非常有用的。需要注意的是,只有顯示通過spark-defaults.conf 或SparkConf 進(jìn)行配置的屬性才會在那個(gè)頁面顯示。其他所有沒有顯示的屬性,你可以認(rèn)為這些屬性的值為默認(rèn)的。

二、環(huán)境變量

  有很大一部分的Spark設(shè)定可以通過環(huán)境變量來進(jìn)行設(shè)定。這些環(huán)境變量設(shè)定在conf/spark-env.sh 腳本文件中(如果你是windows系統(tǒng),那么這個(gè)文件名稱是conf/spark-env.cmd)。在 Standalone 和 Mesos模式下,這個(gè)文件可以設(shè)定一些和機(jī)器相關(guān)的信息(比如hostname)。

  需要注意,在剛剛安裝的Spark中conf/spark-env.sh文件是不存在的。但是你可以通過復(fù)制conf/spark-env.sh.template文件來創(chuàng)建,你的確保這個(gè)復(fù)制之后的文件是可運(yùn)行的。

  下面的屬性是可以在conf/spark-env.sh文件中配置

JAVA_HOME Java的安裝目錄
PYSPARK_PYTHON Python binary executable to use for PySpark.
SPARK_LOCAL_IP IP address of the machine to bind to.
SPARK_PUBLIC_DNS Hostname your Spark program will advertise to other machines.

對于 standalone 模式的集群除了上面的屬性可以配置外,還有很多的屬性可以配置,具體我就不說了,自己看文檔去。

三、日志配置

  Spark用log4j來記錄日志。你可以通過配置log4j.properties來設(shè)定不同日志的級別、存放位置等。這個(gè)文件默認(rèn)也是不存在的,你可以通過復(fù)制log4j.properties.template文件來得到。

總結(jié)

以上就是本文關(guān)于Spark三種屬性配置方式詳解的全部內(nèi)容,希望對大家有所幫助。感興趣的朋友可以繼續(xù)參閱本站:Spark實(shí)現(xiàn)K-Means算法代碼示例淺談七種常見的Hadoop和Spark項(xiàng)目案例、Spark的廣播變量和累加器使用方法代碼示例等,有什么問題可以隨時(shí)留言,小編會及時(shí)回復(fù)大家的。

相關(guān)文章

  • 淺析kubernetes的控制器和標(biāo)簽

    淺析kubernetes的控制器和標(biāo)簽

    這篇文章主要介紹了kubernetes的控制器和標(biāo)簽的相關(guān)資料,幫助大家更好的理解和學(xué)習(xí)使用k8s,感興趣的朋友可以了解下
    2021-04-04
  • 如何給k8s集群里的資源打標(biāo)簽

    如何給k8s集群里的資源打標(biāo)簽

    k8s集群,節(jié)點(diǎn)如果有多個(gè)角色,需要標(biāo)記出來,可以給對應(yīng)的節(jié)點(diǎn)打上標(biāo)簽,方便后續(xù)了解節(jié)點(diǎn)的功能,這篇文章主要介紹了如何給k8s集群里的資源打標(biāo)簽,需要的朋友可以參考下
    2023-02-02
  • Kubernetes有狀態(tài)應(yīng)用管理StatefulSet使用詳解

    Kubernetes有狀態(tài)應(yīng)用管理StatefulSet使用詳解

    這篇文章主要為大家介紹了Kubernetes有狀態(tài)應(yīng)用管理StatefulSet使用詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-11-11
  • RFO SIG之openEuler AWS AMI 制作詳解

    RFO SIG之openEuler AWS AMI 制作詳解

    這篇文章主要為大家介紹了RFO SIG之openEuler AWS AMI 制作詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-10-10
  • k8s?pod如何使用sriov

    k8s?pod如何使用sriov

    這篇文章主要介紹了k8s?pod如何使用sriov問題,具有很好的參考價(jià)值,希望對大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-07-07
  • kubernetes YAML文件的使用

    kubernetes YAML文件的使用

    這篇文章主要介紹了kubernetes YAML文件的使用,幫助大家更好的理解和學(xué)習(xí)使用kubernetes,感興趣的朋友可以了解下
    2021-04-04
  • k8s設(shè)置非強(qiáng)一致反親和性示例

    k8s設(shè)置非強(qiáng)一致反親和性示例

    這篇文章主要為大家介紹了k8s設(shè)置非強(qiáng)一致反親和性示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-10-10
  • Kubernetes存儲系統(tǒng)數(shù)據(jù)持久化管理詳解

    Kubernetes存儲系統(tǒng)數(shù)據(jù)持久化管理詳解

    這篇文章主要為大家介紹了Kubernetes存儲系統(tǒng)數(shù)據(jù)持久化管理詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-11-11
  • 使用kubeadm部署多節(jié)點(diǎn)集群

    使用kubeadm部署多節(jié)點(diǎn)集群

    這篇文章介紹了使用kubeadm部署多節(jié)點(diǎn)集群的方法,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2022-04-04
  • 詳解kubelet?創(chuàng)建pod流程代碼圖解及日志說明

    詳解kubelet?創(chuàng)建pod流程代碼圖解及日志說明

    這篇文章主要為大家介紹了詳解kubelet?創(chuàng)建pod流程代碼圖解及日志說明,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-09-09

最新評論