对于离线升级包升级过程遵循以下顺序。
在集群中的所有节点上执行这些步骤。对于较大的集群,通常使用脚本和/或远程管理工具并行的所有节点执行这些步骤。
1。暂停作业
当集群中的下列顺序上定义了你的升级计划,停止活动开始升级包前:
- 通知利益相关者。
- 停止接受新的就业机会。
-
在以后的某个点,终止任何正在运行的作业。下面的命令可用于终止MapReduce工作,你可能还需要特定的命令来终止自定义应用程序。
此时集群准备维修,但仍可运行。我们的目标是执行升级,并回到正常操作安全,尽快。
2。停止群集服务
以下序列将正常停止集群服务。当你完成后,集群将处于脱机状态。该maprcli
本节中使用的命令可以在群集中的任何节点上执行。
2A。断开NFS安装和停止NFS服务器
使用下面的步骤来停止NFS服务。
-
从连接到它的所有客户,包括集群中的其他节点卸载MAPR NFS共享。这允许通过NFS访问集群中的所有进程断开连接正常。假设集群安装在
/ MAPR
: -
停止位置时运行的所有节点上的NFS服务:
-
验证MAPR NFS服务器没有任何节点上运行。运行下面的命令,并确认
NFS
不包含任何节点上。
2B。停止蜂房和Apache HBase的服务
对于运行蜂巢或Apache HBase的节点上,停止这些服务,使他们当文件系统脱机,不打一个例外。停止服务顺序如下:
-
HiveServer -该HiveServer运行作为一个节点上的Java进程。您可以使用
太平绅士米
找到,如果HiveServer是一个节点上运行,并使用KILL -9
停止它。例如: -
HBase的主人 -对于运行在HBase的主服务的所有节点上,停止HBase的服务。首先停止HBase的主人,它不会检测到单个regionservers后停止,因此不会触发任何故障转移反应。
-
使用以下命令找到运行HBase的主节点的服务,并停止它。
-
您可以
尾巴
上运行的HBase的主节点的HBase的主日志文件来跟踪关机进步,如下面的例子。该MAPR
在日志文件名 匹配群集的运行服务MAPR用户。
-
-
HBase的regionservers -停止HBase的法师后不久,停止所有节点上的HBase的regionservers。
-
使用以下命令找到运行HBase的Regionserver业务节点,并停止它。它可以采取regionserver几分钟才能关机,这取决于清除任务它必须做。
-
可以
尾巴
上运行的HBase的regionserver跟踪关机进展,如下面的示例节点的regionserver日志文件。如果regionserver的日志不显示进度和进程不会终止,您可能必须手动杀死它。例如:
-
2C。停止MAPR核心服务
按以下顺序停止MAPR核心服务。
-
注意:安装CLDB和动物园管理员服务的地方,如果你还不知道。
-
停止在安装了CLDB所有节点*长:
-
停止所有剩余节点*长:
-
停止在安装它的所有节点的动物园管理员:
此时集群中完全离线。maprcli
命令将不起作用,而基于浏览器的MAPR控制系统将无法使用。
3。升级包和配置文件
请执行下列步骤升级MAPR核心包的每个节点上。
- 使用以下命令来确定哪个软件包安装在节点上:
- 在Red Hat:yum安装列表“MAPR-*'
- 在Ubuntu:dpkg的-名单“MAPR-*'
- 在SUSE:zypper的SE-I MAPR
- 在Red Hat:yum安装列表“MAPR-*'
- 升级以下软件包上,他们存在的所有节点:
MAPR-CLDB
MAPR核心
MAPR - 文件服务器
-
MAPR-HBase的- <VERSION>
-您必须指定一个符合所使用的应用程序的HBase的API版本的版本。见#3A。升级或安装HBase的客户端MAPR表了解详情。 MAPR-JobTracker的
MAPR度量
MAPR-NFS
MAPR-TaskTracker必须
MAPR-Web服务器
MAPR-饲养员
-
MAPR-ZK-内部
- 在Red Hat:
yum的更新MAPR-CLDB MAPR核心MAPR -文件服务器MAPR-HBase的- <VERSION> MAPR-JobTracker的MAPR度量MAPR-NFS MAPR-TaskTracker必须MAPR-web服务器MAPR-饲养员MAPR-ZK-内 - 在Ubuntu:apt-get的安装MAPR-CLDB MAPR核心MAPR -文件服务器MAPR-HBase的= <VERSION> MAPR-JobTracker的MAPR度量MAPR-NFS MAPR-TaskTracker必须MAPR-web服务器MAPR-饲养员MAPR-ZK-内
- 在SUSE:zypper的更新MAPR-CLDB MAPR核心MAPR -文件服务器MAPR-JobTracker的MAPR度量MAPR-NFS MAPR-TaskTracker必须MAPR-web服务器MAPR-饲养员MAPR-ZK-内
- 验证是否已成功在所有节点上安装的软件包。确认安装过程中没有错误,并检查
/选择/ MAPR / MapRBuildVersion
。包含预期值
示例:#猫的/ opt / MAPR / MapRBuildVersion 2.1.2.18401.GA
- 复制上演配置文件的新版本
的/ opt / MAPR / conf目录
,如果你创造了他们的一部分准备升级。
3A。升级或安装HBase的客户端MAPR表
如果您是从3.0之前的版本MAPR的升级,你将使用MAPR表,您必须安装(或升级)的MAPR HBase的客户端。如果你是在Apache HBase的组件升级为你的整体升级计划的一部分,那么MAPR HBase的客户端将得到升级作为这一进程的一部分。参见升级HBase的。
访问表数据在地图-FS的所有节点必须具有MAPR HBase的客户端安装。这通常包括所有的TaskTracker必须节点和将要访问的数据在MAPR表中任何其他节点。包的名称是MAPR-HBase的- <VERSION>
,其中<VERSION>
匹配的HBase的API版本支持,如0.92.2和0.94.5。这个版本对使用的MAPR-FS文件服务器底层的存储格式没有影响。如果您对HBase的API的特定版本编写的现有应用程序,使用相同的版本安装MAPR HBase的客户端软件包。如果您正在开发新的应用程序使用MAPR表完全是用MAPR HBase的客户端可用的最高版本。
- 在Red Hat:
yum的安装MAPR-HBase的,<VERSION> - 在Ubuntu:
apt-get的安装MAPR-HBase的= <VERSION> - 在SUSE:
zypper的安装MAPR-HBase的,<VERSION>
图3b。运行upgrade2maprexecute
如果您是从以 前版本的MAPR升级到2.1.3或更高版本,运行/ opt/mapr/server/upgrade2maprexecute
每个节点上的脚本,安装软件包之后,但带来了群集之前,为了申请变更MAPR的与互动sudo的
。
4。重新启动群集服务
当你在所有节点上升级包,在所有节点上执行下列顺序重新启动集群。
4A。重新启动MAPR核心服务
- 运行
configure.sh
使用下面的选项组中的一个脚本:-
如果升级使用过程中对节点的服务保持不变
-R
选项,如下面的例子。 -
如果您添加或删除程序包的节点上,使用
-C
和-Z
选项重新配置预期的服务的节点上,如下面的例子。
-
-
如果动物园管理员安装在节点上,启动它:
-
启动*长:
此时,MAPR核心服务上的所有节点上运行。
图4b。运行简单的健康检查
运行仅针对文件系统和MapReduce服务,简单的健康检查。解决可能已经提出了在这一点上的任何问题或警示。
4C。设置新的集群版本
在所有节点上重新启动MAPR服务后,发出集群来更新并验证配置的版本中的任何节点上运行以下命令。安装MAPR软件的版本是保存在文件中的/ opt / MAPR / MapRBuildVersion
。
您可以验证该命令的工作,如下面的例子。
4D。重新启动蜂房和Apache HBase的服务
对于安装与配置单元和/或Apache HBase的所有节点,重新启动该服务。
-
HBase的硕士和HBase的Regionservers -首先启动HBase的主人服务,紧接着regionservers。在群集中的任何节点上,使用这些命令来启动HBase的服务。
您可以
尾巴
在特定节点上的日志文件来跟踪状态。例如: - HiveServer -本HiveServer或(HiveServer2)过程必须在安装配置单元的节点上启动。初创的方法取决于您是否使用HiveServer或HiveServer2。见与蜂房工作获取更多信息。
5。成功验证每个节点上
下面是一些简单的检查,以确认该包已成功升级:
-
所有预期的节点出现在一个群集节点列表,和预期的服务是每个节点上配置。例如:
如果一个节点没有连接到群集,
maprcli
命令将无法工作。 -
一个主CLDB处于活动状态,并且所有节点返回相同的结果。例如:
-
只有一个动物园管理员服务号称是ZooKeeper的领导者,和所有其他饲养员都是追随者。例如:
此时,MAPR包已经升级所有节点上。您准备配置集群为新版本。