Hadoop集群运行Spark应用程序

文章详细介绍了如何在Linux环境下启动Spark集群,包括先启动Hadoop,然后运行Spark的样例程序SparkPi。接着,展示了如何在独立集群中使用spark-shell,创建并上传测试文件到Hadoop文件系统,以及执行读取和统计文件操作。最后提到了通过Web界面监控Spark应用的运行状态。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

启动Spark集群

先启动hadoop,再启动Spark,具体参考链接

对Linux系统对Spark开发环境配置_Matrix70的博客-优快云博客

运行Spark安装好以后自带的样例程序SparkPi

spark-submit --class org.apache.spark.examples.SparkPi 
--master spark://master:7077 examples/jars/spark-examples_2.12-3.2.0.jar 
100 2>&1 | grep "Pi is roughly"

运行结果:

在独立集群中运行spark-shell

创建测试文件testspark

#在/opt下新建一个文件testspark,滚键盘
vi testspark
#上传此文件至hadoop文件系统根目录
hadoop fs -put /opt/testspark /
#查看文件
hadoop fs -ls /

启动spark-shell

#进入bin
cd /usr/local/spark/bin/
#bin目录下启动spark-shell
spark-shell --master spark://master:7077

 输入代码进行测试

#读文件
val textFile = sc.textFile("hdfs://master:9000/README.md")
#统计一下
textFile.count()
#查看
textFile.first()

独立集群管理Web界面查看应用的运行情况

浏览器进入下述链接

http://192.168.20.128:8080/


 

### 安装和配置SparkHadoop集群 #### 准备工作 为了使 Spark 能够运行Hadoop 集群之上,需先准备好环境。这包括已成功部署并正常工作的 Hadoop 全分布式集群[^1]。 #### 下载与解压Spark安装包 获取适合版本的 Spark 发行版,并将其下载到所有节点上的相同路径下。接着,在每台机器上执行命令来解压缩该文件夹: ```bash tar zxvf spark-*.tgz ``` 此操作会创建一个名为 `spark-*` 的目录结构,其中包含了 Spark 所有必要的组件以及文档说明等资源。 #### 修改配置文件 进入刚刚解压出来的 Spark 文件夹内的 conf 子目录里找到 `spark-env.sh.template` 并复制一份重命名为 `spark-env.sh`. 接下来编辑这个新的 shell script 来设置一些重要的环境变量以便让 Spark 正确识别 YARN 和 HDFS: ```bash cp spark-env.sh.template spark-env.sh vi spark-env.sh ``` 向上述脚本添加如下几项设定(具体参数视实际情况而定): - 设置 SPARK_HOME 变量指向当前 Spark 安装位置; - 如果使用 Scala 编写应用程序,则还需要指定 SCALA_HOME; - 添加 HADOOP_CONF_DIR 或者 YARN_CONF_DIR 指向 Hadoop/Yarn 的配置文件所在的位置; 这些更改使得 Spark 可以访问到 Hadoop 提供的服务接口从而实现两者之间的交互协作. #### 启动服务 完成以上步骤之后就可以启动 Spark on YARN 了。可以通过提交测试作业的方式验证整个过程是否顺利完成。例如可以尝试运行 Pi 计算例子程序来看看能否得到预期的结果输出: ```bash ./bin/spark-submit --class org.apache.spark.examples.SparkPi \ --master yarn-cluster \ --num-executors 3 --driver-memory 512m --executor-memory 512m \ --executor-cores 1 lib/spark-examples*.jar 10 ``` 这段命令将会把 Spark 应用作为客户端模式提交给 YARN 进行调度管理,并分配三个 executor 实例用于实际的数据处理任务当中去.
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

BigData_老李

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值