spark安装及调试

介绍

Apache Spark 是专为大规模数据处理而设计的快速通用的计算引擎。

Spark是UC Berkeley AMP lab (加州大学伯克利分校的AMP实验室)所开源的类Hadoop MapReduce的通用并行框架,Spark,拥有Hadoop MapReduce所具有的优点;但不同于MapReduce的是——Job中间输出结果可以保存在内存中,从而不再需要读写HDFS,因此Spark能更好地适用于数据挖掘与机器学习等需要迭代的MapReduce的算法。

Spark 是一种与 Hadoop 相似的开源集群计算环境,但是两者之间还存在一些不同之处,这些有用的不同之处使 Spark 在某些工作负载方面表现得更加优越,换句话说,Spark 启用了内存分布数据集,除了能够提供交互式查询外,它还可以优化迭代工作负载。

Spark 是在 Scala 语言中实现的,它将 Scala 用作其应用程序框架。与 Hadoop 不同,Spark 和 Scala 能够紧密集成,其中的 Scala 可以像操作本地集合对象一样轻松地操作分布式数据集。
尽管创建 Spark 是为了支持分布式数据集上的迭代作业,但是实际上它是对 Hadoop 的补充,可以在 Hadoop 文件系统中并行运行。通过名为 Mesos 的第三方集群框架可以支持此行为。Spark 由加州大学伯克利分校 AMP 实验室 (Algorithms, Machines, and People Lab) 开发,可用来构建大型的、低延迟的数据分析应用程序。

软件获取

1
2
3
4
5
6
7
8
wget http://mirror.bit.edu.cn/apache/spark/spark-2.3.0/spark-2.3.0-bin-hadoop2.7.tgz

mv spark-2.3.0-bin-hadoop2.7.tgz /opt
cd /opt

tar xvf spark-2.3.0-bin-hadoop2.7.tgz

ln -s /opt/spark-2.3.0-bin-hadoop2.7.tgz /opt/spark

环境变量配置

1
2
3
4
5
6
7
8
9
10
11
# JAVA环境变量
export JAVA_HOME=/opt/jdk1.8.0_121
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
export PATH=${JAVA_HOME}/bin:$PATH

# SPARK环境变量
export SPARK_HOME=/opt/spark
export SPARK_LOCAL_IP=10.0.4.190
export PYSPARK_PYTHON=$HOME/.pyenv/versions/bigData/bin/python
export PATH=$PATH:$SPARK_HOME/bin

修改日志级别

1
2
3
4
5
6
7
cp /opt/spark/conf/log4j.properties.template /opt/spark/conf/log4j.properties

vi /opt/spark/conf/log4j.properties

# Set everything to be logged to the console
# log4j.rootCategory=INFO, console
log4j.rootCategory=WARN, console

启动

1
/opt/spark/sbin/start-all.sh

安装pyspark

1
2
3
cd /opt/spark/python

python setup.py install

调试

1
pyspark --master spark://wuyue-pc:7077

任务提交

1
2
3
4
# 示例代码目录
# /opt/spark/examples/src/main/python

spark-submit --master spark://wuyue-pc:7077 /opt/spark/examples/src/main/python/pi.py

管理地址

1
2
# 集群
http://wuyue-pc:8080