安装之前我们先来看看资料上对spark的一些解释:
Apache Spark 是专为大规模数据处理而设计的快速通用的计算引擎。Spark是UC Berkeley AMP lab (加州大学伯克利分校的AMP实验室)所开源的类Hadoop MapReduce的通用并行计算框架,Spark拥有Hadoop MapReduce所具有的优点;但不同于MapReduce的是Job中间输出结果可以保存在内存中,从而不再需要读写HDFS,因此Spark能更好地适用于数据挖掘与机器学习等需要迭代的MapReduce的算法。
Spark是Scala编写,方便快速编程。
目前spark官网提供了2.x和3.x的版本供我们下载,由于spark由scala编写所以下载还需要注意package的类型,这里建议选择内置scala但不含hadoop的版本,原因是好多人学习spark之前已经学过hadoop,机器上也具备了hadoop的环境
下载其实还是挺简单的,没什么特别的地方
1 Spark开发环境的配置
下载解压之后可根据需要给解压文件重命名,之后进入conf目录,复制一份spark-env.sh.template出来,重命名为spark-env.sh,然后加入一下配置
export JAVA_HOME=/home/cry/javaenv/jdk/jdk1.8
export HADOOP_HOME=/home/cry/javaenv/hadoop
export HADOOP_CONF_DIR=/home/cry/javaenv/hadoop/etc/hadoop
export SPARK_MASTER_IP=192.168.1.29
export SPARK_DIST_CLASSPATH=$(/home/cry/javaenv/hadoop/bin/hadoop classpath)
2.x以上的版本最后一句配置不能少,否则启动会报错,倒数第二句可以不配置
之后同样复制一份slaves.template出来命名为slaves,在最后一行写上本机的主机名称(可以去/etc/hosts里查看)
以上步骤结束后环境搭建就完成了
2 spark的启动和基本使用
启动spark之前建议先把hadoop启动,spark启动命令就在bin目录里,启动方式和hadoop差不多,就是 ./start-all.sh.启动后使用jps命名检查一下
worker和master就是启动的spark的进程,如果启动成功浏览器输入http://localhost:8080/
当出现类似如下界面即说明spark环境正常
3 运行spark自带的计算圆周率的例子
进入spark的bin目录执行spark-submit 命令提交任务给spark,命令如下
./spark-submit --master=spark://cry-PC:7077 --class=org.apache.spark.examples.JavaSparkPi ../examples/jars/spark-examples_2.12-2.4.4.jar 100
下面是我本机配置的所有环境变量,提供出来作参考:
JAVA_HOME=/home/cry/javaenv/jdk/jdk1.8
CLASSPATH=.:$JAVA_HOME/bin.tools.jar
PATH=$JAVA_HOME/bin:$PATH
export JAVA_HOME CLASSPATH PATH
export ZOOKEEPER_HOME=/home/cry/javaenv/zookeeper
export PATH=$ZOOKEEPER_HOME/bin:$PATH
export PATH
export HADOOP_HOME=/home/cry/javaenv/hadoop
export SPARK_HOME=/home/cry/javaenv/spark
export PATH=$PATH:$SPARK_HOME/bin
当然了spark环境变量也建议大家配置到/etc/profile里