【问题标题】:Cannot create a Dataproc cluster when setting the fs.defaultFS property?设置 fs.defaultFS 属性时无法创建 Dataproc 集群?
【发布时间】:2019-07-13 11:50:37
【问题描述】:

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

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

如果有人设法通过设置 fs.defaultFS 来创建一个 dataproc 集群,那该多好?谢谢。

【问题讨论】:

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


    【解决方案1】:

    由于对实际 HDFS 的某些依赖性,确实存在已知问题;文档并不是要暗示在集群创建时将 fs.defaultFS 设置为 GCS 路径会起作用,而是简单地提供出现在 core-site.xml 中的属性的方便示例;例如,理论上,将 fs.defaultFS 设置为 不同 预先存在的 HDFS 集群是可行的。为了避免混淆,我已经提交了更改文档中示例的请求。

    两种选择:

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

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

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

    【讨论】:

    • 太好了,所以我尝试了这个,它正确地设置了集群创建成功的字段。但是,在提交 spark 作业时,出现以下异常:“在 HIVE_HOME pyspark.sql.utils.AnalysisException 中找不到 vysettings.xml 文件:HDFS 上的根暂存目录:/tmp/hive 应该是可写的。当前权限为: rwx--------;'"。我想知道是否还有其他配置要更改?我怀疑当 fs.defaultFS 设置在这个级别时,作业会尝试从 gs://my-bucket/etc/hive/conf/"vysettings.xml 读取设置文件。所以不确定这样做是否好提交?
    • 是的,框架中可能有很多进一步的假设会导致问题; GCS posix 权限是“假的”,因为访问实际上是由 IAM 权限控制的,因此您可以将fs.gs.reported.permissions 设置为您希望它报告的任何内容,无论是在集群创建时core:fs.gs.reported.permissions=777,还是在 Spark 作业提交时您可能需要使用“spark.hadoop”。前缀:--properties spark.hadoop.fs.gs.reported.permissions=777
    • 这里是该配置键在代码中定义的位置:github.com/GoogleCloudPlatform/bigdata-interop/blob/master/gcs/…
    • 这行得通!但是,经过试验,我推荐从代码中设置fs.defaultFS 的方法,因为它需要的更改最少,而且可以从fs.gs.system.bucket 配置中获取Dataproc 存储桶。
    • 这取决于工作量。 GCS 确实可以实现比 HDFS 更好的吞吐量,因为网络流量可能跨大量物理磁盘进行条带化,但是 GCS 上的小往返延迟更差,因为它从根本上通过额外的层(身份验证、路由、SSL/TLS) .一般来说,您可能不必担心性能差异,处理大量数据的典型 Spark 作业应该在 GCS 上表现良好,因为它受吞吐量限制,但如果您想挤出您需要的每一个效率百分比考虑特定于工作负载的方面。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-08-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-12-07
    相关资源
    最近更新 更多