解决spark on yarn模式时,在yarn的web界面上点击ApplicationMaster无法看到SparkWebUi界面

本文介绍了如何在Hadoop YARN集群中配置yarn.web-proxy.address以实现应用执行详情跳转,并详细说明了启动web-proxy服务的方法。通过在指定master节点设置配置并重启nodemanager和resourcemanager,确保资源管理器的独立Web服务功能正常运行。

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

1.需要在hadoop集群的所有节点yarn-site.xml中加入如下配置

  <property>
    <name>yarn.web-proxy.address</name>
    <value>master01:8089</value>
  </property>

在指定的master01节点启动web-proxy服务:./sbin/yarn-daemon.sh start proxyserver 

2.重启所有节点的的nodemanger、resourcemanager服务即可解决

原因:

在yarn的RM中,包括web-proxy工程,它可以启动一个单独的进程,对外提供web服务,从resourcemanager上点击正在执行的app,会跳转到yarn.web-proxy.address,这里展示正在执行的job信息,job执行结束后,会跳转到historyserver上;如果没有配置yarn.web-proxy.address,则这个功能会集成到RM中。

需要配置yarn.web-proxy.address

启动方式为./sbin/yarn-daemon.sh start proxyserver

参考资料:

https://blog.youkuaiyun.com/knowledgeaaa/article/details/53147010

 

<think>好的,我现在需要帮助用户解决在单机环境下配置和运行Spark on Yarn的问题。首先,我得回顾一下用户提供的引用内容,看看有哪些关键信息可以利用。 用户引用了三篇资料,其中引用[2]提到了Spark on Yarn的单机环境搭建,并通过测试SparkPi来验证环境是否正常。引用[1]和[3]则涉及具体的命令和配置参数,比如spark-submit命令和Hadoop、Yarn的配置目录设置。 接下来,我需要整理出一个清晰的步骤指南。单机部署通常意味着所有服务都运行在一台机器上,所以需要确保Hadoop和Spark都正确安装并配置。根据引用[3],配置HADOOP_CONF_DIR和YARN_CONF_DIR是关键,这指向Hadoop的配置文件目录。 第一步应该是安装Hadoop并进行单机模式配置。Hadoop的单机模式只需要修改core-site.xml和yarn-site.xml,确保资源管理和调度正确。然后,安装Spark并修改spark-env.sh,设置环境变量指向Hadoop的配置目录,如引用[3]所示。 接下来,启动Hadoop的HDFS和YARN服务,这包括格式化HDFS、启动NameNode、DataNode、ResourceManager和NodeManager。用户可能不熟悉这些步骤,需要详细说明每个命令。 然后,提交Spark任务到YARN,使用spark-submit命令,如引用[1]中的示例,运行SparkPi来计算Pi值。需要提醒用户替换jar包的版本号,确保路径正确。同,监控YARN应用程序的状态,使用yarn application -list命令。 可能遇到的问题包括环境变量配置错误、端口冲突、权限问题等。例如,Hadoop的默认端口可能被占用,需要检查日志。此外,资源分配不足可能导致任务失败,需要调整内存和核心数参数。 用户可能还会想知道如何验证部署是否成功,所以需要说明如何查看YARNWeb界面和检查日志。引用[2]提到的测试方法就是运行示例程序,这可以作为验证步骤。 最后,生成相关问题要考虑用户可能的后续疑问,比如性能调优、参数配置、与其他组件的集成等。例如,如何配置Spark on Hive,或者如何处理常见错误,这些都可以作为相关问题引导用户进一步学习。 总结来说,回答需要分步骤详细说明安装、配置、启动和测试过程,引用提供的资料中的关键配置和命令,同预见到用户可能遇到的常见问题并提供解决方法。确保使用中文,LaTeX格式正确,结构清晰,帮助用户一步步完成部署。</think>### Spark on Yarn 单机部署与运行教程 #### 1. **前置条件** - 已安装 JDK 1.8+,配置 `JAVA_HOME` - 已安装 Hadoop(需支持 YARN),版本建议与 Spark 兼容(如 Hadoop 3.x + Spark 3.x) - 下载 Spark 预编译包(选择 `pre-built for Hadoop` 版本) --- #### 2. **配置 Hadoop 单机模式** 1. **修改 `core-site.xml`** ```xml <configuration> <property> <name>fs.defaultFS</name> <value>hdfs://localhost:9000</value> </property> </configuration> ``` 2. **修改 `yarn-site.xml`** ```xml <configuration> <property> <name>yarn.nodemanager.aux-services</name> <value>mapreduce_shuffle</value> </property> <property> <name>yarn.resourcemanager.hostname</name> <value>localhost</value> </property> </configuration> ``` 3. **格式化 HDFS 并启动服务** ```bash hdfs namenode -format start-dfs.sh && start-yarn.sh ``` --- #### 3. **配置 Spark on Yarn** 1. **修改 `spark-env.sh`** 添加以下配置(参考引用[3]): ```bash export HADOOP_CONF_DIR=/usr/local/hadoop/etc/hadoop # Hadoop 配置目录 export YARN_CONF_DIR=/usr/local/hadoop/etc/hadoop # YARN 配置目录 ``` 2. **验证 Spark 环境** ```bash spark-shell --master yarn ``` --- #### 4. **运行 Spark 任务** 1. **提交示例任务(如计算 Pi)** ```bash spark-submit --master yarn --class org.apache.spark.examples.SparkPi \ $SPARK_HOME/examples/jars/spark-examples_*.jar 1000 ``` 此命令通过 YARN 分配资源执行任务(参考引用[1])。 2. **查看任务状态** ```bash yarn application -list ``` --- #### 5. **常见问题解决** - **HDFS 启动失败**:检查端口冲突(如 9000/8088),查看日志 `logs/hadoop-*-namenode-*.log`。 - **Spark 提交报错**:确认 `HADOOP_CONF_DIR` 路径正确,且 YARN 服务已启动[^2]。 - **资源不足**:调整 `yarn.scheduler.maximum-allocation-mb` 和 `yarn.nodemanager.resource.memory-mb`。 ---
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值