介绍:
Apache Spark 是专为大规模数据处理而设计的快速通用的计算引擎。Spark是UC Berkeley AMP lab (加州大学伯克利分校的AMP实验室)所开源的类Hadoop MapReduce的通用并行计算框架,Spark拥有Hadoop MapReduce所具有的优点;但不同于MapReduce的是Job中间输出结果可以保存在内存中,从而不再需要读写HDFS,因此Spark能更好地适用于数据挖掘与机器学习等需要迭代的MapReduce的算法。
Spark是Scala编写,方便快速编程。
spark四大特点:
1、快,话不多说直接上图
2、容易使用
可以使用Scala,java,Python, R 和SQL
3、组件丰富
Combine SQL, streaming, and complex analytics.
4、兼容性
spark的Master的高可用
使用zk来实现高可用,启动是每台机器都会注册信息到zk,然后通过zk的选举算法选出active,另一台则是备用,当active机器宕机,zk则推举备用为active,并开始工作,从而解决单点故障问题,实现高可用.
安装
1、官网下载:spark.apache.org
2、解压 :tar -zxvf ***
3、修改配置文件:
cd conf
cp spark-env.sh.template spark-env.sh
3-1、vim spark-env.sh
增加以下内容
export JAVA_HOME=/usr/app/jdk1.8.0_181 export HADOOP_HOME=/usr/app/hadoop-2.8.5/ export YARN_CONF_DIR=/usr/app/hadoop-2.8.5/etc/hadoop #指定默认master的ip或主机名 export SPARK_MASTER_HOST=mini1 #指定maaster提交任务的默认端口为7077 export SPARK_MASTER_PORT=7077 #指定masster节点的webui端口 export SPARK_MASTER_WEBUI_PORT=8080 #每个worker从节点能够支配的内存数 export SPARK_WORKER_MEMORY=750m #允许Spark应用程序在计算机上使用的核心总数(默认值:所有可用核心 export SPARK_WORKER_CORES=1 #每个worker从节点的实例(可选配置) export SPARK_WORKER_INSTANCES=1 #指向包含Hadoop集群的(客户端)配置文件的目录,运行在Yarn上配置此项 export HADOOP_CONF_DIR=/usr/app/hadoop-2.8.5/etc/hadoop #指定整个集群状态是通过zookeeper来维护的,包括集群恢复 export SPARK_DAEMON_JAVA_OPTS=" -Dspark.deploy.recoveryMode=ZOOKEEPER -Dspark.deploy.zookeeper.url=mini1:2181,mini2:2181,mini3:2181 -Dspark.deploy.zookeeper.dir=/spark"
3-2、修改 slaves文件
vim slaves
mini1 mini2 mini3
4、分发给其他机器
scp -r /usr/app/spark-2.3.3/ mini2:$PWD
scp -r /usr/app/spark-2.3.3/ mini3:$PWD
5、如果想让Master高可用,多配一台Master,则在mini2中的spark-env.sh文件汇总修改
export SPARK_MASTER_HOST=mini2
6、启动集群
cd sbin
./start-all.sh
启动Master
./start-master.sh
访问mini1:8080 或者mini2:8080即可看到页面
7、测试Master的高可用
先查看mini1和mini2哪个是active状态,然后杀死,standby状态就会变成active状态