ROS一鍵部署 Spark 分布式集群
Apache Spark是專為大規模數據處理而設計的快速通用的計算引擎,可以完成各種各樣的運算,包括 SQL 查詢、文本處理、機器學習等,而在 Spark 出現之前,我們一般需要學習各種各樣的引擎來分別處理這些需求。本文主要目的是為大家提供一種非常簡單的方法,在阿裏雲上部署Spark集群。
通過<阿裏雲ROS資源編排服務>,將VPC、NAT Gateway、ECS創建,Hadoop和Spark部署過程自動化,使大家能夠非常方便地部署一個Spark集群。本文創建的Spark集群包含三個節點:master.hadoop,slave1.hadoop,slave2.hadoop。
注意:
- 必須確保可以正確下載Jdk,Hadoop,Scala和Spark安裝包,我們可以選擇類似如下的URL:
- https://download.oracle.com/otn-pub/java/jdk/8u121-b13/e9e7ea248e2c4826b92b3f075a80e441/jdk-8u121-linux-x64.tar.gz
- https://mirrors.hust.edu.cn/apache/hadoop/core/hadoop-2.7.1/hadoop-2.7.1.tar.gz
- https://downloads.lightbend.com/scala/2.12.1/scala-2.12.1.tgz
- https://d3kbcqa49mib13.cloudfront.net/spark-2.1.0-bin-hadoop2.7.tgz
- 利用該模板創建時,隻能選擇CentOS係統;
- 為了防止Timeout 失敗,可以設置為120分鍾;
- 我們選擇的數據中心在上海/北京。
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 上一篇:
C語言從零開始(一)
下一篇:
開源大數據周刊-第48期
相關內容
GitHub Flavored Markdown viewer plugin for Eclipse
maven學習七之用戶密碼修改和添加用戶
Javascript 中的神器——Promise
SpringCloud--分布式配置中心(Spring Cloud Config)
HierarchicalStateMachine(HandlerStateMachine)分析
Installation and Operation Guide for BigBench on MaxCompute Benchmarking Suite
用Mixer API函數調節控製麵板的音頻設置
增強AW_Blog插件之後台文章編輯新增一圖片字段
數據安全不容忽視 魔高一尺道高一丈
未能創建類型“Genersoft.ZJGL_XD.XDXTXY.XDGLPUBSrv”。