Configuration 使用System.setProperty()重写Hadoop最终属性

Configuration 使用System.setProperty()重写Hadoop最终属性,configuration,hadoop,Configuration,Hadoop,系统管理员可以将某些属性定义为final,这样客户端守护进程就不会覆盖它们 但是,使用System.setProperty()方法设置的属性优先于使用Hadoop的配置API设置的属性,在这种情况下,客户端守护程序不可能通过调用System.setProperty()来设置最终属性来覆盖它吗 谢谢。请注意,虽然可以根据系统属性定义配置属性, 除非使用配置属性重新定义系统属性,否则无法访问它们 通过配置API 在内部,hadoop系统将仅通过配置接口访问配置属性。如果用户无法通过配置界面修改配置属

系统管理员可以将某些属性定义为final,这样客户端守护进程就不会覆盖它们

但是,使用
System.setProperty()
方法设置的属性优先于使用Hadoop的配置API设置的属性,在这种情况下,客户端守护程序不可能通过调用
System.setProperty()
来设置最终属性来覆盖它吗


谢谢。

请注意,虽然可以根据系统属性定义配置属性, 除非使用配置属性重新定义系统属性,否则无法访问它们 通过配置API


在内部,hadoop系统将仅通过配置接口访问配置属性。如果用户无法通过配置界面修改配置属性(如果管理员将该属性定义为最终属性,则用户将无法修改),系统将不会看到用户在系统属性中所做的修改

谢谢您的回答。这是否意味着,当您使用配置API将系统属性合并为Hadoop属性时,它会检测到客户端守护进程重新设置的最终属性和flash错误?我认为它只会忽略系统的属性。只有在conf对象中重新定义的系统属性对系统可见。如果conf对象中设置的配置属性重新设置了现有的系统属性,则该属性将可见,否则将不可见。用户可以使用System.setProperty()修改任意数量的属性,这些属性对于hadoop框架来说是不可见的,因为它们不是通过conf obj设置的。