【大数据入门核心技术-Spark】(四)Spark Standlone模式安装

目录

一、Spark集群三种部署模式

1、Local模式

2、Spark Standalone模式

3、Spark on YARN模式

二、准备工作

1、Hadoop环境安装

2、下载spark

三、安装spark

1、解压

2、配置环境变量

3、修改配置文件

4、分发文件

5、启动spark

6、测试安装是否成功

四、运行测试spark

1、读取HDFS文件

五、常见问题


一、Spark集群三种部署模式

1、Local模式

运行在一台计算机上的,通常是用来做测试

2、Spark Standalone模式

Standalone模式是Spark自带的资源调动引擎,构建一个由Master + Slave构成的Spark集群,Spark运行在集群中。这个要和Hadoop中的Standalone区别开来。这里的Standalone是指只用Spark来搭建一个集群,不需要借助其他的框架。是相对于Yarn和Mesos来说的。

【大数据入门核心技术-Spark】(四)Spark Standlone模式安装_第1张图片

3、Spark on YARN模式

该模式下是使用hadoop带有资源调度yarn来运行spark程序

本文主要部署模式为:Spark Standalone模式

二、准备工作

1、Hadoop环境安装

【大数据入门核心技术-Zookeeper】(五)ZooKeeper集群搭建

【大数据入门核心技术-Hadoop】(五)Hadoop3.2.1非高可用集群搭建

【大数据入门核心技术-Hadoop】(六)Hadoop3.2.1高可用集群搭建

2、下载spark

News | Apache Spark

本文安装包下载地址

https://archive.apache.org/dist/spark/spark-3.1.3/spark-3.1.3-bin-without-hadoop.tgz

三、安装spark

1、解压

tar zxvf spark-3.1.3-bin-without-hadoop.tgz -C /usr/local
cd /usr/local
mv spark-3.1.3-bin-without-hadoop spark-3.1.3

2、配置环境变量

vi /etc/profile

export SPARK_HOME=/usr/local/spark-3.1.3
export PATH=:$PATH:${SPARK_HOME}

source /etc/profile

3、修改配置文件

cd $SPARK_HOME/conf/

cp spark-env.sh.template spark-env.sh

vi spark-env.sh

## 设置JAVA安装目录
 
JAVA_HOME=/usr/local/jdk1.8.0_351
 
 
## HADOOP软件配置文件目录,读取HDFS上文件和运行YARN集群
 
HADOOP_CONF_DIR=/usr/local/hadoop-3.2.1/etc/hadoop
 
YARN_CONF_DIR=/usr/local/hadoop-3.2.1/etc/hadoop
 
 
## 指定spark老大Master的IP和提交任务的通信端口
 
export SPARK_MASTER_HOST=hadoop101
 
export SPARK_MASTER_PORT=7077
 
 
SPARK_MASTER_WEBUI_PORT=8080
 
SPARK_WORKER_CORES=1
 
SPARK_WORKER_MEMORY=1g
​
export SPARK_DIST_CLASSPATH=$(/usr/local/hadoop-3.2.1/bin/hadoop classpath)

cp workers.template workers

vi works

hadoop102
hadoop103

4、分发文件

scp -r spark-3.1.3 hadoop102:$PWD
scp -r spark-3.1.3 hadoop103:$PWD

scp /etc/profile hadoop102:/etc
scp /etc/profile hadoop103:/etc

分别source另外两台的/etc/profile

5、启动spark

在hadoop101上执行命令

cd $SPARK_HOME
​
sbin/start-all.sh

同时也可以用每步启动和停止命令操作

sbin/start-master.sh

sbin/start-workers.sh

sbin/stop-master.sh

sbin/stop-workers.sh

6、测试安装是否成功

jps:

hadoop101

【大数据入门核心技术-Spark】(四)Spark Standlone模式安装_第2张图片

其他节点

【大数据入门核心技术-Spark】(四)Spark Standlone模式安装_第3张图片

cd $SPARK_HOME/

bin/spark-shell   

或  bin/spark-shell --master spark://hadoop101:7077

【大数据入门核心技术-Spark】(四)Spark Standlone模式安装_第4张图片

UI访问:

http://hadoop101:8081/

【大数据入门核心技术-Spark】(四)Spark Standlone模式安装_第5张图片

http://hadoop101:4040/jobs/

【大数据入门核心技术-Spark】(四)Spark Standlone模式安装_第6张图片

四、运行测试spark

1、读取HDFS文件

1)准备数据

创建目录
hadoop fs -mkdir -p /wordcount/
​
上传文件到hdfs
hadoop fs -put /root/test_spark/words.txt  /wordcount/words.txt

2)执行WordCount

val textFile = sc.textFile("hdfs://hadoop101:8020/wordcount/words.txt")
val counts = textFile.flatMap(_.split(" ")).map((_,1)).reduceByKey(_ + _)
counts.collect
counts.saveAsTextFile("hdfs://hadoop101:8020/wordcount/output")

查看文件内容

hadoop fs -text /wordcount/output/part*

3)结束后删除测试文件夹

hadoop fs -rm -R /wordcount

五、常见问题

1、spark执行start-master.sh 报错java.lang.NoClassDefFoundError: org/apache/log4j/spi/Filter

解决方法:

打开$(SPARK_HOME)/ect/spark-env.sh。在文档的合适位置(如开始几行)添加如下变量(其中hadoop换成自己的路径)

export SPARK_DIST_CLASSPATH=$(/data/hdp/hadoop-3.2.1/bin/hadoop classpath)

参考:

Using Spark's "Hadoop Free" Build - Spark 3.3.1 Documentation

你可能感兴趣的:(大数据技术入门到21天通关,大数据,spark,分布式)