MAPREDUCE服务 MRS-配置使用分布式缓存:配置场景

时间:2024-04-22 14:52:05

配置场景

分布式缓存在两种情况下非常有用。

滚动升级

在升级过程中,应用程序必须保持文字内容(jar文件或配置文件)不变。而这些内容并非基于当前版本的YARN,而是要基于其提交时的版本。这是一个具有挑战性的问题。一般情况下,应用程序(例如MapReduce、Hive、Tez等)需要进行完整的本地安装,将库安装至所有的集群机器(客户端及服务器端机器)中。当集群内开始进行滚动升级或降级时,本地安装的库的版本必然会在应用运行过程时发生改变。在滚动升级过程中,首先只会对少数NodeManager进行升级,这些NodeManager会获得新版本的软件。这导致了行为的不一致,并可能发生运行时错误。

同时存在多个YARN版本

集群管理员可能会在一个集群内运行使用多个版本YARN及Hadoop jars的任务。这在当前很难实现,因为jars已被本地化且只有一个版本。

MapReduce应用框架可以通过分布式缓存进行部署,且无需依赖安装中复制的静态版本。因此,可以在HDFS中存放多版本的Hadoop,并通过配置“mapred-site.xml”文件指定任务默认使用的版本。只需设置适当的配置属性,用户就可以运行不同版本的MapReduce,而无需使用部署在集群中的版本。

图1 具有多个版本NodeManagers及Applications的集群
support.huaweicloud.com/cmpntguide-lts-mrs/mrs_01_0839.html