閱讀416 返回首頁    go 阿裏雲 go 技術社區[雲棲]


ROS一鍵部署 Spark 分布式集群

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

一鍵部署Spark集群>>
screenshot
screenshot

注意:

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

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

Spark 是在 Scala 語言中實現的,它將 Scala 用作其應用程序框架,Scala可以像操作本地集合對象一樣輕鬆地操作分布式數據集。

    "aria2c $ScalaUrl \n",
    "mkdir -p $SCALA_HOME \ntar zxvf scala-*.tgz -C $SCALA_HOME \ncd $SCALA_HOME \nmv scala-*.*/* ./ \nrmdir scala-*.* \n",
    "echo >> /etc/profile \n",
    "echo export SCALA_HOME=$SCALA_HOME >> /etc/profile \n",
    "echo export PATH=$PATH:$SCALA_HOME/bin >> /etc/profile \n",
    "ssh root@$ipaddr_slave1 \"mkdir -p $SCALA_HOME; mkdir -p $SPARK_HOME; exit\" \n",
    "ssh root@$ipaddr_slave2 \"mkdir -p $SCALA_HOME; mkdir -p $SPARK_HOME; exit\" \n",
    "scp -r $SCALA_HOME/*  root@$ipaddr_slave1:$SCALA_HOME \n",
    "scp -r $SCALA_HOME/*  root@$ipaddr_slave2:$SCALA_HOME \n",

Master上安裝Spark,並將配置正確後的Spark Home目錄遠程複製到Slave主機上,並設置環境變量。

    "aria2c $SparkUrl \n",
    "mkdir -p $SPARK_HOME \ntar zxvf spark-*hadoop*.tgz -C $SPARK_HOME \ncd $SPARK_HOME \nmv spark-*hadoop*/* ./ \nrmdir spark-*hadoop* \n",
    "echo >> /etc/profile \n",
    "echo export SPARK_HOME=$SPARK_HOME >> /etc/profile \n",
    "echo export PATH=$PATH:$SPARK_HOME/bin:$SPARK_HOME/sbin >> /etc/profile \n",
    "source /etc/profile \n",
    " \n",
    "cp $SPARK_HOME/conf/slaves.template $SPARK_HOME/conf/slaves \n",
    "echo $ipaddr_slave1 > $SPARK_HOME/conf/slaves \n",
    "echo $ipaddr_slave2 >> $SPARK_HOME/conf/slaves \n",
    "cp $SPARK_HOME/conf/spark-env.sh.template $SPARK_HOME/conf/spark-env.sh \n",
    "echo export SCALA_HOME=$SCALA_HOME > $SPARK_HOME/conf/spark-env.sh \n",
    "echo export JAVA_HOME=$JAVA_HOME   >> $SPARK_HOME/conf/spark-env.sh \n",
    "scp -r $SPARK_HOME/*  root@$ipaddr_slave1:$SPARK_HOME \n",
    "scp -r $SPARK_HOME/*  root@最後更新:2017-04-17 16:30:39

  上一篇:go C語言從零開始(一)
  下一篇:go 開源大數據周刊-第48期