前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >0896-Cloudera Parcels介绍

0896-Cloudera Parcels介绍

作者头像
Fayson
发布2022-09-19 16:42:39
2.1K0
发布2022-09-19 16:42:39
举报
文章被收录于专栏:Hadoop实操Hadoop实操

Parcel是一种二进制分发格式,包含程序文件以及Cloudera Manager使用的其它元数据。安装包和Parcel之间的重要区别是:

  • Parcel会被独立的安装在一个显示版本的文件夹中,这意味着你可以并行安装多个版本的Parcel。然后你在使用的时候将其中一个安装版本指定为活动版本。如果使用安装包的话,一次只能安装一个包,所以安装的包和活动的包没有区别。
  • 滚动升级需要Parcels。
  • 你可以在文件系统中的任何位置安装Parcel,它们默认安装在/opt/cloudera/parcels中。相反,软件包一般是安装在/usr/lib中。
  • 当你从Parcels页面安装时,Cloudera Manager会在集群中的所有主机上选择对应操作系统的正确Parcel进行自动下载,分发和激活。集群中所有主机必须运行Cloudera支持的相同的大版本操作系统,比如都是Redhat7.x。Cloudera Manager必须在与其管理的至少一个集群相同的大版本操作系统版本上运行,Cloudera Support才会提供标准支持。集群中主机运行不同的次要版本(minor version)的风险被认为低于运行不同的大版本(major version)。Cloudera建议集群中所有主机运行完全相同的操作系统版本,主要为了方便故障排查跟进和提供专业支持。

注意Cloudera Manager管理Parcel,无需用户在文件系统中操作Parcel。如果你执行以下任何不受支持的操作,可能会导致集群中出现故障或意外情况:

  • 安装自定义的RPM包,并将其保存到Cloudera Manager的Parcel目录。
  • 下载Parcel并将其手动放置在Cloudera Manager的Parcel目录。
  • 在Parcel的根目录或者其子目录手动添加、修改和删除文件。

1.Parcels的优势

由于其独特的属性,Parcel比安装包具有以下优势:

  • 将Cloudera Runtime作为单个对象分发 - 不是为Cloudera Runtime的每个组件提供单独的安装包,而是作为单个对象分发。这使得将软件分发到没有联网的集群中更加容易。
  • 内部一致性 - 所有Cloudera Runtime组件都匹配,消除了安装不同版本组件的可能性。
  • 在/usr之外安装 - 在某些环境中,Hadoop管理员没有安装系统包的权限。使用Parcel,管理员可以安装到/opt或其他任何地方。注意对于Parcel,Cloudera Runtime的Library的路径是/opt/cloudera/parcels/CDH/lib,而不是通常的/usr/lib。不要将/usr/lib/中的元素链接到Parcel部署的路径,因为这些链接会导致区分两个路径的脚本不起作用。
  • 不需要使用sudo安装Cloudera Runtime - Parcel安装由以root或其他用户身份运行的Cloudera Manager Agent处理,因此你可以在不使用sudo的情况下安装Cloudera Runtime。
  • 解耦分发和激活 - 借助并行安装功能,你可以在切换新的Cloudera Runtime之前,还是使用旧的版本。这允许在不影响集群操作的情况下提前完成升级中最耗时的部分,从而减少停机时间。
  • 滚动升级 - 使用安装包需要你关闭旧进程,升级包,然后启动新进程。如果遇到错误很难恢复,而且升级程序需要与安装包管理系统无缝集成才能无缝完成升级。而使用Parcel,你可以简单地通过修改重新启动每个进程时使用的Cloudera Runtime版本,就可以完成切换。你还可以通过滚动重启执行升级,服务角色会以正确的顺序重新启动并切换到新版本,以实现最小化服务中断。大版本的升级比如从CDH5升级到CDH6,需要完整的重新启动并规划停机窗口,因为版本之间变化太大。最后你还可以升级单台机的Parcel或者同时升级多台机器的Parcel。
  • 升级管理 - Cloudera Manager管理CDH或Cloudera Runtime版本升级中的所有步骤。而如果使用软件安装包安装,Cloudera Manager仅能作用于初始安装。
  • 附加组件 - Parcels不限于Cloudera Runtime,你还可以为第三方组件制作Parcel包。
  • 兼容其他分发工具 - Cloudera Manager可以与用于下载和分发的其他工具比如Puppet一起使用。对于离线安装,你也可以手动下载Parcel包,然后通过Cloudera Manager将Parcel分发到集群。

2.Parcel生命周期

为了最小化集群的中断并实现Parcel的添加和升级,Parcel包括以下阶段:

  • 已下载(Downloaded) - Parcel已经复制到Cloudera Manager Server的parcel目录,可用于分发到集群中的任何其他主机,你也可以将多个Parcel下载到Cloudera Manager Server。如果一个Cloudera Manager Server管理了多个集群,一个已下载的Parcel包则为出现在页面上按集群分类的不同区域。
  • 已分发(Distributed) - Parcel已经被复制到集群的所有主机,各个组件也已经被解压缩。分发的Parcel包不会升级运行在集群中的组件,当前服务继续运行不变。你可以在集群中分发多个Parcel,分发Parcel也不需要能上外网。每个Cloudera Manager Agent从Cloudera Manager Server上的本地Parcel存储库下载Parcel。
  • 已激活(Activated) - Parcel中组件的链接已经被创建,激活不会自动停止或重新启动当前服务。你可以在激活后重新启动服务,或者系统管理员确认何时执行该操作。
  • 使用中(In Use) - 当你启动或者重新启动使用这些组件的服务时,集群主机上的Parcel组件就是正在使用中。
  • 已停用(Deactivated) - 指向Parcel组件的链接已从集群主机中删除。
  • 已移除(Removed) - Parcel组件已从集群主机中移除。
  • 已删除(Deleted) - 从Cloudera Manager Server上的本地Parcel存储库中删除Parcel。

当有新Parcel可用时,Cloudera Manager会自动检测到,你可以将Cloudera Manager配置为自动下载和分发Parcel。 

3.Parcel位置

Cloudera Manager Server上本地parcel目录的默认位置是/opt/cloudera/parcel-repo,也可以通过配置更改该位置。

托管主机上已分发的Parcel默认位置是/opt/cloudera/parcels。要更改此位置,可以在Cloudera Manager Agent的 /etc/cloudera-scm-agent/config.ini文件中设置 parcel_dir属性并重新启动Cloudera Manager Agent。

4.管理Parcels

在Cloudera Manager的‘Parcels’页面上,你可以管理Parcel的安装和激活,并确定在集群中运行哪个版本的Parcel,‘Parcels’页面上会显示被管理的parcel列表。Cloudera Manager显示每个Parcel的名称,版本和状态,以及对Parcel能进行的操作。

4.1.访问Parcels页面

通过执行以下操作之一访问Parcels页面:

  • 单击顶部导航栏中的Parcel图标。
  • 单击顶部导航栏中的Hosts,然后单击Parcels选项卡。

使用“Parcels”页面左侧的选择器过来显示的parcels:

  • Location选择器 - 查看某个集群的可用的parcel,或者查看多个集群的可用parcel,或者查看远程可用的parcel。点击进入“Parcels”页面时,这个选择器默认选择远程可用(Available Remotely)。
  • Filters选择器中的Error Status - 按错误状态限制显示数的Parcel列表。
  • Filters选择器中的Parcel Name - 按Parcel名称限制显示数的Parcel列表。
  • Filters选择器中的Status - 限制显示数的Parcel列表,列表包括已分发的parcels,未分发(Other)的parcels,和所有parcels。

当一个parcel下载好以后,它会出现在Cloudera Manager管理的每个集群的列表中,表明该parcel可以在这些集群上进行分发。Cloudera Manager Server上只有一份已下载parcel包的副本,当分发包完成后,Cloudera Manager会将parcel包复制到该集群的所有主机。

例如如果Cloudera Manager正在管理两个集群,则All Clusters页面中的行列出与两个集群有关的Parcel信息。Status列显示Parcel的当前状态,Version列显示有关Parcel的版本信息,单击information图标(小i图标)可以查看Parcel的发行说明。Action列显示你可以对Parcel执行的操作,例如下载、分发、删除、停用和从主机中移除。

4.2.下载Parcel

1.转到Parcels页面,在Location选择器中,点击ClusterName或者Available Remotely,可供下载的Parcel会显示“Available Remotely”状态或者“Download”按钮。

如果此处未显示你想要的Parcel,比如你想要升级到不是最新版本的CDH版本,你可以使用其他远程Parcel存储库,也可以配置使用本地的Parcel存储库位置或其他位置。

如果Parcel版本太新而无法被Cloudera Manager版本支持,Parcel会显示为红色背景并报错:

当你在Filters选择器的Error Status区域选择Error状态时,也会列出此类Parcel。

2.单击Download按钮,parcel会被下载到你本地的存储库,状态会更改为Downloading(正在下载)。

parcel下载完成后,它会从“Available Remotely”页面中移除。

4.3.分发Parcel

下载完成的Parcel可以分发到集群中的主机,并可供激活。Parcel被下载到Cloudera Manager Server,如果CM管理了多个集群,Parcel是对所有集群都可用的,当然你可以选择分发到特定的集群。

1.从Parcels页面左侧的Location选择器中,选择你想要分发Parcel的集群,或者选择All Clusters,打开Parcels页面默认选择的是第一个集群。

2.单击Distribute,状态会被更改为Distributing(正在分发),在分发期间,你可以:

  • 单击Status列中的Details链接以查看Parcel Distribution Status页面,也就是查看Parcel分发的细节。
  • 单击Cancel可以取消分发,分发操作完成后,按钮会变为Activate,你也可以单击Distributed状态链接查看状态页面。

分发不需要访问外网,集群主机上的Cloudera Manager Agent从Cloudera Manager Server上托管的本地parcel存储库下载 parcel。

如果你有很多主机需要分发Parcel,你可以设置Cloudera Manager分发的并行数量。

要删除准备分发的Parcel,单击Distribute按钮右端的三角形并选择Delete,这将从本地Parcel存储库中删除Parcel。

4.4.激活Parcel

已分发到集群中主机的Parcel可以被激活。

1.在Parcels页面的Location选择器中,选择ClusterNameAll Clusters,然后单击Activate,这个操作会更新Cloudera Manager指向新的软件,但是需要重新启动服务才能生效,点击Activate后,会有一个弹窗提示必须重新启动哪些服务才能使用新Parcel。

2.选择以下选项之一:

  • Restart  - 激活Parcel并重新启动受新Parcel影响的服务。
  • Activate Only - 仅激活Parcel,你可以选择其他时间窗口来重启服务,如果不重启服务,集群会依旧使用旧的Parcel。

3.点击OK

激活新Parcel会停用之前用的Parcel,但是在重新启动服务前,之前的Parcel会显示Still in use状态,因为服务正在使用该Parcel,所以你也不能移除该Parcel。

如果你想要激活的Parcel仅仅只是更新了某个组件,你依旧需要重新启动所有服务,比如你的集群运行了HDFS,YARN,Oozie,Hue,Impala和Spark服务,而Parcel包仅仅只是更新了Oozie,弹出的提示框让你仅重启Oozie和Hue服务,但是在你重启其他服务之前,HDFS、YARN、Impala和Spark服务依旧使用的是旧的Parcel,直到你重新启动剩余的这些服务。

有时可能需要额外的升级步骤,在这种情况下,按钮将显示Upgrade而不是Activate。

4.5.停用Parcel

你也可以停用新激活的Parcel,它会让Cloudera Manager指向以前的Parcel版本,但是需要重新启动服务才会生效。在Parcels页面中,在Location选择器中选择ClusterNameAll Clusters,然后单击激活的Parcel上的Deactivate按钮。

注意如果你只安装一个Parcel,停用该Parcel尝试重新启动服务时将会失败。

4.6.移除Parcel

Parcels页面的Location选择器中,选择ClusterNameAll Clusters,单击Activate按钮右侧的

,然后选择Remove from Hosts

4.7.删除Parcel

Parcels页面的Location选择器中,选择ClusterNameAll Clusters,单击Distribute按钮右侧的

,然后选择Delete。注意除非你确认Parcel没有被任何Cloudera Manager管理的集群用到,否则不要轻易使用Delete选项,可以选择Remove from Hosts。

4.8.修改Parcel目录

Parcel目录的默认位置是/opt/cloudera/parcels,要将已分发的Parcel修改到不同的目录,可以执行以下操作:

1.停止所有服务。

2.停用所有正在使用的包裹。

3.停止所有主机上的 Cloudera Manager Agent服务。

4.将现有Parcel移动到新位置。

5.修改主机Parcel目录配置,参见“Parcel目录设置”章节。

6.启动 Cloudera Manager  Agent服务。

7.激活Parcel。

8.启动所有服务。

4.9.常见问题

如果你在执行Parcel操作时遇到错误,请单击Parcel页面上的红色“X”图标会显示一条消息,指出错误的来源。

如果Parcel正在分发但一直未完成,请确保Parcel下载目录中有足够的可用空间,因为即使空间不足,Cloudera Manager也会尝试下载和解压缩Parcel。

5.查看Parcel使用

Parcel Usage页面显示集群中当前使用的Parcel,在大规模集群环境中,可以比较方便的跟踪集群安装的不同版本,尤其是部分主机在安装或者升级过程中出现问题,或者新扩容了几台主机,查看Parcel的使用情况页面:

1.执行以下操作之一:

  • 单击左侧导航栏中的Parcel图标。
  • 单击顶部导航栏中的Hosts,然后单击Parcel选项卡。

2.单击Parcel Usage按钮。

你可以按集群或按产品查看Parcel使用情况,你还可以仅查看运行活动Parcel的主机,或仅查看运行旧Parcel(不是当前活动Parcel)的主机,或两者同时查看。

右侧的正方形小方块代表集群中的每台主机,以及该主机上的Parcel状态。如果主机正在从当前激活的Parcel运行进程,则主机以蓝色指示。黑色方块表示一个Parcel已被激活,但所有正在运行的进程都来自早期版本的Parcel。例如如果你在激活新Parcel后没有重新启动服务或角色,则会发生这种情况。

将光标移动到以下位置可以查看主机分配的机架,不同机架上的主机显示在不同的行中。

要查看给主机上运行的Parcel版本,请单击代表主机的方块。

弹出窗口列出了在所选主机上运行的角色,单击角色会打开角色所在的页面,同时这个弹窗也显示了Parcel是否处于活动状态。

如果主机正在运行各种Parcel版本,则代表主机的正方形是一个四方形网格图标。当你将光标移到该主机上时,将显示活动和非活动组件。例如在下图中,较旧的CDH包已停用,但仅重新启动了HDFS服务。

6.Parcel配置设置

你可以配置Parcel在Cloudera Manager Server主机上的存储位置、Parcel存储库的URL、下载Parcel的代理服务器属性以及分发到集群主机的Parcel的存储位置。

6.1.配置Cloudera Manager Server Parcel设置

最低要求角色:Cluster Administrator,或者使用Full Administrator

1.使用以下方法之一打开Parcel设置页面:

  • 导航栏
    • 单击左侧导航栏中的Parcel图标,或单击Hosts,然后单击Parcel选项卡。
    • 单击Configuration按钮。
  • 菜单
    • 选择Administration > Settings
    • 选择Category > Parcels

2.指定一个属性

  • Local Parcel Repository Path定义Cloudera Manager Server主机上存储下载Parcel的路径。
  • Remote Parcel Repository URLs是Cloudera Manager检查包裹的存储库列表,默认情况下这里列出的是最新的CDP的下载地址,不过需要集群能上外网。当然你也可以自定义成自己本地的存储库。

添加一个Parcel存储库:

  • 在Remote Parcel Repository URLs list中,单击添加符号会新增一行。
  • 输入存储库的路径。

3.点击Save Changes。

你也可以:

  • 设置Cloudera Manager检查新Parcel的频率。
  • 配置代理以访问远程存储库。
  • 配置在检测到新Parcel时是否应自动下载和分发Parcel。默认不启用自动下载和分发,需要转到Parcel页面启动这些操作。
  • 如果启用自动下载,可以控制可以下载哪些产品。
  • 控制是否保留下载的Parcel。
  • 控制是否保留旧Parcel版本以及保留多少Parcel版本。

你可以通过配置带宽限制和并发上传数量来调整网络上的Parcel分发负载,默认值是50MB/s和10个并发Parcel上传(最大设设置为50),通过配置Parcel Distribution Rate Limit和Maximum Parcel Uploads来完成。

6.2.配置代理服务器

要配置代理服务器,将Parcel下载到Cloudera Manager Server并上传,请执行以下操作:

1.选择Administration > Settings

2.单击Network类别。

3.配置代理属性。

4.输入Reason for change,然后单击Save Changes

6.3.配置主机Parcel目录

如果你修改Parcel目录位置,请确保所有主机使用相同的位置,在不同主机上使用不同位置可能会导致意外。配置分布式Parcel的位置:

1.单击左侧导航栏中的Hosts

2.单击Configuration选项卡。

3.选择Category > Parcels

4.配置Parcel Directory属性的值,Cloudera Manager Agent配置文件中的parcel_dir属性设置会覆盖此设置。

5.输入Reason for change,然后单击Save Changes

6.在所有主机上重新启动Cloudera Manager Agent。

6.4.配置Parcel的点对点分发

Cloudera Manager使用点对点(peer-to-peer)服务将Parcel有效地分发到集群主机,该服务默认启用并配置为在端口7191上运行。你可以更改此端口号,也可以禁用点对点分发。

要修改Parcel的点对点分发:

1.打开Cloudera Manager并选择Hosts > All Hosts > Configuration

2.将P2P Parcel Distribution Port属性的值更改为新的端口号,将该值设置为0可以禁用Parcel的点对点分发。

3.输入Reason for change,然后单击Save Changes

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2022-09-18,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Hadoop实操 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
专用宿主机
专用宿主机(CVM Dedicated Host,CDH)提供用户独享的物理服务器资源,满足您资源独享、资源物理隔离、安全、合规需求。专用宿主机搭载了腾讯云虚拟化系统,购买之后,您可在其上灵活创建、管理多个自定义规格的云服务器实例,自主规划物理资源的使用。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档