使用--properties添加键时,Dataproc添加额外字段?

时间:2018-09-06 17:27:37

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

我正在尝试使用--properties字段将新字段更新或添加到dataproc集群中的配置单元配置。我正在从Cloud Shell运行dataproc cluster命令。我看到的是dataproc在final中添加新密钥。我找不到它的意思?

  <property>
    <name>hive.compactor.worker.threads</name>
    <value>1</value>
    <final>false</final>
    <source>Dataproc Cluster Properties</source>
  </property>

而且dataproc何时将这些更改应用于hive.xml?配置单元服务开始在群集上运行之后还是之前? 另外我在创建集群后对hive config进行一些更改后也找不到任何有关如何重新启动hive和spark的文档吗?

1 个答案:

答案 0 :(得分:4)

1)如果将属性标记为final,则用户无法按作业将其覆盖(例如,使用命令行参数或在SparkConf / Configuration中设置属性)。我们已明确使群集范围的属性可重写。 https://hadoop.apache.org/docs/stable/api/org/apache/hadoop/conf/Configuration.html

2)Dataproc在启动任何服务之前将--properties应用于xml文件

3)如果您手动更改属性,则可以通过进入集群的主节点并运行sudo systemctl restart <service>来重新启动与服务相关的服务。对于配置单元,分别为hive-metastorehive-server2。对于火花,就是spark-history-server。几个initialization actions为此。

4)如果要更改属性,请考虑删除并重新创建群集-比找出要重新启动的服务要容易一些。

5)请记住,您仍然可以基于每个作业设置每个作业的配置。如果您使用的是gcloud,则类似于gcloud dataproc jobs submit spark --properties spark.executors.cores=4 ...other args...,如果使用spark-submit,则可以使用--conf;如果使用蜂巢,则可以使用set prop=value