Spark 獨立部署模式

2019獨角獸企業重金招聘Python工程師標準>>> hot3.png

Spark 獨立部署模式 博客分類: spark ?

除了在 Mesos 或 YARN 集群上運行之外, Spark 還提供一個簡單的獨立部署的模塊。你通過手動開始master和workers 來啟動一個獨立的集群。你也可以利用我們提供的腳本?.它也可以運行這些進程在單個機器上進行測試。

安裝 Spark 獨立集群

部署Spark最簡單的方法就是運行./make-distribution.sh 腳本來創建一個2進制發行版.這個版本能部署在任意運行這java的機子上,不需要安裝 Scala.

建議的步棸是先在一個節點部署并啟動master,獲得 master spark URL,在dist/這個目錄下修改conf/spark-env.sh然后再部署到其他的節點上。

手動啟動集群

通過如下命令啟動單獨模式的master服務:

./bin/start-master.sh

一旦啟動,master就會輸出spark://IP:PORT以提示連接 workers 的方式。也可以通過參數“master”給SparkContext來連接集群的作業.你可以在master的web管理界面上看到這樣的地址,默認是http://localhost:8080.

同樣,你可以啟動一個或者多個worker,通過下面的語句使之和master建立連接:

./spark-class org.apache.spark.deploy.worker.Worker spark://IP:PORT

啟動一個worker后,查看 master的 web管理界面 (默認http://localhost:8080),上面列出了新近加入的節點的CPU和內存的信息。(不包括給操作系統預留的內存空間)。

最后,以下?master 和 worker的一些配置選項:

-i IP,--ip IP要監聽的IP地址或者 DNS 機器名
-p PORT,--port PORT要監聽的端口 (默認: master 7077 ;worker隨機)
--webui-port PORTweb UI端口 (默認: master 8080, worker 8081)
-c CORES,--cores CORES

作業可用的CPU內核數量(默認: 所有可用);只在worker上

-m MEM,--memory MEM作業可使用的內存容量,默認格式1000M或者 2G (默認:? 所有RAM去掉給操作系統用的1 GB); 只在worker上。
-d DIR,--work-dir DIR

伸縮空間和日志輸入的目錄路徑

(默認: SPARK_HOME/work); 只在worker上

集群啟動腳本

通過腳本啟動 Spark獨立集群時, 需要在Spark 目錄下創建一個文件 conf/slaves, 列出所有啟動的的Spark workers的主機名,每行一條記錄. Master必須能夠實現通過ssh(使用私鑰)訪問worker機器,可以使用ssh localhost來測試。

一旦你建立了這個檔案,你可以通過以下腳本停止或啟動集群, 這些腳本基于 Hadoop’s 部署腳本, 在SPARK_HOME/bin目錄:

  • bin/start-master.sh-在機器上執行腳本,啟動 master .
  • bin/start-slaves.sh- 啟動conf/slaves中指定的每一個slave?.
  • bin/start-all.sh- 同時啟動master 以及 上面所說文件中指定的slave
  • bin/stop-master.sh- 停止通過bin/start-master.sh腳本啟動的master
  • bin/stop-slaves.sh- 停止通過bin/start-slaves.sh啟動的slave?.
  • bin/stop-all.sh- 停止上述的兩種啟動腳本啟動的master和slave

注意:只能在運行Spark的master主機上執行上述腳本,而不是你的本地機器。

你可以通過conf/spark-env.sh進一步配置整個集群的環境變量。這個文件可以用conf/spark-env.sh.template當模版復制生成。然后,復制到所有的worker機器上才奏效。下面給出一些可選的參數以及含義:

SPARK_MASTER_IP綁定一個外部IP給master.
SPARK_MASTER_PORT從另外一個端口啟動master(默認: 7077)
SPARK_MASTER_WEBUI_PORTMaster的web UI端口 (默認: 8080)
SPARK_WORKER_PORT啟動Spark worker 的專用端口(默認:隨機)
SPARK_WORKER_DIR伸縮空間和日志輸入的目錄路徑(默認: SPARK_HOME/work);
SPARK_WORKER_CORES作業可用的CPU內核數量(默認: 所有可用的);
SPARK_WORKER_MEMORY作業可使用的內存容量,默認格式1000M或者 2G (默認:? 所有RAM去掉給操作系統用的1 GB);注意:每個作業自己的內存空間由SPARK_MEM決定。
SPARK_WORKER_WEBUI_PORTworker 的web UI 啟動端口(默認: 8081)
SPARK_WORKER_INSTANCES沒太機器上運行worker數量 (默認: 1). 當你有一個非常強大的計算機的時候和需要多個Spark worker進程的時候你可以修改這個默認值大于1 . 如果你設置了這個值。要確保SPARK_WORKER_CORE 明確限制每一個r worker的核心數, 否則每個worker 將嘗試使用所有的核心
SPARK_DAEMON_MEMORY分配給Spark master和 worker 守護進程的內存空間 (默認: 512m)
SPARK_DAEMON_JAVA_OPTSSpark master 和 worker守護進程的JVM 選項(默認: none)

注意:?啟動腳本目前不支持Windows。要運行一個Spark?集群在Windows上,手動啟動master 和 workers?

集群連接應用程序

在Spark 集群上運行一個應用,只需通過master的 spark://IP:PORT 鏈接傳遞到SparkContext構造器

在集群上運行交互式的Spark 命令, 運行如下命令:

MASTER=spark://IP:PORT ./spark-shell

注意,如果你在一個 spark集群上運行了spark-shell腳本,spark-shell 將通過在conf/spark-env.sh下的SPARK_MASTER_IP和SPARK_MASTER_PORT自動設置MASTER .

你也可以傳遞一個參數-c <numCores> 來控制 spark-shell 在集群上使用的核心數量

資源調度

單獨部署模式目前只支持FIFO作業調度策略。不過,為了允許多并發執行,你可以控制每一個應用可獲得資源的最大值。默認情況下,如果系統中只運行一個應用,它就會獲得所有資源。使用類似System.setProperty("spark.cores.max","10")的語句可以獲得內核的數量。這個數值在初始化SparkContext之前必須設置好。

監控和日志

Spark單獨部署模式提供了一個基于WEB的集群監視器。master和每一個worker都會有一個WEB UI來顯示集群的統計信息。默認情況下,可以通過8080端口訪問master的WEB UI。當然也可以通過配置文件或者命令來修改這個端口值。

另外,每個slave節點上作業運行的日志也會詳細的記錄到默認的SPARK_HOME/work目錄下。每個作業會對應兩個文件,stdout和stderr,包含了控制臺上的所有的歷史輸出。

和Hadoop同時運行

Spark?作為一個獨立的服務,可以和現有的Hadoop集群同時運行。 通過hdfs:// URL,Spark可以訪問hadoop集群的HDFS上的數據。(比如地址可以寫成hdfs://<namenode>:9000/path,從Namenode的web UI可以獲得更確切的URL).或者,專門為Spark搭建一個集群,通過網絡訪問其他HDFS上的數據,這樣肯定不如訪問本地數據速度快,除非是都在同一個局域網內。(比如幾臺Spark機器和Hadoop集群在同一機架上)。

?

?

?

http://blog.csdn.net/zajin/article/details/12781097

轉載于:https://my.oschina.net/xiaominmin/blog/1599590

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/539724.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/539724.shtml
英文地址,請注明出處:http://en.pswp.cn/news/539724.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

mysql數據庫的鏈接地址_常用數據庫連接URL地址大全

1、Oracle8/8i/9i數據庫(thin模式) Class.forName("oracle.jdbc.driver.OracleDriver").newInstance(); String url="jdbc:oracle:thin:@localhost:1521:orcl"; //orcl為數據庫的SID String user="test"; String password="test"; Con…

數據庫中where與having區別~~~

1、where和having的執行級別不同 在查詢過程中聚合語句(sum,min,max,avg,count)要比having子句優先執行.而where子句在查詢過程中執行優先級別優先于聚合語句(sum,min,max,avg,count)。 having就是來彌補where在分組數據判斷時的不足。因為where執行優先級別要快于聚合語句。…

spring boot 1.5.4 定時任務和異步調用(十)

1 Spring Boot定時任務和異步調用 我們在編寫Spring Boot應用中經常會遇到這樣的場景&#xff0c;比如&#xff1a;我需要定時地發送一些短信、郵件之類的操作&#xff0c;也可能會定時地檢查和監控一些標志、參數等。 spring boot定時任務spring-boot-jsp項目源碼&#…

ORA-04063: view DAILY.TMP_TBX_100_0_S4 有錯誤

執行&#xff1a; CREATE TABLE TMP_TBX_100_0_S3 AS SELECT t.* FROM (select t1.*,NULL AS sdate, NULL AS report_id from TMP_TBX_100_0_S4_1 t1 union all select t2.* from TMP_TBX_100_0_S4_2 t2) t 報錯&#xff1a; ORA-00955: name is already used by an exis…

MySQL左連接還有過濾條件_MySQL左連接問題,右表做篩選,左表列依然在?

問 題原料兩張表&#xff0c;一張user表&#xff0c;一張user_log表(這個例子舉的不好)CREATE TABLE user (id int(11) NOT NULL AUTO_INCREMENT,name varchar(20) DEFAULT NULL,PRIMARY KEY (id)) ENGINEInnoDB DEFAULT CHARSETutf8;CREATE TABLE user_log (id int(10) NOT NU…

2017工作總結

靜兒總結自己的職業生涯分為三個階段。第一個階段為期十年&#xff0c;是純技術階段&#xff0c;是人生的積累期。第二個階段是管理階段&#xff0c;是綜合能力整合期。第三個階段是突破階段&#xff0c;打造自己獨特的核心競爭力。 第一階段 剛畢業的同學可能會覺得技術高大上…

批量刪除table或view

一個個刪太費時了。一個簡單可行的方法。 思路&#xff1a; 找出要刪除的表名/視圖名&#xff0c;然后拼接刪除sql&#xff0c;執行。 批量刪除表&#xff1a; 1、找出要刪除的表名select table_name from user_tables where table_name like S1MSGLATENCY_2016032%;2、復制這…

編譯安裝mysql5.5.39_編譯安裝MySQL5.5

防偽碼&#xff1a;沒有相當程度的孤獨是不可能有內心的平和。1、測試環境主機名IP系統MySQL版本MySQL-00192.168.10.23CentOS release 6.9 (Final)5.5.562、部署2.1 卸載之前版本rpm -qa|grep mysqlrpm -e --nodeps mysql-libs-5.1.73-8.el6_8.x86_642.2 安裝依賴包和cmakeyum…

你真的了解iOS怎么取屬性的嗎?

你真的了解iOS怎么取屬性的嗎&#xff1f; 本文來自CocoaChina粉絲FlyOceanFish投稿如果iOS中談到取屬性&#xff0c;相信大家都會夸夸其談&#xff0c;不就是get方法嗎&#xff1f;或者大談kvc取屬性的機制。不得不說這些也是對的。這時大家可能就疑惑了&#xff0c;那你還要說…

Oracle表的并行度

查看dba_tables數據字典時&#xff0c;可以發現有“DEGREE”字段&#xff0c;這個字段表示的就是數據表的并行度。這個參數的設置&#xff0c;關系著數據庫的I/O&#xff0c;以及sql的執行效率。并行度的優點就是能夠最大限度的利用機器的多個cpu資源&#xff0c;是多個cpu同時…

mysql 臨時表 限制_Mysql臨時表

當你創建臨時表的時候&#xff0c;你可以使用temporary關鍵字。如&#xff1a;create temporary table tmp_table(name varchar(10) not null,passwd char(6) not null)‘或CREATE TEMPORARY TABLE IF NOT EXISTS sp_output_tmp ENGINE MEMORY SELECT …from … where IDcurre…

10年老兵給程序員的10條建議!

2019獨角獸企業重金招聘Python工程師標準>>> 程序員雖然薪資待遇好&#xff0c;但是也得付出努力&#xff0c;技術好才行。特別是對于剛剛進入編程工作的新手程序員和正在學習編程的同學來說&#xff0c;一寫代碼就報錯&#xff0c;出bug。作為一個工作了10年的老兵…

視圖和表的區別和聯系

區別&#xff1a; 1、視圖是已經編譯好的sql語句。而表不是 2、視圖沒有實際的物理記錄。而表有。 3、表是內容&#xff0c;視圖是窗口 4、表只用物理空間而視圖不占用物理空間&#xff0c;視圖只是邏輯概念的存在&#xff0c;表可以及時四對它進行修改&#xf…

mysql binlog日志三種格式_MySQL binlog三種格式詳細介紹

查看當前數據庫binlog日志格式&#xff1a;show global variables like %binlog_format%;一、三種格式介紹1.1 STATEMENT該格式下每一條會修改數據的sql都會記錄在binlog中&#xff1b;優點&#xff1a;不需要記錄每一行的變化&#xff0c;減少了binlog日志量&#xff0c;節約了…

2017阿里技術年度精選(全)

2019獨角獸企業重金招聘Python工程師標準>>> 2017年&#xff0c;在技術發展的歷史上&#xff0c;一定是個特別的一年&#xff1a;柯潔與AlphaGo的驚世大戰&#xff0c;無人咖啡店開放體驗&#xff0c;AI設計師“魯班”橫空出世、三年投入千億的達摩院正式成立…… 這…

查詢Oracle正在執行的sql語句,鎖表,解鎖

原文出處&#xff1a;http://blog.csdn.net/jlds123/article/details/6572559 ----------------------- --查詢Oracle正在執行的sql語句及執行該語句的用戶 [sql] view plaincopy SELECT b.sid oracleID, b.username 登錄Oracle用戶名, b.serial#, …

xampp for mac mysql_xampp for mac下載-Xampp Mac版下載 V7.3.2-PC6蘋果網

Xampp for mac是目前時下最流行的PHP開發環境&#xff0c;XAMPP是完全免費且易于安裝的Apache發行版&#xff0c;其中包含MySQL、PHP和Perl。XAMPP開放源碼包的設置讓安裝和使用出奇容易。整合型的Apache套件。XAMPP包括Apache、MySQL、PHP、PERL&#xff0c;直接解壓縮&#x…

15.2. important

<para><important>Text goes here.</important></para>重要Text goes here.原文出處&#xff1a;Netkiller 系列 手札 本文作者&#xff1a;陳景峯 轉載請與作者聯系&#xff0c;同時請務必標明文章原始出處和作者信息及本聲明。

查看表的創建時間

select OWNER,OBJECT_NAME,CREATED from dba_objects where OBJECT_NAME表名 CREATED 是表的創建時間 查詢 dba_objects 表需要dba權限

linux python2.7 scipy_scipy.sparse.linalg.sp為Linux系統上的大型稀疏矩陣解決了令人驚訝的行為...

我正在計算一個線性系統Ax b的解決方案&#xff0c;其中A具有一個大的(通常200,000行和相關的密集矩陣的列)稀疏矩陣和ba稀疏矩陣&#xff0c;大約100列。當我在Windows系統上運行代碼(Python2.7&#xff0c;scipy0.14.0)時&#xff0c;以下命令fromscipy.sparse.linalgimport…