spark on yarn 在HA nn1关闭的时候问题

当NN1关闭时,Spark提交的任务无法执行并报错。据Spark官方文档显示,此问题已知且将很快解决。提交任务后需等待约1000秒,对实际操作影响较小。

当 nn1关闭的时候,spark提交任务不能执行报错如下:


spark官方文档说明了这个问题的存在,应该很快就解决了,我们提交任务后,需要等待500*2秒,没有太大影响

spark on yarn环境下,“Operation category READ is not supported in state standby”错误通常是由于Hadoop的standby模式不允许read操作导致的。以下是一些可能的解决办法: ### 自动尝试可用NameNode sparkhadoop配置中得到nn1nn2两个NameNode,会一个个尝试,直到找到可用的。也就是说,如果第一次尝试的恰好是standby节点,那么就会显示该错误信息,但并不会影响它继续尝试到正常的NameNode节点,这种情况一般无需额外处理,等待其自动找到可用节点即可[^3]。 ### 处理两个NameNode均为Standby状态 若通过`http://namenode:50070/dfshealth.html#tab-overview`和`http://datanode01:50070/dfshealth.html#tab-overview`发现两个NameNode都是Standby,可执行以下操作: ```bash zkcli.sh ls / rmr /hadoop-ha hdfs zkfc –formatZK ``` 完成上述操作后,集群即可正常使用。测试高可用时,可以使用`kill –9 pid`(active NameNode 的pid)命令,之后会发现原来Standby的NameNode已成为active状态[^4]。 ### 手动切换NameNode状态 若想让集群保持自动切换,可采取另外一种方法:先kill掉一个节点上的NameNode进程,使另一个节点的状态由standby变为active,再将被kill节点的NameNode进程启动,此时该节点的状态为standby[^5]。 ### 修改配置使用NameNode逻辑名称 Hive连接HDFS时,若配置的是具体的NameNode地址,而Hadoop集群使用的是HA会出现主备切换问题。解决方案是Hive元数据配置使用NameNode的逻辑名称而不是具体的主机名 [^4]。 ### 确保进程正常启动 启动集群时,使用`start-dfs.sh`和`start-yarn.sh`之后,相关的进程会自动被启动,包括两个NameNode进程、zkfc、journal等,不需要手动启动。但要注意,standby的NameNode的ResourceManager进程可能没有自动启动,需要手动处理[^4]。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值