Mapr升级步骤(二)——准备升级

当你计划你的升级过程中,您就可以准备群集升级。此页面包含操作步骤,您现在可以执行,而现有集群已全面投入使用。

此页面包含了以下主题:

执行这些步骤的目的是早期尽量减少操作的维护窗口内的数量,从而降低了停机时间,消除不必要的风险。它是可以移动某些步骤进入升级MAPR包流量,这将减少的时候,你必须接触每个节点的数量,但在升级过程中增加停机时间。根据您的需要设计你的升级流程。

 1。验证所有节点的系统要求

验证所有节点满足MAPR软件的新版本的最低要求。检查:

  • 软件相关性。包依赖关系在MAPR分布可以从版本改为版本。如果MAPR的新版本中不存在于旧版本的依赖关系,必须解决他们在所有节点升级MAPR软件之前。安装依赖包可以做,而集群是可操作的。见包和依赖关系MAPR软件。如果您使用的软件包管理器,您可以指定包含依赖包(S)的存储库,并允许软件包管理器会自动安装它们,当你升级MAPR包。如果您是从软件包文件安装,则必须手动上所有节点预先安装的依赖关系。
  • 硬件要求。包的新版本可能有更大的硬件要求。硬件要求必须在升级之前得到满足。见编制各节点的在安装指南
  • 操作系统要求。 MAPR的操作系统要求不经常更改。如果某个节点上的操作系统不符合MAPR较新版本的要求,计划淘汰的节点,并在升级后更新的操作系统重新部署它。
  • 对于脚本滚动升级,确保从您开始升级过程具有无钥匙进入的ssh以root用户到集群中的所有其他节点的节点。要升级的节点并行,最大为4,PSSH实用程序必须在一个存储库访问运行升级脚本节点存在或不可用。

 2。准备包和库的升级

升级时你可以从安装软件包:

  • MAPR的互联网资料库
  • 本地资源库
  • 单个软件包文件。

准备每个节点上的存储库或包文件,根据您选择的安装方法。见准备包和存储库中的安装指南。如果无钥匙SSH设置为root用户,你可以做好准备,而不是在单个节点上的存储库或包文件。

当设置为新的版本库,留在原地的存储库的现有版本,因为你可能仍然需要它为你准备升级。

 2A。更新存储库高速缓存

如果您打算从库中安装,升级所有节点上的存储库缓存。

  在RedHat和CentOS
  在Ubuntu
  在SUSE

 3。阶段配置文件

你可能想升级到MAPR软件的新版本后,重新申请现有配置的自定义。新版本通常引入更改配置属性。这是常见的被引入了新的特性和现有属性来更改默认值。这才是真正的MapReduce的层,存储层,和集群行为的所有其他方面。本节将指导您逐步上演配置文件的新版本,所以他们已经准备好,只要您执行升级被应用。

为MAPR核心的当前版本的Active配置文件在以下位置:

  • /选择/ MAPR / conf /中
  • / opt/mapr/hadoop/hadoop- <VERSION> / conf /中

当您安装或升级MAPR软件,包含默认值的新鲜配置文件安装到平行目录的/ opt / MAPR / conf.new/ opt/mapr/hadoop/hadoop- <VERSION> / conf.new。在这些配置文件。新目录未激活,除非您将它们复制到活动CONF目录。

如果您现有的集群只使用默认的配置属性,那么你可能选择使用默认值的新版本,以及。在这种情况下,你并不需要准备的配置文件,因为你可以简单地复制conf.newCONF升级的节点,以使用新版本的默认设置后。

如果你想在你的现有群集到新版本传播的自定义,你需要找到你的配置更改,并将它们应用到新的版本。以下是指引上演配置文件的新版本。

  1. 测试节点上安装MAPR的现有版本,以获取默认的配置文件。你会发现文件中的/ opt / MAPR / conf.new/ opt/mapr/hadoop/hadoop- <VERSION> / conf.new目录。
  2. 对于每个节点,净胜球现有的配置文件与默认为产生变化和自定义的列表。
  3. 测试节点上安装MAPR的新版本,以获取默认的配置文件。
  4. 对于每个节点,合并更改现有版本到新版本的配置文件。
  5. 合并后的配置文件复制到一个临时目录,如/选择/ MAPR / conf.staging /。集群中的每个节点上升级软件包时,您将使用这些文件。
图1。开发配置文件的新版本

需要注意的是中央配置功能,默认情况下,在MAPR 2.1版本启用及更高版本,自动更新配置文件。如果您选择启用集中配置作为升级过程的一部分,它可能会覆盖您所做的对配置文件进行手动更改。看到中央配置配置新版本的更多细节。

 4。执行版本特定的步骤

本节包含特定于版本的准备步骤。如果正在跳过一个主版本(例如,升级从1.2.9至3.0),执行制备步骤被跳过的(诸)版本,以及(在此情况下,2.x的)。

从1.x版升级

 4A。设置TCP重

在每个节点上,设置TCP重为5,因此群集检测早期无法访问的节点数量。这也有利于滚动升级过程,通过降低优美的故障转移时间的TaskTracker和JobTrackers。

  1. 编辑文件在/ etc / sysctl.conf中,并添加下面一行:net.ipv4.tcp_retries2 = 5
  2. 保存文件并运行的sysctl-P来刷新系统设置。例如:
    #sysctl的-P
    行...删除...
    net.ipv4.ip_forward = 0
    net.ipv4.conf.default.rp_filter = 1
    net.ipv4.conf.default.accept_source_route = 0
    net.ipv4.tcp_retries2 = 5
  3. 确保设置已生效。发出以下命令,并验证输出为5:
    #猫/ proc/sys/net/ipv4/tcp_retries2在
    5
 图4b。创建非root用户和组MAPR服务

如果您打算为MAPR服务,升级后运行非根目录,创建一个新的“MAPR用户”,并在每个节点上组。的MAPR用户是运行MAPR服务,而不是根,使用者。

例如,下面的命令创建一个新组和新的用户,都被称为MAPR,然后设置一个密码。您不必使用1001 的uidgid的,但其值必须在所有节点上保持一致。用户名通常是MAPR或者Hadoop的,但可以是任何有效的登录名。

#groupadd的 - GID 1001 MAPR
#useradd的 - UID 1001 - GID MAPR - 建立家庭MAPR
#passwd中MAPR

要测试MAPR用户已经创建,切换到新的用户苏MAPR。确认主目录已创建(通常是/家/ MAPR),而MAPR用户具有读写访问。该MAPR用户必须具有写访问的/ tmp目录下,或者监狱长将无法启动服务。

后来经过MAPR软件已经升级所有节点上,则必须执行额外的步骤,以使集群服务,为运行MAPR用户。

从2.x版升级

 4C。获得新的V3.x功能的许可证

如果要升级才能访问的是v3.x中可用的本地表功能,必须取得许可证M7使表存储。登录在mapr.com并转至我的集群区域来管理许可证。

 5。设计健康检查

规划是什么样的测试作业和脚本,你会用它来验证群集的健康作为升级过程的一部分。您将验证群集的健康好几次之前,期间和升级之后,以确保每一步的成功,无论什么时候出现孤立的问题。创建简单的测试来验证集群服务启动和响应,以及​​不平凡的测试,验证群集的工作负载具体方面。

 5A。设计简单的测试

简单的测试例子:

  • 使用校验节点的健康maprcli命令来确认是否有警示存在,并且服务正在运行,他们预计会。例如:
    #maprcli节点列表栏目SVC
    服务主机的ip          
    TaskTracker必须,CLDB,文件服务器,hoststats centos55 10.10.82.55 
    TaskTracker必须,hbregionserver,文件服务器,hoststats centos56 10.10.82.56 
    文件服务器,TaskTracker必须,hbregionserver,hoststats centos57 10.10.82.57 
    文件服务器,TaskTracker必须,hbregionserver,网络服务器,hoststats centos58 10.10.82.58 
    行...删除...
    #maprcli报警列表
    报警状态描述实体的告警名称告警statechange时间 
    1一个或多个许可证即将在25天内集群CLUSTER_ALARM_LICENSE_NEAR_EXPIRATION 1366142919009到期          
    1无法确定服务:NFS正在运行。检查日志以中:/ opt / MAPR /日志/ n​​fsserver.log centos58 NODE_ALARM_SERVICE_NFS_DOWN 1366194786905          
    在这个例子中,你可以看到一个报警升高,表明MAPR期待NFS服务器要在节点上运行centos58,以及节点列表中运行的服务的确认,NFS服务没有此节点上运行。
  • 批量创建一组测试文件。
  • 提交一个MapReduce作业。
  • 安装运行的Hadoop生态系统组成部分的简单的检查。例如:
    • 做一个蜂房查询。
    • 做一个看跌期权和HBase的获得。
    • 运行HBase的hbck验证HBase的数据存储的一致性。针对所发现的任何问题。

 图5b。设计非平凡测试

适当的非平凡的测试将是特定于您的特定群集的工作量。您可能必须与用户合作,以​​定义一套合适的测试。运行现有的集群上试验来标定为“健康”的任务和工作持续时间的预期。对试验未来的迭代,检查结果的偏差。一些例子:

  • 运行性能基准测试有关群集的典型的工作负载。
  • 运行一套共同的工作。检查从预期完成时间正确的结果和偏差。
  • 测试在Hadoop的堆栈和第三方工具的所有组件的正确的互操作。
  • 确认存储在集群的关键数据的完整性。

 6。验证集群健康

开始升级过程之前,请验证群集运行状况。继续只有当集群是在一个预期的,健康的状态升级。否则,如果群集运行状况并在升级后查不出来,你不能找出原因来进行相关的升级。

 图6a。运行简单的健康检查

运行简单的测试套件来验证MAPR核心的基本功能都正常工作,而且任何报警称,占。

 图6b。运行非平凡健康检查

运行你的套件不平凡测试,以验证在群集运行如预期的典型的工作负载,包括用Hadoop生态系统组件和第三方工具的集成。

 7。备份关键数据

整个升级从版本到另一个版本的MAPR集群数据仍然存在。然而,作为一项预防措施可能要备份关键数据在升级之前。如果您认为有实用和必要的,你可以做以下任一操作:

  • 数据拷贝出使用集群的DistCp使用到一个单独的,非Hadoop的数据存储。
  • 镜临界体积(次)到一个单独的MAPR簇,形成可通过其他群集被访问的数据的只读拷贝。

当新版本的服务被激活,MAPR-FS会自动更新磁盘上的数据。迁移是透明的,用户和管理员。一旦集群活动的新版本,您通常无法回滚。为主要版本之间的MAPR改变文件系统的数据格式(例如,2.x升级到3.x的)。对于一些(但不是全部)次要版本和服务的更新(例如,X.1至X.2,或YZ1到YZ2),有可能恢复的版本。

 8。移动JobTrackers关闭CLDB节点(仅滚动升级)

对于手动滚动升级过程中,JobTracker的和CLDB服务不能在同一节点上共存。此限制并不适用于离线升级过程。如果有必要,移动JobTracker的服务,以非CLDB节点。您可能需要重新审视你的服务布局来记录这种变化的设计。下面是步骤,从CLDB节点中删除了JobTracker的角色,并把它添加到其他节点。

如果活动JobTracker的是,需要移动JobTrackers中,移动它持续。在这种情况下,除去活性的JobTracker将导致集群故障转移和激活备用JobTracker的。在建工程部分完成MapReduce工作时将恢复新JobTracker的上线,通常在几秒钟内。如果是这样的服务你的主动群集上不可接受的干扰,你可以在升级维护期间执行这些步骤。

  1. 决定在哪里安装JobTracker的,CDLB和动物园管理员,并在JobTracker的运行过程中,通过执行maprcli节点列表maprcli节点listcldbzks命令。对于节点列表中,CSVC其中一个服务安装运行选项列表(但可能不是当前正在运行),以及SVC选项列出了业务的积极运行。请注意,在SVC哪个节点正在运行的积极JobTracker的列表。
    #maprcli节点列表栏目SVC,CSVC
    #maprcli节点listcldbzks
    节点listcldbzks命令不是之前MAPR 2.0版本。
  2. 对于CLDB节点上的每个JobTracker的,使用下面的命令来添加一个替换JobTracker的非CLDB节点上。
    1. 安装JobTracker的包。替代<VERSION>与特定版本。
      图标

      安装现有的移动JobTrackers的时候,因为那是在这个阶段的活动版本的集群上MAPR的版本。明确地安装,以确保你不小心安装较新的版本时,指定一个版本号。或者,您也可以暂时禁用新版本的存储库。

        在RedHat和CentOS
        在Ubuntu
        在SUSE
    2. 运行configure.sh脚本以删除节点的作用。
      #/选择/ MAPR /服务器/ configure.sh-R
      成功的结果将产生类似下面的输出,可见JobTracker的是此节点上配置:
      #/选择/ MAPR /服务器/ configure.sh-R
      节点安装配置:文件服务器JobTracker的网络服务器
      /选择/ MAPR /日志/ configure.log:日志可以在这里找到
  3. 从那里它被安装在任何CLDB节点(S)拆下JobTracker的。如果你有删除的积极JobTracker的,去掉它最后
    1. 如果节点运行的活动JobTracker的,停止该服务。
      #maprcli节点服务节点<JobTracker node>-JobTracker的停
    2. 取出MAPR-JobTracker的包。
        在RedHat和CentOS
        在Ubuntu
        在SUSE
    3. 运行configure.sh脚本,以便在群集识别该节点上的变化的作用。确认JobTracker的是在节点上不再配置。
      #/选择/ MAPR /服务器/ configure.sh-R
      节点安装配置:CLDB文件服务器TaskTracker必须饲养员
      /选择/ MAPR /日志/ configure.log:日志可以在这里找到

 9。运行你的升级计划上测试集群

生产群集上执行升级计划之前,测试集群上执行完整的“预演”。您可以在一个更小的簇比生产集群进行试运行,但要干运行方式类似于现实世界的情况越好。例如,安装所有的Hadoop生态系统组成部分使用中的生产和复制数据和就业从测试群集上的生产集群。

的目标,为干运行是:

  1. 消除惊喜。熟悉所有的升级操作,您将执行升级的生产集群。
  2. 尽早发现任何升级相关的问题,因此您可以将它们添加到您的升级计划。寻找问题在升级过程本身,以及可能会出现在升级后的运作和整合问题。

当你成功地测试集群上运行你的升级计划,你准备好升级MAPR包

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值