1. 程式人生 > >【Spark】Spark的Standalone模式安裝部署

【Spark】Spark的Standalone模式安裝部署

Spark執行模式

Spark 有很多種模式,最簡單就是單機本地模式,還有單機偽分散式模式,複雜的則執行在叢集中,目前能很好的執行在 Yarn和 Mesos 中,當然 Spark 還有自帶的 Standalone 模式,對於大多數情況 Standalone 模式就足夠了,如果企業已經有 Yarn 或者 Mesos 環境,也是很方便部署的。

  • local(本地模式):常用於本地開發測試,本地還分為local單執行緒和local-cluster多執行緒;
  • standalone(叢集模式):典型的Mater/slave模式,不過也能看出Master是有單點故障的;Spark支援ZooKeeper來實現 HA
  • on yarn(叢集模式): 執行在 yarn 資源管理器框架之上,由 yarn 負責資源管理,Spark 負責任務排程和計算
  • on mesos(叢集模式): 執行在 mesos 資源管理器框架之上,由 mesos 負責資源管理,Spark 負責任務排程和計算
  • on cloud(叢集模式):比如 AWS 的 EC2,使用這個模式能很方便的訪問 Amazon的 S3;Spark 支援多種分散式儲存系統:HDFS 和 S3

Spark Standalone叢集部署

準備工作

  • 這裡我下載的是Spark的編譯版本,否則需要事先自行編譯
  • Spark需要Hadoop的HDFS作為持久化層,所以在安裝Spark之前需要安裝Hadoop,這裡Hadoop的安裝就不介紹了,給出一個教程
    Hadoop安裝教程_單機/偽分散式配置
  • 實現建立hadoop使用者,Hadoop、Spark等程式都在該使用者下進行安裝
  • ssh無密碼登入,Spark叢集中各節點的通訊需要通過ssh協議進行,這需要事先進行配置。通過在hadoop使用者的.ssh目錄下將其他使用者的id_rsa.pub公鑰檔案內容拷貝的本機的authorized_keys檔案中,即可事先無登入通訊的功能
  • Java環境的安裝,同時將JAVA_HOME、CLASSPATH等環境變數放到主目錄的.bashrc,執行source .bashrc使之生效

部署配置

這裡配置工作需要以下幾個步驟:

  1. 解壓Spark二進位制壓縮包
  2. 配置conf/spark-env.sh檔案
  3. 配置conf/slave檔案

下面具體說明一下:

  • 配置Spark的執行環境,將spark-env.sh.template模板檔案複製成spark-env.sh,然後填寫相應需要的配置內容:
export SPARK_MASTER_IP=hadoop1
export SPARK_MASTER_PORT=7077
export SPARK_WORKER_CORES=1
export SPARK_WORDER_INSTANCES=1
export SPARK_WORKER_MEMORY=3g

其他選項內容請參照下面的選項說明:

# Options for the daemons used in the standalone deploy mode:
# - SPARK_MASTER_IP, to bind the master to a different IP address or hostname
# - SPARK_MASTER_PORT / SPARK_MASTER_WEBUI_PORT, to use non-default ports for the master
# - SPARK_MASTER_OPTS, to set config properties only for the master (e.g. "-Dx=y")
# - SPARK_WORKER_CORES, to set the number of cores to use on this machine
# - SPARK_WORKER_MEMORY, to set how much total memory workers have to give executors (e.g. 1000m, 2g)
# - SPARK_WORKER_PORT / SPARK_WORKER_WEBUI_PORT, to use non-default ports for the worker
# - SPARK_WORKER_INSTANCES, to set the number of worker processes per node
# - SPARK_WORKER_DIR, to set the working directory of worker processes
# - SPARK_WORKER_OPTS, to set config properties only for the worker (e.g. "-Dx=y")
# - SPARK_HISTORY_OPTS, to set config properties only for the history server (e.g. "-Dx=y")
  • conf/slave檔案使用者分散式節點的配置,這裡只需要在slave檔案中寫入該節點的主機名即可

  • 將以上內容都配置好了,將這個spark目錄拷貝到各個節點scp -r spark [email protected]:~

  • 接下來就可以啟動叢集了,在Spark目錄中執行sbin/start-all.sh,然後可以通過netstat -nat命令檢視埠7077的程序,還可以通過瀏覽器訪問hadoop1:8080瞭解叢集的概況

Spark Client部署

Spark Client的作用是,事先搭建起Spark叢集,然後再物理機上部署客戶端,然後通過該客戶端提交任務給Spark叢集。
由於上面介紹了Standalone分散式叢集是如何搭建的,這裡只需將叢集上的spark資料夾拷貝過來。
最簡單的Spark客戶端訪問叢集的方式就是通過Spark shell的方式:bin/spark-shell --master spark://hadoop1:7077這樣就可以訪問叢集了。
這樣在瀏覽器的Spark叢集介面上就可以看到Running Applications一欄中有Spark shell的應用在執行。

Spark Standalone偽分散式部署

偽分散式是在一臺機器上進行部署來模擬分散式的叢集,這裡部署的過程和Standalone叢集的部署是類似的,事前的工作都是一樣的,這裡只是在配置檔案中做相應的修改就可以了。

這裡還是配置這兩個檔案:

配置conf/spark-env.sh檔案
配置conf/slave檔案

  • 修改spark-env.sh檔案,修改master的ip,這裡主機名和使用者ip分別在/etc/hostname/etc/hosts檔案中進行配置
export SPARK_MASTER_IP=jason
export SPARK_MASTER_PORT=7077
export SPARK_WORKER_CORES=1
export SPARK_WORDER_INSTANCES=1
export SPARK_WORKER_MEMORY=3g
  • slave檔案中,填寫自己的主機名,比如我的主機名jason

相關推薦

SparkSpark的Standalone模式安裝部署

Spark執行模式 Spark 有很多種模式,最簡單就是單機本地模式,還有單機偽分散式模式,複雜的則執行在叢集中,目前能很好的執行在 Yarn和 Mesos 中,當然 Spark 還有自帶的 Standalone 模式,對於大多數情況 Standalone 模

Spark的Standalone模式安裝部署

Spark執行模式 Spark 有很多種模式,最簡單就是單機本地模式,還有單機偽分散式模式,複雜的則執行在叢集中,目前能很好的執行在 Yarn和 Mesos 中,當然 Spark 還有自帶的 Standalone 模式,對於大多數情況 Standalone 模式就足夠了,如

Hadoop 分布式部署 八:分布式協作框架Zookeeper架構功能講解 及本地模式安裝部署和命令使用

.gz 權限 實現 creat info 應用 data 就是 數據結構 What is Zookeeper     是一個開源的分布式的,為分布式應用提供協作服務的Apache項目     提供一個簡單的原語集合,以便與分布式應用可以在他之上構建更高層次的同步服務

SparkUbuntu16.04 spark 叢集安裝 (standalone模式

一、前言 目前 Apache Spark 支援三種分散式部署方式,分別是: standalone spark on mesos spark on YARN 其中,第一種類似於MapReduce 1.0所採用的模式,內部實現了容錯性和資源管理,後兩種則是未來發

原創使用workstation安裝Xenserver 6.5+cloudstack 4.10----本地存儲模式

登錄 queue alt ast rim 4.0 個人學習 white 配置 1. 背景: 近期由於項目和個人學習得需求,開始接觸到Cloudstack,雖然雲計算概念在大學剛畢業的時候就已經略有耳聞,但是由於工作原因,也一直沒有了解,下班後想自己折騰下cloudstac

Spark篇---Spark中yarn模式兩種提交任務方式

方式 div -s and clas client 命令 yarn 模式 一、前述 Spark可以和Yarn整合,將Application提交到Yarn上運行,和StandAlone提交模式一樣,Yarn也有兩種提交任務的方式。 二、具體 1、yarn

linuxmongodb的安裝部署

參考 詳情 介紹在linux環境下,mongodb的安裝與部署 安裝mongodb 下載 首先在官網上下載mongodb壓縮包,網址mongodb download,選擇對應的版本下載即可。 解壓安裝到指定目錄 預定安裝目錄

Linux CentOS6.5安裝Python2.7以及pip等工具

自己 lin 存在 lean prefix nbsp ase 路徑 details 原文地址http://blog.csdn.net/u012538536/article/details/47360929。 CentOS6.5下是原來就有python的,我的鏡像裏面自帶的

如何下載安裝python

content python com 麻煩 32位 cmd 建議 zip 存儲 【轉】原文地址:http://jingyan.baidu.com/article/25648fc19f61829191fd00d4.html 1. 在python的官網下載python版本,

轉載設計模式_抽象工廠模式

ron mage ges 定義 ima cnblogs 工廠 一個 相互 定義:為創建一組相關或相互依賴的對象提供一個接口,而且無需指定他們的具體類。 是工廠方法的擴展。    【轉載】設計模式_抽象工廠模式

Pythonpython2.7 安裝配置OpenCV2

pen 2.4.1 安裝 so文件 strong make lib con ack 環境:Ubuntu16.04 anaconda Python2.7 opencv2.4.13 安裝opencv後 import cv2 遇到錯誤信息: No module named cv2

轉載設計模式_模板方法(學習)

res bootstrap 重載方法 dex col 算法實現 選擇性 parent abstract 模板方法模式,一般是為了統一子類的算法實現步驟,所使用的一種手段或者說是方式。它在父類中定義一系列算法的步驟,而將具體的實現都推遲到子類。 通常情況下,模板方法模式用

MySQL配置MySQL安裝和遠程訪問步驟

image 新建 oar 最新 rest word clas 字段 sql安裝 以遠程服務器為例,安裝Mysql到Linux並配置遠程訪問,步驟如下: 1.下載安裝最新的rpm文件 方法一: rpm -Uvh http://repo.mysql.com/mysql-co

SparkDAGScheduler源代碼淺析

under 提交 title 作者 sem lis git lean access DAGScheduler DAGScheduler的主要任務是基於Stage構建DAG,決定每個任務的最佳位置 記錄哪個RDD或者Stage輸出被物化

VisualStudio軟件安裝中出現的問題

lin 軟件安裝 出現 文件中 單個 spa 打開文件 ++ span 針對2017版本安裝 1. 安裝windows通用平臺工具出錯 報錯信息:15605 FQ安裝。 2. LINK : fatal error LNK1104: 無法打開文件“gdi32.lib” 在安

SparkRDD操作具體解釋4——Action算子

() sim comment cat zed ret form sdn order 本質上在Actions算子中通過SparkContext運行提交作業的runJob操作,觸發了RDD DAG的運行。 依據Action算子的輸出空間將Action算子進

openstack項目day24:OpenStack mitaka部署

系統版本 fig 插件 val interface 認證服務 更新 per 正在 前言: openstack的部署非常簡單,簡單的前提建立在紮實的理論功底,本人一直覺得,玩技術一定是理論指導實踐,網上遍布個種搭建方法都可以實現一個基本的私有雲環境,但是諸位可曾發現,很多

Git二、安裝配置

config 查看 projects set col utl font ssl user 一、Git安裝   Linux 1 $ apt-get install libcurl4-gnutls-dev libexpat1-dev gettext 2 libz-dev

0002設計模式之原則

範圍 class 變化 chan reason 一件事 ever 模式 單一職責原則 【1】單一職責原則:   要求一個接口或者類只有一個原因引起變化;    也就是一個接口或者類只有一個職責,它負責一件事情;  There should never be more

ProtoBufferwindows上安裝ProtoBuffer3.x (附已編譯資源)

文章 sta baidu linux平臺 hub 結構 mage 關心 平臺   百度了很久,所介紹的方法很多都不適用,搜出來的文章都是找到vs的工程文件然後balabala...,但因為gihub上的最新版本protobuf3.3.0,是不帶vs的工程文件了,官方的rea