Spark
Apache Spark是一种快速通用的集群计算系统。它提供Java,Scala,Python和R中的高级API,以及支持通用执行图的优化引擎。它还支持一组丰富的更高级别的工具,包括Spark SQL用于SQL和结构化数据的处理,MLlib机器学习,GraphX用于图形处理和Spark Streaming
特点:速度快、支持多种语言、生态系统全、兼容Hadoop
Spark体系结构
执行过程
一个Wokrer有多个Executor。Executor是任务的执行者,按阶段(Stage)划分任务——>RDD
客户端:Driver Program提交任务到集群中
Spark伪分布式安装
(1)网站http://spark.apache.org/下载Spark(2)创建Spark文件夹
(3)解压spark-2.4.3-bin-hadoop2.7.tgz压缩包
tar -xvzf spark-2.4.3-bin-hadoop2.7.tgz
(4)配置Spark的环境变量
(5)刷新配置
source /etc/profile
(6)修改conf/spark-env.sh.template的文件名
mv spark-env.sh.template spark-env.sh
(7)修改conf/spark-env.sh.template的文件名
move spark-env.sh.template spark-env.sh
(8)配置conf/spark-env.sh文件
export JAVA_HOME=/usr/local/java/jdk1.8.0_11
export SPARK_MASTER_HOST=hadoop1
export SPARK_MASTER_PORT=7077
(9)修改conf/slaves.template的文件名
mv slaves.template slaves
(10)配置conf/slaves文件
hadoop1
(11)启动Spark
./sbin/start-all.sh
Spark完全分布式安装
(1)网站http://spark.apache.org/下载Spark(2)创建Spark文件夹
(3)解压spark-2.4.3-bin-hadoop2.7.tgz压缩包
tar -xvzf spark-2.4.3-bin-hadoop2.7.tgz
(4)配置Spark的环境变量
(5)刷新配置
source /etc/profile
(6)修改conf/spark-env.sh.template的文件名
mv spark-env.sh.template spark-env.sh
(7)修改conf/spark-env.sh.template的文件名
move spark-env.sh.template spark-env.sh
(8)配置conf/spark-env.sh文件
export JAVA_HOME=/usr/local/java/jdk1.8.0_11
export SPARK_MASTER_HOST=hadoop1
export SPARK_MASTER_PORT=7077
(9)修改conf/slaves.template的文件名
mv slaves.template slaves
(10)配置conf/slaves文件
hadoop1
hadoop2
hadoop3
(11)将spark文件发送到hadoop2和hadoop3下
(12)启动Spark集群
./sbin/start-all.sh
(13)输入网址http://192.168.138.130:8080/验证Spark
(14)启动spark-shell
./bin/spark-shell --master spark://hadoop1:7077