阿裡雲一鍵部署 Spark 分散式集群

來源:互聯網
上載者:User

摘要: Apache Spark是專為大規模資料處理而設計的快速通用的計算引擎,可以完成各種各樣的運算,包括SQL 查詢、文字處理、機器學習服務等。通過ROS大家可以在阿裡雲上一鍵部署Spark集群。

Apache Spark是專為大規模資料處理而設計的快速通用的計算引擎,可以完成各種各樣的運算,包括 SQL 查詢、文字處理、機器學習服務等,而在 Spark 出現之前,我們一般需要學習各種各樣的引擎來分別處理這些需求。本文主要目的是為大家提供一種非常簡單的方法,在阿裡雲上部署Spark集群。
通過<阿裡雲ROS資源編排服務>,將VPC、NATGateway、ECS建立,Hadoop和Spark部署程序自動化,使大家能夠非常方便地部署一個Spark集群。本文建立的Spark集群包含三個節點:master.hadoop,slave1.hadoop,slave2.hadoop。

急速部署Spark集群

一鍵部署Spark集群>>

screenshot

screenshot

注意:

·必須確保可以正確下載Jdk,Hadoop,Scala和Spark安裝包,我們可以選擇類似如下的URL:

ohttp://download.oracle.com/otn-pub/java/jdk/8u121-b13/e9e7ea248e2c4826b92b3f075a80e441/jdk-8u121-linux-x64.tar.gz(Must set 'Cookie:oraclelicense=accept-securebackup-cookie' in Header, when download.)

ohttp://mirrors.hust.edu.cn/apache/hadoop/core/hadoop-2.7.1/hadoop-2.7.1.tar.gz

ohttps://downloads.lightbend.com/scala/2.12.1/scala-2.12.1.tgz

ohttp://d3kbcqa49mib13.cloudfront.net/spark-2.1.0-bin-hadoop2.7.tgz

·利用該範本建立時,只能選擇CentOS系統;

·為了防止Timeout 失敗,可以設定為120分鐘;

·我們選擇的資料中心在上海/北京。

ROS範本安裝Spark四部曲

Spark的依賴環境比較多,一般安裝Spark可分為四步:安裝設定Hadoop集群,安裝設定Scala,安裝設定Spark包和啟動測試集群。

1. 安裝設定Hadoop

安裝Hadoop比較複雜,我們在上一篇部落格《阿裡雲一鍵部署Hadoop 分散式集群》中已經做過詳細介紹,這裡不再贅述。

2. 安裝設定Scala

Spark 是在Scala 語言中實現的,它將 Scala 用作其應用程式架構,Scala可以像動作本地集合物件一樣輕鬆地動作分散式資料集。

"aria2c $ScalaUrl 
",
"mkdir -p $SCALA_HOME 
tar zxvf scala-*.tgz -C $SCALA_HOME 
cd $SCALA_HOME 
mv scala-*.** ./ 
rmdir spark-*hadoop* 
",
"echo >> /etc/profile 
",
"echo export SPARK_HOME=$SPARK_HOME >> /etc/profile 
",
"echo export PATH=$PATH:$SPARK_HOME/bin:$SPARK_HOME/sbin >> /etc/profile 
",
"source /etc/profile 
",
" 
",
"cp $SPARK_HOME/conf/slaves.template $SPARK_HOME/conf/slaves 
",
"echo $ipaddr_slave1 > $SPARK_HOME/conf/slaves 
",
"echo $ipaddr_slave2 >> $SPARK_HOME/conf/slaves 
",
"cp $SPARK_HOME/conf/spark-env.sh.template $SPARK_HOME/conf/spark-env.sh 
",
"echo export SCALA_HOME=$SCALA_HOME > $SPARK_HOME/conf/spark-env.sh 
",
"echo export JAVA_HOME=$JAVA_HOME>> $SPARK_HOME/conf/spark-env.sh 
",
"scp -r $SPARK_HOME/*root@$ipaddr_slave1:$SPARK_HOME 
",
"scp -r $SPARK_HOME/*root@$ipaddr_slave2:$SPARK_HOME 
",
" 
",
"ssh root@$ipaddr_slave1 "echo >> /etc/profile;echo export SCALA_HOME=$SCALA_HOME >> /etc/profile;echo export PATH=$PATH:$SCALA_HOME/bin >> /etc/profile;echo export SPARK_HOME=$SPARK_HOME >> /etc/profile;echo export PATH=$PATH:$SPARK_HOME/bin:$SPARK_HOME/sbin >> /etc/profile;exit" 
",
"ssh root@$ipaddr_slave2 "echo >> /etc/profile;echo export SCALA_HOME=$SCALA_HOME >> /etc/profile;echo export PATH=$PATH:$SCALA_HOME/bin >> /etc/profile;echo export SPARK_HOME=$SPARK_HOME >> /etc/profile;echo export PATH=$PATH:$SPARK_HOME/bin:$SPARK_HOME/sbin >> /etc/profile;exit" 
",

4. 啟動測試集群

最後格式化HDFS,關閉防火牆,啟動集群。

"hadoop namenode -format 
",
"systemctl stopfirewalld 
",
"$HADOOP_HOME/sbin/start-dfs.sh 
",
"$HADOOP_HOME/sbin/start-yarn.sh 
",
"$SPARK_HOME/sbin/start-all.sh 
",

測試部署結果

建立完成後,查看資源棧概況:

screenshot

瀏覽器中輸入圖中的的SparkWebsiteURL,得到如下結果,則部署成功:

ROS樣本範本

Spark_Hadoop_Distributed_Env_3_ecs.json:通過該範本可以一鍵部署上面的集群。
Spark_Hadoop_ecsgroup.json:該範本允許用戶指定slaves節點的數量。screenshot

相關產品:

  1. 資源編排ROS
相關文章

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.