我想添加/更新以下参数
<property>
<name>mapred.map.tasks.speculative.execution</name>
<value>false</value>
</property>
在hadoop的mapred-site.xml中。如何在不重新启动群集的情况下执行此操作?
答案 0 :(得分:5)
您可以在作业的配置中设置此每个作业。如果要全局更改此行为,则必须重新启动群集。没有重新启动就无法改变它。
答案 1 :(得分:5)
根据Hadoop - The Definitive Guide
请注意,在客户端配置中设置某些属性无效。例如,如果您在作业提交中设置了mapred.tasktracker.map.tasks.maximum,并期望它会更改运行作业的任务工作器的任务槽数,那么您会感到很失望,因为只有在tasktracker的mapred-site.xml文件中设置。通常,您可以告诉组件应该通过名称设置属性的位置,因此mapred.tasktracker.map.tasks.maximum以mapred.tasktracker开头这一事实为您提供了一条线索,即只能为tasktracker守护程序设置它。 。然而,这不是一个严格的规则,因此在某些情况下,您可能需要求助于试错,甚至阅读来源。
在客户端尊重并且特定于作业的属性不需要重新启动群集,但另一方面,像mapred.tasktracker.map.tasks.maximum这样的群集特定配置需要群集重新启动。
答案 2 :(得分:2)
如果您使用的是MRv2(YARN用于资源调度),则每次提交作业时都会读取mapred-site.xml文件中所做的更改,并且所有配置都将保存为job config xml文件(当作业被提交到集群)。无需重新启动任何服务。