spark 报:Warning: Master endpoint spark://ip:7077 was not a REST server. Falling back t

当使用 `spark-submit` 以 cluster 模式提交 application 到 Spark 集群时,可能会遇到警告:`Master endpoint spark://ip:7077 was not a REST server. Falling back to legacy submission gateway instead.` 这是因为端口配置不正确。解决这个问题的关键在于理解不同提交模式下应该使用的端口:client 模式使用 7077,而 cluster 模式则需要设置为 6066,因为 cluster 模式下是通过 REST API 进行提交。调整端口设置即可消除警告。

在利用spark以cluster方式提交application时会发现这个警告:Warning: Master endpoint spark://ip:7077 was not a REST server. Falling back to legacy submission gateway instead.

提交方式:spark-submit --master spark://ip:port --deploy-mode client(cluster)

原因:端口问题,

解决方式:spark以client方式提交时,port应该设置为7077;以cluster方式提交时,port设置为6066,因为这种方式提交时,是以rest api方式提交application。

 

参考:

https://mail-archives.apache.org/mod_mbox/spark-user/201512.mbox/%3CD2905870.2629A%25Andy@SantaCruzIntegration.com%3E

 

 

 

 

对于使用 `spark-submit` 启动程序时无法连接到服务器 `spark://node2:7077` 以及无法加载 native - hadoop 库的问题,可以从以下几个方面尝试解决: ### 无法连接到服务器 `spark://node2:7077` - **检查服务器状态**:要保证 `spark://node2:7077` 对应的服务器处于正常运行状态,Spark 主节点服务也已成功启动。可以通过登录到 `node2` 节点,查看 Spark 主节点程是否在运行。例如,使用 `jps` 命令,如果有 `Master` 程,则表示 Spark 主节点正在运行。 - **网络连通性**:要确保执行 `spark-submit` 命令的客户端与 `node2` 节点之间网络是连通的,可以使用 `ping` 命令测试网络连通性,使用 `telnet` 命令测试端口 `7077` 是否开放。示例如下: ```bash ping node2 telnet node2 7077 ``` - **配置检查**:要确认 `spark-submit` 命令中的 `--master` 参数配置无误,确保 `node2` 是正确的主机名或 IP 地址,端口号 `7077` 也是 Spark 主节点监听的端口。可以查看 Spark 主节点的配置文件(通常是 `spark-env.sh`)来确认端口配置。 ### 无法加载 native - hadoop 库 - **环境变量配置**:要保证 `HADOOP_HOME` 环境变量已正确配置,并且 `$HADOOP_HOME/lib/native` 目录包含了所需的 native - hadoop 库。可以在执行 `spark-submit` 命令前,设置环境变量,示例如下: ```bash export HADOOP_HOME=/path/to/hadoop export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$HADOOP_HOME/lib/native ``` - **库文件完整性**:要确保 `$HADOOP_HOME/lib/native` 目录下的 native - hadoop 库文件完整且版本与当前使用的 Hadoop 版本兼容。可以重新下载或从其他正常节点复制这些库文件。 - **权限问题**:要确保执行 `spark-submit` 命令的用户对 `$HADOOP_HOME/lib/native` 目录及其库文件有读取权限。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值