Spark官网http://spark.apache.org/docs/latest/cluster-overview.html提供了Spark的Cluster模式图
只需要在程序中import Spark的链接库就可以实现。在本地运行时,对于只安装在一台计算机上时最方便,适合刚入门时学习、测试使用。
由Spark提供的Cluster管理模式,若没有架设Hadoop Multi Node Cluster,则可架设Spark Standalone Cluster,实现多台计算机并行计算。
Hadoop2.x新架构中更高效率的资源管理核心。Spark可以在YARN上运行,让YARN帮助它进行多台机器的资源管理。
针对更大型规模的计算工作,本地机器或自建集群的计算能力恐怕难以满足。此时可以将Spark程序在云平台上运行,例如AWS的EC2平台。
Spark支持Scala、Java和Python等语言,不过Spark本身是用Scala语言开发的,所以必须要先安装Scala。因为Spark2.0必须配合Scala2.11版本,所以选择2.11.6版本 https://www.scala-lang.org/files/archive/
Scala具有以下特点
cd /usr/local
sudo cp ~/下载/scala-2.11.6.tgz ./
sudo tar -xvzf scala-2.11.6.tgz
sudo ln -s scala-2.11.6 scala
编辑 ~/.bashrc,添加
# SCALA Variables
export SCALA_HOME=/usr/local/scala
export PATH=$PATH:$SCALA_HOME/bin
使环境变量生效
source ~/.bashrc
http://spark.apache.org/downloads.html
Spark与Hadoop版本必须相互配合因为Spark会读取HadoopHDFS并且必须能在HadoopYARN执行程序,所以必须按照目前安装的Hadoop版本来选择Spark版本。因为之前安装的是Hadoop2.6.4,所以这里选择Pre-build for Apache Hadoop 2.6
cd /usr/local
sudo tar -xvzf spark-2.0.2-bin-hadoop2.6.tgz
sudo mv ~/下载/spark-2.0.2-bin-hadoop2.6.tgz ./
sudo ln -s spark-2.0.2-bin-hadoop2.6 spark
编辑 ~/.bashrc
# SPARK Variables
export SPARK_HOME=/usr/local/spark
export PATH=$PATH:$SPARK_HOME/bin
使环境变量生效
source ~/.bashrc
复制模板
sudo cp /usr/local/spark/conf/log4j.properties.template /usr/local/spark/conf/log4j.properties
编辑 /usr/local/spark/conf/log4j.properties,把log4j.rootCategory值改成“WARN”
# Set everything to be logged to the console
log4j.rootCategory=WARN, console
log4j.appender.console=org.apache.log4j.ConsoleAppender
log4j.appender.console.target=System.err
log4j.appender.console.layout=org.apache.log4j.PatternLayout
log4j.appender.console.layout.ConversionPattern=%d{yy/MM/dd HH:mm:ss} %p %c{1}: %m%n
pyspark
pyspark --master local[*]
>>> sc.master
>>> textFile = sc.textFile("file:/usr/local/spark/README.md")
>>> textFile.cout()
>>> textFile = sc.textFile("hdfs://master:9000/user/
安装与Spark2.0兼容的版本 Anaconda2-2.5.0-Linux-x86_64.sh https://mirrors.tuna.tsinghua.edu.cn/anaconda/archive/
bash Anaconda2-2.5.0-Linux-x86_64.sh -b
# Anaconda Variables
export PATH=/home/yf/anaconda2/bin:$PATH
export ANACONDA_PATH=/home/yf/anaconda2
export PYSPARK_DRIVER_PYTHON=$ANACONDA_PATH/bin/ipython
export PYSPARK_PYTHON=$ANACONDA_PATH/bin/python
使环境变量生效
source ~/.bashrc
mkdir -p pythonwork/ipynotebook
cd pythonwork/ipynotebook/
PYSPARK_DRIVER_PYTHON=ipython PYSPARK_DRIVER_PYTHON_OPTS="notebook" pyspark --master local[*]
本文根据林大贵《Python+Spark2.0+Hadoop机器学习与大数据实战》第8章、第9章实现