Spark大數據處理框架入門(單機版)


導讀

  • 引言
  • 環境准備
  • 安裝步驟
    • 1.下載地址
    • 2.開始下載
    • 3.解壓spark
    • 4.配置環境變量
    • 5.配置 spark-env.sh
    • 6.啟動spark服務
    • 7.測試spark

感謝您的閱讀,預計閱讀時長3min。 智客工坊出品必屬精品。

引言

2012年,UC Berkelye 的ANPLab研發並開源了新的大數據處理框架Spark。其核心思想包括兩方面:一方面對大數據處理框架的輸入/輸出、中間數據進行建模,將這些數據抽象為統一的數據結構,命名為彈性分布式數據集(Resilent Distributed Dataset,RDD),並在此數據結構上構建了一系列通用的數據操作,使得用戶可以簡單地實現復雜的數據處理流程;另一方面采用基於內存的數據聚合、數據緩存等機制來加速應用執行,尤其適用於迭代和交互式應用。Spark采用EPFL大學研發的函數式編程語言Scala實現,並且提供了Scala、Java、Python、R四種語言的接口,以方便開發者適用熟悉的語言進行大數據應用開發。

話不多說,現在就開始我們的Spark之旅吧!

一 環境准備:

服務器 配置 單機 文件目錄
Centos7 4核,14G master /opt/spark/spark-3.1.1-bin-hadoop2.7/
  • Spark 3.1.1
  • Hadoop 3.2
  • Scala 1.11
  • Java OpenJdk 1.8.0_292

二 安裝步驟

1.下載地址

http://spark.apache.org/downloads.html

如下圖所示:選擇3.1.1版本的spark,並選擇對應的Hadoop 版本



2.開始下載

wget https://www.apache.org/dyn/closer.lua/spark/spark-3.1.1/spark-3.1.1-bin-hadoop2.7.tgz

Notes: centos下,先進入某個目錄,比如/opt/spark目錄,然后執行下載



3.解壓spark

這里解壓到/opt/spark/

sudo tar zxvf spark-3.1.1-bin-hadoop2.7.tgz

4.配置環境變量

# vim /etc/profile

新增內容:

#spark environment
export SPARK_HOME=/opt/spark/spark-3.1.1-bin-hadoop2.7
export PATH=${SPARK_HOME}/bin:$PATH

退出並保存;刷新資源使配置生效。

# source /etc/profile

5.配置 spark-env.sh

進入 conf目錄

# cd conf

重命名

# mv spark-env.sh.template spark-env.sh

修改spark-env.sh

# vim spark-env.sh

在spark-env.sh增加如下內容:


# java
JAVA_HOME=/usr
# hadoop CONF
HADOOP_CONF_DIR=/usr/hadoop/hadoop-2.7.7/etc/hadoop

溫馨提示:

java環境變量地址 以具體機器的java安裝為准,若使用yum安裝java環境變量配置路徑

查詢本機Java安裝路徑

which java

/usr/bin/java

配置Java環境變量:

# java
 #java
JAVA_HOME=/usr

6.啟動spark服務

./start-all.sh

Notes: 也可以指定啟動 ./sbin/start-master.sh

在瀏覽器輸入服務器外網地址訪問



7 測試spark

spark自帶了一些測試demo,可以參照官方文檔:http://spark.apache.org/docs/latest/quick-start.html

7.1 spark-shell 方式

進入handoop目錄,

cd /opt/spark-3.1.1-bin-hadoop3.2/

執行spark-shell

./bin/spark-shell spark://xxxx.xxxx.12.119:7077 --executor-memory 512M --total-executor-cores 2


Using Scala version 2.12.10 (OpenJDK 64-Bit Server VM, Java 1.8.0_282)
Type in expressions to have them evaluated.
Type :help for more information.

scala> val textFile = spark.read.textFile("README.md")
textFile: org.apache.spark.sql.Dataset[String] = [value: string]

scala> textFile.count()
res0: Long = 108

scala>



溫馨提示:

如果出現以下錯誤.

WARN TaskSchedulerImpl: Initial job has not accepted any resources; check your cluster UI to ensure

解決方案:啟動這個spark-shell的時候指明內存大小

./bin/spark-shell spark://172.31.xx.xx:7077 --executor-memory 512M --total-executor-cores 2

7.2 spark-submit 提交

執行如下命令

bin/spark-submit \
--class org.apache.spark.examples.SparkPi \
--master spark://YOURHOST:7077 \
--executor-memory 500M \
--total-executor-cores 2 \
/opt/spark/spark-3.1.1-bin-hadoop3.2/examples/jars/spark-examples_2.12-3.1.1.jar \
10


再來看看Spark視圖




更多教程請關注智客工坊官網。





免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM