大數據平臺搭建 Hadoop-2.7.4 + Spark-2.2.0 快速搭建

Apache Spark 簡介

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併發

Hadoop-2.7.4 集羣快速搭建框架

安裝

下載解壓

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文件生效

修改配置

修改 spark-env.sh

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

簡單介紹幾個變量

  • 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

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

啓動 Hadoop

cd /home/hadoop/hadoop-2.7.4/sbin

./start-all.sh

啓動 Spark

cd /home/hadoop/spark-2.2.0/sbin

./start-all.sh

啓動 Spark Shell

cd /home/hadoop/spark-2.2.0/bin

./spark-shell

spark 訪問:192.168.252.121:8080

spark-shell 訪問:192.168.252.121:4040

圖片描述

圖片描述

Contact

  • 做者:鵬磊
  • 出處:http://www.ymq.io
  • Email:admin@souyunku.com
  • 版權歸做者全部,轉載請註明出處
  • Wechat:關注公衆號,搜雲庫,專一於開發技術的研究與知識分享

關注公衆號-搜雲庫

相關文章
相關標籤/搜索