Parcel是一种二进制分发格式,包含程序文件以及Cloudera Manager使用的其它元数据。安装包和Parcel之间的重要区别是:
注意Cloudera Manager管理Parcel,无需用户在文件系统中操作Parcel。如果你执行以下任何不受支持的操作,可能会导致集群中出现故障或意外情况:
1.Parcels的优势
由于其独特的属性,Parcel比安装包具有以下优势:
2.Parcel生命周期
为了最小化集群的中断并实现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页面:
使用“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(正在分发),在分发期间,你可以:
分发不需要访问外网,集群主机上的Cloudera Manager Agent从Cloudera Manager Server上托管的本地parcel存储库下载 parcel。
如果你有很多主机需要分发Parcel,你可以设置Cloudera Manager分发的并行数量。
要删除准备分发的Parcel,单击Distribute按钮右端的三角形并选择Delete,这将从本地Parcel存储库中删除Parcel。
4.4.激活Parcel
已分发到集群中主机的Parcel可以被激活。
1.在Parcels页面的Location选择器中,选择ClusterName或All Clusters,然后单击Activate,这个操作会更新Cloudera Manager指向新的软件,但是需要重新启动服务才能生效,点击Activate后,会有一个弹窗提示必须重新启动哪些服务才能使用新Parcel。
2.选择以下选项之一:
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选择器中选择ClusterName或All Clusters,然后单击激活的Parcel上的Deactivate按钮。
注意如果你只安装一个Parcel,停用该Parcel尝试重新启动服务时将会失败。
4.6.移除Parcel
在Parcels页面的Location选择器中,选择ClusterName或All Clusters,单击Activate按钮右侧的
,然后选择Remove from Hosts。
4.7.删除Parcel
在Parcels页面的Location选择器中,选择ClusterName或All 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.执行以下操作之一:
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设置页面:
2.指定一个属性
添加一个Parcel存储库:
3.点击Save Changes。
你也可以:
你可以通过配置带宽限制和并发上传数量来调整网络上的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。