检查点流数据到 HDFS 集群
Checkpoint stream data to HDFS clulster
我有一个 HDFS 集群,它有两个 NameNode。
通常,如果使用 HDFS 客户端保存数据,它会负责在其中一个发生故障时使用哪个 NameNode。
但是在 Spark 中,对于检查点,API 是:StreamingCOntext.checkpoint("hdfs://100.90.100.11:9000/sparkData").
这里我只能指定其中一个NameNode,如果它宕机,Spark没有智能切换到第二个。
有人可以帮我吗?
有没有办法,如果我将这个 XML 放在类路径中,Spark 可以理解 "hdfs-site.xml"(其中包含两个名称节点的信息)。
好的,我找到了答案。您可以使用以下语法添加资源,例如 core-site.xml、hdfs-site.xml 等:
SparkContext.hadoopConfiguration().addResource(ABC.class.getClassLoader().getResource("core-site.xml"));
SparkContext.hadoopConfiguration().addResource(ABC.class.getClassLoader().getResource("hdfs-site.xml"));
我有一个 HDFS 集群,它有两个 NameNode。 通常,如果使用 HDFS 客户端保存数据,它会负责在其中一个发生故障时使用哪个 NameNode。
但是在 Spark 中,对于检查点,API 是:StreamingCOntext.checkpoint("hdfs://100.90.100.11:9000/sparkData").
这里我只能指定其中一个NameNode,如果它宕机,Spark没有智能切换到第二个。
有人可以帮我吗?
有没有办法,如果我将这个 XML 放在类路径中,Spark 可以理解 "hdfs-site.xml"(其中包含两个名称节点的信息)。
好的,我找到了答案。您可以使用以下语法添加资源,例如 core-site.xml、hdfs-site.xml 等:
SparkContext.hadoopConfiguration().addResource(ABC.class.getClassLoader().getResource("core-site.xml")); SparkContext.hadoopConfiguration().addResource(ABC.class.getClassLoader().getResource("hdfs-site.xml"));