当你计划你的升级过程中,您就可以准备群集升级。此页面包含操作步骤,您现在可以执行,而现有集群已全面投入使用。
此页面包含了以下主题:
执行这些步骤的目的是早期尽量减少操作的维护窗口内的数量,从而降低了停机时间,消除不必要的风险。它是可以移动某些步骤进入升级MAPR包流量,这将减少的时候,你必须接触每个节点的数量,但在升级过程中增加停机时间。根据您的需要设计你的升级流程。
验证所有节点满足MAPR软件的新版本的最低要求。检查:
PSSH
实用程序必须在一个存储库访问运行升级脚本节点存在或不可用。升级时你可以从安装软件包:
准备每个节点上的存储库或包文件,根据您选择的安装方法。见准备包和存储库中的安装指南。如果无钥匙SSH设置为root用户,你可以做好准备,而不是在单个节点上的存储库或包文件。
当设置为新的版本库,留在原地的存储库的现有版本,因为你可能仍然需要它为你准备升级。
如果您打算从库中安装,升级所有节点上的存储库缓存。
你可能想升级到MAPR软件的新版本后,重新申请现有配置的自定义。新版本通常引入更改配置属性。这是常见的被引入了新的特性和现有属性来更改默认值。这才是真正的MapReduce的层,存储层,和集群行为的所有其他方面。本节将指导您逐步上演配置文件的新版本,所以他们已经准备好,只要您执行升级被应用。
为MAPR核心的当前版本的Active配置文件在以下位置:
/选择/ MAPR / conf /中
/ opt/mapr/hadoop/hadoop- / conf /中
当您安装或升级MAPR软件,包含默认值的新鲜配置文件安装到平行目录的/ opt / MAPR / conf.new
和/ opt/mapr/hadoop/hadoop-
。在这些配置文件。新
目录未激活,除非您将它们复制到活动CONF
目录。
如果您现有的集群只使用默认的配置属性,那么你可能选择使用默认值的新版本,以及。在这种情况下,你并不需要准备的配置文件,因为你可以简单地复制conf.new
到CONF
升级的节点,以使用新版本的默认设置后。
如果你想在你的现有群集到新版本传播的自定义,你需要找到你的配置更改,并将它们应用到新的版本。以下是指引上演配置文件的新版本。
的/ opt / MAPR / conf.new
和/ opt/mapr/hadoop/hadoop- / conf.new
目录。/选择/ MAPR / conf.staging /
。集群中的每个节点上升级软件包时,您将使用这些文件。需要注意的是中央配置功能,默认情况下,在MAPR 2.1版本启用及更高版本,自动更新配置文件。如果您选择启用集中配置作为升级过程的一部分,它可能会覆盖您所做的对配置文件进行手动更改。看到中央配置和配置新版本的更多细节。
本节包含特定于版本的准备步骤。如果正在跳过一个主版本(例如,升级从1.2.9至3.0),执行制备步骤被跳过的(诸)版本,以及(在此情况下,2.x的)。
在每个节点上,设置TCP重为5,因此群集检测早期无法访问的节点数量。这也有利于滚动升级过程,通过降低优美的故障转移时间的TaskTracker和JobTrackers。
在/ etc / sysctl.conf中
,并添加下面一行:net.ipv4.tcp_retries2 = 5
的sysctl-P
来刷新系统设置。例如:
如果您打算为MAPR服务,升级后运行非根目录,创建一个新的“MAPR用户”,并在每个节点上组。的MAPR用户是运行MAPR服务,而不是根,使用者。
例如,下面的命令创建一个新组和新的用户,都被称为MAPR
,然后设置一个密码。您不必使用1001 的uid
和gid的
,但其值必须在所有节点上保持一致。用户名通常是MAPR
或者Hadoop的
,但可以是任何有效的登录名。
要测试MAPR用户已经创建,切换到新的用户苏MAPR
。确认主目录已创建(通常是/家/ MAPR
),而MAPR用户具有读写访问。该MAPR用户必须具有写访问的/ tmp
目录下,或者监狱长将无法启动服务。
后来经过MAPR软件已经升级所有节点上,则必须执行额外的步骤,以使集群服务,为运行MAPR
用户。
如果要升级才能访问的是v3.x中可用的本地表功能,必须取得许可证M7使表存储。登录在mapr.com并转至我的集群区域来管理许可证。
规划是什么样的测试作业和脚本,你会用它来验证群集的健康作为升级过程的一部分。您将验证群集的健康好几次之前,期间和升级之后,以确保每一步的成功,无论什么时候出现孤立的问题。创建简单的测试来验证集群服务启动和响应,以及不平凡的测试,验证群集的工作负载具体方面。
简单的测试例子:
maprcli
命令来确认是否有警示存在,并且服务正在运行,他们预计会。例如:
centos58
,以及节点列表
中运行的服务的确认,NFS
服务没有此节点上运行。HBase的hbck
验证HBase的数据存储的一致性。针对所发现的任何问题。适当的非平凡的测试将是特定于您的特定群集的工作量。您可能必须与用户合作,以定义一套合适的测试。运行现有的集群上试验来标定为“健康”的任务和工作持续时间的预期。对试验未来的迭代,检查结果的偏差。一些例子:
开始升级过程之前,请验证群集运行状况。继续只有当集群是在一个预期的,健康的状态升级。否则,如果群集运行状况并在升级后查不出来,你不能找出原因来进行相关的升级。
运行简单的测试套件来验证MAPR核心的基本功能都正常工作,而且任何报警称,占。
运行你的套件不平凡测试,以验证在群集运行如预期的典型的工作负载,包括用Hadoop生态系统组件和第三方工具的集成。
整个升级从版本到另一个版本的MAPR集群数据仍然存在。然而,作为一项预防措施可能要备份关键数据在升级之前。如果您认为有实用和必要的,你可以做以下任一操作:
DistCp使用
到一个单独的,非Hadoop的数据存储。当新版本的服务被激活,MAPR-FS会自动更新磁盘上的数据。迁移是透明的,用户和管理员。一旦集群活动的新版本,您通常无法回滚。为主要版本之间的MAPR改变文件系统的数据格式(例如,2.x升级到3.x的)。对于一些(但不是全部)次要版本和服务的更新(例如,X.1至X.2,或YZ1到YZ2),有可能恢复的版本。
对于手动滚动升级过程中,JobTracker的和CLDB服务不能在同一节点上共存。此限制并不适用于离线升级过程。如果有必要,移动JobTracker的服务,以非CLDB节点。您可能需要重新审视你的服务布局来记录这种变化的设计。下面是步骤,从CLDB节点中删除了JobTracker的角色,并把它添加到其他节点。
如果活动JobTracker的是,需要移动JobTrackers中,移动它持续。在这种情况下,除去活性的JobTracker将导致集群故障转移和激活备用JobTracker的。在建工程部分完成MapReduce工作时将恢复新JobTracker的上线,通常在几秒钟内。如果是这样的服务你的主动群集上不可接受的干扰,你可以在升级维护期间执行这些步骤。
maprcli节点列表
和maprcli节点listcldbzks
命令。对于节点列表
中,CSVC
其中一个服务安装运行选项列表(但可能不是当前正在运行),以及SVC
选项列出了业务的积极运行。请注意,在SVC
哪个节点正在运行的积极JobTracker的列表。
节点listcldbzks
命令不是之前MAPR 2.0版本。
与特定版本。
configure.sh
脚本以删除节点的作用。
JobTracker的
是此节点上配置:
MAPR-JobTracker的
包。
configure.sh
脚本,以便在群集识别该节点上的变化的作用。确认JobTracker的
是在节点上不再配置。
生产群集上执行升级计划之前,测试集群上执行完整的“预演”。您可以在一个更小的簇比生产集群进行试运行,但要干运行方式类似于现实世界的情况越好。例如,安装所有的Hadoop生态系统组成部分使用中的生产和复制数据和就业从测试群集上的生产集群。
的目标,为干运行是:
当你成功地测试集群上运行你的升级计划,你准备好升级MAPR包。