我设置的Hadoop3.3.3是HA,2个NamNode节点,分别had21nn和had21dn1。每次启动的时候,不知道这2个NameNode到底是哪个是active。
我要设置Flink的Checkpoint的存储路径在HDFS上,我想让它自动识别。
如果had21nn是active,设置checkpoint.setCheckpointStorage("hdfs://had21nn:8020/flink/checkpoint/");是可以的。
但是,如果集群下次启动的时候是had21dn1是active,设置checkpoint.setCheckpointStorage("hdfs://had21nn:8020/flink/checkpoint/");就找不到了。 还是修改为checkpoint.setCheckpointStorage("hdfs://had21dn1:8020/flink/checkpoint/");
我设置checkpoint.setCheckpointStorage("hdfs://mycluster/flink/checkpoint/"); Flink不能自动根据hdfs://mycluster去识别hdfs://had21nn:8020还是hdfs://had21dn1。
怎么能让Flink自动识别Hadoop HA的路径呢?
flink应该支持HA吧,你可以启动之前使用web链接hdfs,获取那个是HA,然后传参给flink应用程序就好了
此答案来自钉钉群“【2】Apache Flink China 社区"
可以使用Hadoop的虚拟节点功能来让Flink自动识别Hadoop HA的路径。 在Hadoop HA环境中,虚拟节点是一个用于访问Active Namenode的虚拟URL。 当Active Namenode更改时,虚拟节点会自动更新为指向新的Active Namenode。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
实时计算Flink版是阿里云提供的全托管Serverless Flink云服务,基于 Apache Flink 构建的企业级、高性能实时大数据处理系统。提供全托管版 Flink 集群和引擎,提高作业开发运维效率。