前言 在安裝後hadoop之後,接下來需要安裝的就是Spark。 scala 2.11.7下載與安裝 具體步驟參見 "上一篇博文" Spark下載 為了方便,我直接是進入到了/usr/local文件夾下麵進行下載 Spark安裝之前的準備 文件的解壓與改名 為了我後面方便配置 ,在這裡我把文件夾的名 ...
前言
在安裝後hadoop之後,接下來需要安裝的就是Spark。
scala-2.11.7下載與安裝
具體步驟參見上一篇博文
Spark下載
為了方便,我直接是進入到了/usr/local文件夾下麵進行下載spark-2.2.0
wget https://d3kbcqa49mib13.cloudfront.net/spark-2.2.0-bin-hadoop2.7.tgz
Spark安裝之前的準備
文件的解壓與改名
tar -zxvf spark-2.2.0-bin-hadoop2.7.tgz
rm -rf spark-2.2.0-bin-hadoop2.7.tgz
為了我後面方便配置spark
,在這裡我把文件夾的名字給改了
mv spark-2.2.0-bin-hadoop2.7 spark-2.2.0
配置環境變數
vi /etc/profile
在最尾巴加入
export SPARK_HOME=/usr/local/spark-2.2.0
export PATH=$PATH:$SPARK_HOME/bin
配置Spark環境
打開spark-2.2.0
文件夾
cd spark-2.2.0
此處需要配置的文件為兩個
spark-env.sh
和slaves
首先我們把緩存的文件spark-env.sh.template
改為spark
識別的文件spark-env.sh
cp conf/spark-env.sh.template conf /spark-env.sh
修改spark-env.sh
文件
vi conf/spark-env.sh
在最尾巴加入
export JAVA_HOME=/usr/java/jdk1.8.0_141
export SCALA_HOME=/usr/scala-2.11.7
export HADOOP_HOME=/usr/local/hadoop-2.7.2
export HADOOP_CONF_DIR=/usr/local/hadoop-2.7.2/etc/hadoop
export SPARK_MASTER_IP=SparkMaster
export SPARK_WORKER_MEMORY=4g
export SPARK_WORKER_CORES=2
export SPARK_WORKER_INSTANCES=1
變數說明
- JAVA_HOME:Java安裝目錄
- SCALA_HOME:Scala安裝目錄
- HADOOP_HOME:hadoop安裝目錄
- HADOOP_CONF_DIR:hadoop集群的配置文件的目錄
- SPARK_MASTER_IP:spark集群的Master節點的ip地址
- SPARK_WORKER_MEMORY:每個worker節點能夠最大分配給exectors的記憶體大小
- SPARK_WORKER_CORES:每個worker節點所占有的CPU核數目
- SPARK_WORKER_INSTANCES:每台機器上開啟的worker節點的數目
修改slaves
文件
vi conf/slaves
在最後面修成為
SparkWorker1
SparkWorker2
同步SparkWorker1
和SparkWorker2
的配置
在此我們使用rsync
命令
rsync -av /usr/local/spark-2.2.0/ SparkWorker1:/usr/local/spark-2.2.0/
rsync -av /usr/local/spark-2.2.0/ SparkWorker2:/usr/local/spark-2.2.0/
啟動Spark
集群
因為我們只需要使用
hadoop
的HDFS
文件系統,所以我們並不用把hadoop
全部功能都啟動。
啟動hadoop
的HDFS
文件系統
start-dfs.sh
啟動之後使用jps
命令可以查看到SparkMaster
已經啟動了namenode
,SparkWorker1
和SparkWorker2
都啟動了datanode
,說明hadoop
的HDFS
文件系統已經啟動了。
啟動Spark
因為
hadoop/sbin
以及spark/sbin
均配置到了系統的環境中,它們同一個文件夾下存在同樣的start-all.sh
文件。最好是打開spark-2.2.0
,在文件夾下麵打開該文件。
./sbin/start-all.sh
成功打開之後使用jps
在SparkMaster
、parkWorker1
和SparkWorker2
節點上分別可以看到新開啟的Master
和Worker
進程。
成功打開Spark
集群之後可以進入Spark
的WebUI
界面,可以通過
SparkMaster_IP:8080
訪問,可見有兩個正在運行的Worker節點。
打開Spark-shell
使用
spark-shell
便可打開Spark
的shell
同時,因為shell
在運行,我們也可以通過
SparkMaster_IP:4040
訪問WebUI
查看當前執行的任務。
結言
到此我們的Spark集群就搭建完畢了。搭建spark集群原來知識網路是挺龐大的,涉及到Linux基本操作,設計到ssh,設計到hadoop、Scala以及真正的Spark。在此也遇到不少問題,通過翻閱書籍以及查看別人的blog得到瞭解決。在此感謝分享知識的人。
參見 王家林/王雁軍/王家虎的《Spark 核心源碼分析與開發實戰》
文章出自kwongtai'blog,轉載請標明出處!