配置spark单机,集群及高可用和yarn

	Java -version  		查看 jdk版本
	whereis javac 		查看jdk安装路径

搭建spark

搭建单机版本

在/data/spark目录下上传spark的包
解压压缩包

tar -xzvf spark-2.4.4-bin-hadoop2.7.tgz

修改文件夹的名字(去掉版本号)

mv spark-2.4.4-bin-hadoop2.7/ spark

安装好后尝试运行一下圆周率

bin/run-example SparkPi 10

在这里插入图片描述这次把圆周率次数调大,让spark运行的时间加长然后从网页中访问运行的进度

bin/run-example SparkPi 100000

在网页中访问运行的进度

http://node7-1:4040/
![在这里插入图片描述](https://img-blog.csdnimg.cn/20191228092849645.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80NTg1ODY2NA==,size_16,color_FFFFFF,t_70

集群版本

要准备一个conf/slaves;写的全部是小弟(复制conf/slaves.template为conf/slaves)
node7-3
node7-4

配置文件:(复制conf/spark-env.sh.template为spark-env.sh)
SPARK_MASTER_HOST=node7-2
在这里插入图片描述
启动大哥

sbin/start-master.sh

启动小弟

#参数是大哥的Url
sbin/start-slave.sh spark://node7-2:7077

启动脚本(只需要在大哥上启动-node7-2)

sbin/start-all.sh

停止脚本(只需要在大哥上停止-node7-2)

sbin/stop-all.sh
集群高可用和yarn

启动zookeeper
在这里插入图片描述

配置大哥;在二哥上面,MASTER_PORT=指的是自己 SPARK_MASTER_HOST=node7-1
#设置zookeepr,不能换行

SPARK_DAEMON_JAVA_OPTS="-Dspark.deploy.recoveryMode=ZOOKEEPER-Dspark.deploy.zookeeper.url=node7-1:2181,node7-2:2181,node7-3:2181 -Dspark.deploy.zookeeper.dir=/spark"

告诉Spark,hadoop放到哪里面了,前题是每一个Spark,的服务器上都装有hadoop

HADOOP_CONF_DIR=/data/hadoop/hadoop/etc/hadoop/

在启动之前确认node7-2,node7-3,node7-4配置文件一样
访问的时候:
启动spark集群(standlone-高可用);启动脚本(只需要在大哥上启动-node7-2)

http://node7-2:8081/

由于8080被占用了,就换成了8081
使用下面这个命令可以查看是哪个应用程序在使用这个端口

netstat -anp|grep 8080

启动二哥(在node7-1)上启动

sbin/start-master.sh

在这里插入图片描述

#–master:把任务提交给大哥;
#node7-1:7077可以去掉 bin/spark-submit
–master spark://xiaobai02:7077,xiaobai01:7077
–name myPi
–class org.apache.spark.examples.SparkPi \ examples/jars/spark-examples_2.11-2.4.4.jar \ 100000

bin/spark-submit
–master spark://xiaobai02:7077
–name myPi
–class org.apache.spark.examples.SparkPi \ examples/jars/spark-examples_2.11-2.4.4.jar \ 100000

<think>好的,用户想了解如何搭建Spark集群环境,需要提供教程。首先,我需要回忆之前学过的相关引用内容,确保信息准确。 根据引用[1],Spark集群有三种模式:单机版、单机伪分布式完全分布式。用户可能需要不同模式的步骤,所以应该分别说明。引用[3]提到standalone模式是Master/Slave架构,需要注意单点故障问题,安装前要确认JDK 8的环境变量。引用[2][4]提到了Yarn资源调度HA配置,还有测试命令,这些对于完全分布式模式很重要。 接下来要组织步骤,分模式讲解。单机版适合初学者,步骤简单;伪分布式在一台机器模拟集群;完全分布式涉及多节点,需要配置SSH免密登录、修改配置文件如spark-env.shslaves,以及启动服务。HA配置可能需要ZooKeeper,但引用中没有提到,所以可能不需要详细展开。测试部分可以使用spark-submit命令,如引用[4]中的例子,检查Web UI确认状态。 用户可能遇到的常见问题包括环境变量配置错误、端口冲突或节点通信问题,需要提醒检查这些点。同时,引用[2]强调上传依赖到HDFS以实现高可用,这点在Yarn模式下需要注意。 最后,生成相关问题时要涵盖不同模式、优化方法、对比其他框架常见错误,帮助用户深入理解。需要确保回答结构清晰,步骤详细,引用正确,符合用户的需求。</think>### Spark集群环境搭建教程 Spark集群搭建主要包括三种模式:**单机版**、**单机伪分布式****完全分布式**。以下是具体步骤: --- #### 1. **单机版环境搭建** **适用场景**:本地开发或快速验证功能。 - **步骤**: 1. 下载Spark安装包(如`spark-2.0.0-bin-hadoop2.7.gz`)并解压[^1]。 2. 配置环境变量: ```bash export SPARK_HOME=/path/to/spark export PATH=$SPARK_HOME/bin:$PATH ``` 3. 启动本地模式: ```bash spark-shell --master local[*] ``` --- #### 2. **单机伪分布式模式** **适用场景**:单台机器模拟多节点集群。 - **步骤**: 1. 修改配置文件`conf/spark-env.sh`: ```bash export SPARK_MASTER_HOST=localhost export SPARK_WORKER_CORES=2 export SPARK_WORKER_MEMORY=2g ``` 2. 启动服务: ```bash sbin/start-master.sh # 启动Master节点 sbin/start-worker.sh spark://localhost:7077 # 启动Worker节点 ``` 3. 访问Web UI:`http://localhost:8080` 查看集群状态[^3]。 --- #### 3. **完全分布式模式** **适用场景**:生产环境多节点集群。 - **前置条件**: - 所有节点安装JDK 8并配置环境变量[^3]。 - 配置SSH免密登录(Master到所有Worker节点)。 - **步骤**: 1. **配置Master节点**: - 修改`conf/spark-env.sh`: ```bash export SPARK_MASTER_HOST=master_ip export SPARK_MASTER_PORT=7077 ``` - 修改`conf/slaves`文件,添加所有Worker节点IP。 2. **同步配置到所有Worker节点**。 3. **启动集群**: ```bash sbin/start-all.sh ``` 4. **验证集群**: - 通过`spark-submit`提交任务(示例见引用[4]): ```bash spark-submit --class MainClass --master spark://master_ip:7077 /path/to/app.jar ``` - 访问Master的Web UI `http://master_ip:8080` 查看资源分配任务状态[^3]。 --- #### 4. **集成YARN模式** **适用场景**:与Hadoop YARN资源管理器结合。 - **步骤**: 1. 确保Hadoop集群已启动。 2. 提交任务时指定`--master yarn`: ```bash spark-submit --class envtest.ProductAnalyzer --master yarn --deploy-mode cluster /path/to/app.jar [^4] ``` 3. 依赖管理:将Spark的JAR包上传至HDFS以实现跨节点访问[^2]。 --- #### 常见问题 - **端口冲突**:检查`7077`(Master通信端口)`8080`(Web UI)是否被占用。 - **节点通信失败**:确保防火墙关闭,且SSH免密登录配置正确。 - **资源不足**:调整`SPARK_WORKER_MEMORY``SPARK_WORKER_CORES`参数。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值