1、我理解常用的spark部署方式有三種
1)、本地服務,就是所謂的local,在ide上本地跑程式,用於除錯
2)、standalone,使用自己的master/worker進行服務的排程。 脫離yarn的資源管理
3)、spark on yarn。 使用yarn來進行資源的排程
2、在spark-env.sh中配置export hadoop_conf_dir= ,這樣就可以使用hdfs了。
3、提交應用使用bin/spark-submit,通過指定master來確定是使用什麼模式,即spark:// yarn-cluster yarn-client。如果使用的spark://,那麼代表就是standalone模式,那麼就需要sbin/start-all.sh啟動一下spark集群進行資源排程。
4、使用bin/spark-shell來進行本地互動式查詢。 但使用spark-shell貌似最好在standalone模式下進行
5、最終執行程序是executor,它的資源使用在submit時指定--executor-cores,--executor-memory,--num-executors,如果沒有指定,那麼就會讀取spark-env.sh配置檔案中的spark_executor_cores,spark_executor_memory
6、在yarn模式下executor程序名叫做coarsegrainedexecutorbackend,在standalone模式下,executor程序名叫做coarsegrainedexecutorbackend。 (。。。我一直以為程序名稱不一樣呢,原來是一樣的。 好吧,我是出來搞笑的)
個人使用經歷來看,如果是使用spark streaming ,那麼用client感覺個人會好一些。
後續會讀源**,在源**中了解一下client 和 cluster使用的區別,才能確定哪個應用場景會更好些。
暫時就這些,回頭有想到的再補充
Spark中的一些概念
一次action操作會觸發rdd的延遲計算,我們把這樣的一次計算稱作乙個job。窄依賴指的是 每個parent rdd 的 partition 最多被 child rdd的乙個partition使用 寬依賴指的是 每個parent rdd 的 partition 被多個 child rdd的part...
微服務架構的一些總結
b 什麼是微服務架構 b b 從架構角度 b 面向服務的架構 相對面向系統 b 從復用角度 b 服務級別的復用 相對模組的復用 b 從管理角度 b 按服務更加細粒度分組管理,增加了管理成本 devops降低這方面的成本 b 從商業角度 b 被網際網路籠罩了一層光環,銀行客戶認可度高 i 本質上是為了...
一些的總結
大學的教育模式是先教你原理,在教你怎麼用工具 而缺少樂趣,一般大牛 的思維模式都是這樣 先知道原理 在用工具 其實對於普通人來講,一般都是 知道原來還有這種利用方式?到 我要用工具來提高效率 廣用效率還不行 我要知道原理 誒好像現在工具滿足不了我的需要了,我要自己新增規則 新增的規則 以及滿足不了我...