我这里给出两种安装spark的方式,一种是在win上安装另一种就是在linux集群上安装,前一种安装方式是一种低成本的安装没有shell界面,非常适合入过门的小白练习自己对spark的业务处理能力,而且这种安装方式能对电脑省去一大笔的cpu所以个人比较喜欢,第二种安装方式就是和之前安装hadoop的方式基本一样,比于第一种安装方式多了shell界面,所以就不过多介绍
方式一,
首先去官网下载安装包类似于下面:
(友情链接:点击打开链接这个链接里面都是阿帕奇的一些顶级项目的稳定版,点击就能下载,建议保存!!)
然后你还需要hadoop的安装包和linux的一样就好了解压缩,都完成之后你需要在win的环境变量里面添加
%HADOOP_HOME%\sbin
hadoop\share\hadoop\common
spark-2.2.1-bin-hadoop2.7\bin
spark-2.2.1-bin-hadoop2.7\sbin
然后你就可以在编码机器上进行代码编写了(直接复制能运行说明安装好了):
import org.apache.spark.SparkConf;
import org.apache.spark.api.java.JavaPairRDD;
import org.apache.spark.api.java.JavaRDD;
import org.apache.spark.api.java.JavaSparkContext;
import org.apache.spark.api.java.function.VoidFunction;
import scala.Tuple2;
import java.util.Arrays;
import java.util.List;
public class cartesian_java_demo1 {
public static void main(String[] args) {
SparkConf conf = new SparkConf()
.setAppName("cartesian.java.demo1")
.setMaster("local");
JavaSparkContext sc = new JavaSparkContext(conf);
List<String> nanme= Arrays.asList("张三","李四","王五");
List<Integer> score=Arrays.asList(60,70,80);
JavaPairRDD<String,Integer> cart=sc.parallelize(nanme).cartesian(sc.parallelize(score));
cart.foreach(new VoidFunction<Tuple2<String, Integer>>() {
@Override
public void call(Tuple2<String, Integer> stringIntegerTuple2) throws Exception {
System.out.println(stringIntegerTuple2);
}
});
sc.close();
}
}
运行ok:
运行有结果说明ok安装结束!!!!
方式二,
在linux集群上安装在,方式1下载的spark安装包移动到linux上去前面的解压环境变量的都不说的直接来修改配置文件只需要修改两个配置文件就ok其中一个是spark/conf/slaves配置文件这配置文件就是指定work所在处:
类似这样修改和hadoop的slave文件的配置极其相似;
然后配置conf/spark-envs.h添加如下参数
export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.171-7.b10.el7.x86_64
#指定javahome
export HADOOP_HOME=/usr/local/hadoop/hadoop-2.8.3
export HADOOP_CONF_DIR=/usr/local/hadoop/hadoop-2.8.3/etc/hadoop
export SPARK_MASTER_IP=Master #指定spark的老大master在哪
export SPARK_WORKER_MEMORY=1G #设置spark的每个节点运行内存多大
export SPARK_WORKER_CORES=1 #设置每个work使用的core个数
export SPARK_WORKER_INSTANCES=1 #设置work数量
export SPARK_MASTER_WEBUI_PORT=8080 #设置web界面端口
export SPARK_CONF_DIR=/usr/local/hadoop/spark-2.2.1/conf #设置spark的配置目录
操作完毕后环境变量修改之后可以把文件发送到各个节点了
然后启动spark输入
start-master.sh
start-slaves.sh
启动成功进入进入shell界面:
[root@Master ~]# spark-shell
Setting default log level to "WARN".
To adjust logging level use sc.setLogLevel(newLevel). For SparkR, use setLogLevel(newLevel).
18/06/12 09:02:49 WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable
Spark context Web UI available at http://192.168.51.247:4040
Spark context available as 'sc' (master = local[*], app id = local-1528765370496).
Spark session available as 'spark'.
Welcome to
____ __
/ __/__ ___ _____/ /__
_\ \/ _ \/ _ `/ __/ '_/
/___/ .__/\_,_/_/ /_/\_\ version 2.2.1
/_/
Using Scala version 2.11.8 (OpenJDK 64-Bit Server VM, Java 1.8.0_171)
Type in expressions to have them evaluated.
Type :help for more information.
scala>
安装部分结束!!!!