Apache Spark 是專爲大規模數據處理而設計的快速通用的計算引擎。Spark是UC Berkeley AMP lab (加州大學伯克利分校的AMP實驗室)所開源的類Hadoop MapReduce的通用並行框架,Spark,擁有Hadoop MapReduce所具備的優勢;但不一樣於MapReduce的是Job中間輸出結果能夠保存在內存中,從而再也不須要讀寫HDFS,所以Spark能更好地適用於數據挖掘與機器學習等須要迭代的MapReduce的算法。java
Spark 是一種與 Hadoop 類似的開源集羣計算環境,可是二者之間還存在一些不一樣之處,這些有用的不一樣之處使 Spark 在某些工做負載方面表現得更加優越,換句話說,Spark 啓用了內存分佈數據集,除了可以提供交互式查詢外,它還能夠優化迭代工做負載。node
Spark 是在 Scala 語言中實現的,它將 Scala 用做其應用程序框架。與 Hadoop 不一樣,Spark 和 Scala 可以緊密集成,其中的 Scala 能夠像操做本地集合對象同樣輕鬆地操做分佈式數據集。算法
儘管建立 Spark 是爲了支持分佈式數據集上的迭代做業,可是實際上它是對 Hadoop 的補充,能夠在 Hadoop 文件系統中並行運行。經過名爲 Mesos 的第三方集羣框架能夠支持此行爲。Spark 由加州大學伯克利分校 AMP 實驗室 (Algorithms, Machines, and People Lab) 開發,可用來構建大型的、低延遲的數據分析應用程序。shell
JDK:1.8 Spark-2.2.0 Hadoop Release:2.7.4 centos:7.3
主機名 | ip地址 | 安裝服務 |
---|---|---|
spark-master | 192.168.252.121 | jdk、hadoop、spark、scala |
spark-slave01 | 192.168.252.122 | jdk、hadoop、spark |
spark-slave02 | 192.168.252.123 | jdk、hadoop、spark |
Spark 是在 Scala 語言中實現的,它將 Scala 用做其應用程序框架。與 Hadoop 不一樣,Spark 和 Scala 可以緊密集成,其中的 Scala 能夠像操做本地集合對象同樣輕鬆地操做分佈式數據集。全部咱們安裝 Scalaapache
Scalasegmentfault
Scala-2.13.0 安裝及配置 centos
Hadoop併發
su hadoop cd /home/hadoop/ wget https://mirrors.tuna.tsinghua.edu.cn/apache/spark/spark-2.2.0/spark-2.2.0-bin-hadoop2.7.tgz tar -zxvf spark-2.2.0-bin-hadoop2.7.tgz mv spark-2.2.0-bin-hadoop2.7 spark-2.2.0
若是是對全部的用戶都生效就修改vi /etc/profile
文件
若是隻針對當前用戶生效就修改 vi ~/.bahsrc
文件機器學習
sudo vi /etc/profile
#spark export PATH=${SPARK_HOME}/bin:$PATH export SPARK_HOME=/home/hadoop/spark-2.2.0/
使環境變量生效,運行 source /etc/profile
使/etc/profile
文件生效
cd /home/hadoop/spark-2.2.0/conf
mv spark-env.sh.template spark-env.sh vi spark-env.sh
#java export JAVA_HOME=/lib/jvm #Spark主節點的IP export SPARK_MASTER_IP=192.168.252.121 #Spark主節點的端口號 export SPARK_MASTER_PORT=7077
簡單介紹幾個變量
cd /home/hadoop/spark-2.2.0/conf
mv slaves.template slaves vi slaves
node1 node2 node3
進去 spark 安裝目錄 ,打包,併發送,到其餘節點
cd cd /home/hadoop/ tar zcvf spark.tar.gz spark-2.2.0 scp spark.tar.gz hadoop@node2:/home/hadoop/ scp spark.tar.gz hadoop@node3:/home/hadoop/
進去 node1
,node2
節點 解壓
cd /home/hadoop/ tar -zxvf spark.tar.gz
到這裏一步 確保你的每個節點 環境變量夠數
#jdk export JAVA_HOME=/lib/jvm export JRE_HOME=${JAVA_HOME}/jre export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib export PATH=${SPARK_HOME}/bin:${SCALA_HOME}/bin:${HADOOP_HOME}/bin:${JAVA_HOME}/bin:$PATH #hadoop export HADOOP_HOME=/home/hadoop/hadoop-2.7.4/ #scala export SCALA_HOME=/lib/scala #spark export SPARK_HOME=/home/hadoop/spark-2.2.0/
關閉防火牆
systemctl stop firewalld.service
cd /home/hadoop/hadoop-2.7.4/sbin ./start-all.sh
cd /home/hadoop/spark-2.2.0/sbin ./start-all.sh
cd /home/hadoop/spark-2.2.0/bin ./spark-shell
spark-shell 訪問:192.168.252.121:4040