设置fs.defaultFS属性时无法创建Dataproc集群吗?

时间:2019-02-19 21:39:45

标签: apache-spark hadoop google-cloud-dataproc

这已经是先前post中讨论的对象,但是,我不相信答案,因为Google docs指定可以创建设置fs.defaultFS属性的集群。而且,即使可以通过编程方式设置此属性,有时,从命令行设置也更方便。

所以我想知道为什么以下选项在传递给集群创建命令时不起作用:--properties core:fs.defaultFS=gs://my-bucket?请注意,我在没有前一个标志的情况下运行该命令时并未包含所有参数,并且该命令成功创建了集群。但是,通过此操作时,我得到:“失败:无法启动主服务器:数据节点报告数量不足。”

如果有人通过设置fs.defaultFS成功创建了一个dataproc集群,那会很棒吗?谢谢。

1 个答案:

答案 0 :(得分:2)

确实,由于对实际HDFS的某些依赖性,仍然存在一些已知问题;这些文档并不是要暗示在集群创建时将fs.defaultFS设置为GCS路径是可行的,而只是提供一个方便的示例,显示在core-site.xml中的属性;从理论上讲,例如,可以将fs.defaultFS设置为一个不同预先存在的HDFS群集。我已提交票证以更改文档中的示例以避免混淆。

两个选项:

  1. 在提交作业时使用每个作业属性覆盖fs.defaultFS
  2. 通过使用初始化操作(而不是集群属性)显式设置fs.defaultFS来解决一些已知问题。

更好地理解选项1是有效的,因为群集级别的HDFS依赖关系不会改变。选项2之所以起作用,是因为大多数不兼容性仅在初始启动期间发生,并且初始化操作在相关守护程序已经启动之后运行。要覆盖init操作中的设置,请使用bdconfig

bdconfig set_property \
    --name 'fs.defaultFS' \
    --value 'gs://my-bucket' \
    --configuration_file /etc/hadoop/conf/core-site.xml \
    --clobber