[关闭]
@xtccc 2015-10-29T10:07:47.000000Z 字数 1494 阅读 3081

升级CDH(Using Local Repo)

给我写信
GitHub

此处输入图片的描述

Cloudera




参考


假设当前我们的Cloudera Manager的版本是Cloudera Express 5.4.7,但是CDH的版本是CDH 5.3.5 (Parcels).

我们想把CDH升级到5.4.7, 但是由于集群无法访问外网,因此,将升级所需的parcels自己下载好后,放入一个可以被集群访问的local repository

具体步骤可以参考 这里

当所需的前置步骤完成后(检查HDFS和HBase状态,备份metadata,关闭所有的服务等),我们就开始升级了。

#1. 从Cloudera官方下载需要的包,对于CDH 5.4.7,下载的地址为 http://archive.cloudera.com/cdh5/parcels/5.4.7/,从中下载CDH-5.4.7-1.cdh5.4.7.p0.3-el6.parcel 以及 manifest.json,下载后将其放入SCM Server所在节点(ecs3.njzd.com)的一个目录,这里我们选择 /disk1/opt/cloudera/localrepo。

#2. 启动http server。进入目录 /disk1/opt/cloudera/localrepo,选择一个当前没有用到的端口(例如8900),执行命令python -m SimpleHTTPServer 8900。现在,从web上通过地址 http://ecs3.njzd.com:8900 就可以看到目录/disk1/opt/cloudera/localrepo下的全部文件。

#3. 在Cloudera Manager的配置页面中,将配置项Remote Parcel Repository URLs 设置为http://ecs3.njzd.com:8900/

#4. 现在,通过Cloudera Manager的 Parcels 页面中可以看到我们的目标Parcel的状态为Available Remotely。当点击右侧的 Download 按钮时,报错:“Local parcel error for parcel CDH-5.4.7-1.cdh5.4.7.p0.3-el6.parcel : /disk1/opt/cloudera/parcels/CDH-5.4.7-1.cdh5.4.7.p0.3-el6.parcel.part (Permission denied).”。这是因为目录 /disk1/opt/cloudera/parcels的权限不高(该目录由配置项 Local Parcel Repository Path 设置),因此最简单的方法是将该目录的权限设置为777。

#4. 现在,点击 Download 按钮时,可以看到 CDH-5.4.7-1.cdh5.4.7.p0.3-el6.parcel 被下载到了目录 /disk1/opt/cloudera/parcels 中,但是依然报错:“Local parcel error for parcel CDH-5.4.1-1.cdh5.4.1.p0.6-el6.parcel : Hash verification failed.”。然而,通过命令sha1sum CDH-5.4.1-1.cdh5.4.1.p0.6-el6.parcel,可以看到校验码确实是对的。

但是,过了一会,不知道怎么回事,页面上出现了 Distribute 的按钮,通过这个按钮就可以实现 Distribute -> Activate -> Upgrade,很诡异地自己好了。

添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注