该rollingupgrade.sh
脚本升级每个节点上的核心包,日志输出到滚动升级日志(/选择/ MAPR /日志/ rollingupgrade.log
)。核心设计目标,为脚本滚动升级过程是保持集群运行在升级过程中可能的最高容量。随着3.0.1版本的MAPR分布的Hadoop时,JobTracker的可以继续的早期版本,这使得作业执行升级过程中继续一个TaskTracker必须工作。单个节点进度,状态和命令输出将被记录到/选择/ MAPR /日志/ singlenodeupgrade.log
每个节点上的文件。您可以使用-P
选项来指定包含升级包的目录。您可以使用-V
选项,从取包MAPR存储库或本地存储库。
使用技巧
- 如果指定的本地目录
-P
选项,则必须确保包含包的目录具有相同的名称,而且是在同一路径上的在集群中的所有节点,或者使用-X
选项来自动复制软件包出到每个节点与SCP。如果使用-X
选项,从目录的升级过程将包与指定-P
选项到每个节点上相同的目录路径。请参阅发行说明页面,您可以下载MAPR软件的路径。 - 在多集群设置,请使用
-C
来指定集群升级。如果 -C
没有指定,则默认集群升级。 - 当指定的版本
-V
参数,使用格式某某
以指定目标版本的主要,次要和修订号。例如:3.0.1
- 包
rpmrebuild
(红帽)或dpkg的-重新包装
(Ubuntu的),可自动回滚,如果升级失败。该脚本尝试安装这些包,如果他们不存在。
要确定相应的包是否被安装在每个节点上,运行以下命令来查看所有已安装的软件包的版本的列表:- 在Red Hat和CentOS节点:
- 在Ubuntu节点:
- 在Red Hat和CentOS节点:
- 指定
-n的
选项将rollingupgrade.sh
脚本禁用升级失败回滚。 - 安装MAPR软件的新版本可能会引入新的软件包的依赖关系。依赖包必须在集群中的所有节点,除了更新MAPR包进行安装。如果您使用的软件包管理器,如升级
的yum
或apt-get的
,然后每个节点上的包管理器必须能够访问存储库的依赖包。如果从软件包文件安装,则必须在集群中升级MAPR软件之前,所有节点预先安装的依赖关系。见包和依赖关系MAPR软件。 - 在群集上正在进行的作业将继续在整个升级过程中运行,除非它们是从集群,而不是从客户端中的一个节点提交。
有两种方法可以执行滚动升级:
- 通过SSH -如果无钥匙SSH进行root用户设置为所有节点从您运行的节点
rollingupgrade.sh
脚本,请使用-S
选项可自动升级所有节点,而无需用户干预。 - 节点通过节点-如果SSH不可用,脚本准备集群升级,通过升级每个节点引导用户。在一个节点到节点的安装,必须单独运行的命令时的指示升级每个节点
rollingupgrade.sh
脚本。
您的群集升级到MAPR 2.X后,您可以运行MAPR作为一个非root用户。
升级过程概述
该脚本滚动升级经过以下步骤:
- 检查新旧版本号。
- 识别关键业务节点:节点CLDB,动物园管理员节点和JobTracker的节点。
- 构建一个集群中的所有其他节点的列表。
- 验证集群中的节点的主机名和IP地址。
- 如果
-P-X
指定了选项,副本包使用SCP集群中的其他节点。 - 预测试功能,通过建立一个虚拟卷。
- 如果
PSSH
实用程序尚未安装和存储库中可用,安装PSSH
。 - 在2至4个节点分批升级的节点,在由关键服务的存在所确定的顺序。
- 升级后检查和清除虚拟卷。
要求
从你将会开始升级电脑,请执行下列步骤:
- 切换到
根
用户(或使用sudo的
以下命令)。 - 如果你是从一台电脑,是不是MAPR客户端或MAPR群集节点开始升级,您必须添加MAPR库(见准备包和存储库),并安装
MAPR核心
:- 的CentOS或Red Hat:
yum的安装MAPR核心
- Ubuntu的:
apt-get的安装MAPR核心
- 运行
configure.sh
,用-C
指定集群CLDB节点和-Z
指定集群ZooKeeper的节点。例如:
- 的CentOS或Red Hat:
- 要启用一个全自动滚动升级,确保无钥匙SSH已启用到所有节点的用户
根
,自其升级将启动计算机。
如果您使用的是-S
选项,请从您将开始升级的计算机上执行以下步骤。如果你没有使用-S
选项,执行在所有节点上执行下列步骤:
- 切换到
根
用户(或使用sudo的
以下命令)。 - 如果您使用的是
-V
选项,添加MAPR软件库(见准备包和库)。 - 安装滚动升级脚本:
- 的CentOS或Red Hat:
yum的安装MAPR升级
- Ubuntu的:
apt-get的安装MAPR升级
- 的CentOS或Red Hat:
- 如果您打算从下载的软件包,而不是存储库升级,制备含包文件的目录。这个目录应该驻留在每个节点上相同的绝对路径,除非你使用的是
-S-X
选项来自动从升级节点复制的包。
集群中的每个节点的NFS必须要有showmount显示
安装工具。在集群中的每个NFS节点上键入以下命令来验证UTILTY的存在:
通过SSH升级集群
从你将开始升级的节点上,发出rollingupgrade.sh
命令根
(或sudo的
)升级集群:
- 如果你已经准备好要升级的软件包的目录,发出以下命令,路径替换到目录中
的<Directory>
占位符: - 如果你是从MAPR软件存储库进行升级,请发出以下命令,为替代版本(XYZ)
<VERSION>
占位符:
通过升级节点上的群集节点
从你将开始升级的节点上,使用rollingupgrade.sh
命令根
(或sudo的
)升级集群:
- 开始升级:
- 如果你已经准备好要升级的软件包的目录,发出以下命令,路径替换到目录中
的<Directory>
占位符: - 如果你是从MAPR软件存储库进行升级,请发出以下命令,为替代版本(XYZ)
<VERSION>
占位符:
- 如果你已经准备好要升级的软件包的目录,发出以下命令,路径替换到目录中
- 出现提示时,运行
singlenodeupgrade.sh
比上活跃的JobTracker和主CLDB节点以外的所有节点,按照屏幕上的说明。 - 出现提示时,运行
singlenodeupgrade.sh
主动JobTracker的节点上,则主CLDB节点,按照屏幕上的说明。
升级后,配置新版本如常。