我正在尝试使用--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的文档吗?
答案 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-metastore
和hive-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
。