Creating a Local Parcel Repository

If the Cloudera Manager server does not have Internet access, you can access the Cloudera parcels directories (at http://archive.cloudera.com/cdh4/parcels/ or http://archive.cloudera.com/impala/parcels/) from another location, and then drop the .parcel file into your local parcel-repo directory. You will also need to create a .sha file from the information found in the manifest.json file in the parcels directory for the parcel version you want to use.

To make a parcel available for distribution on your cluster:

Verify the location of the local parcel repository on your Cloudera Manager server: Go to the Administration page, Properties tab, Parcels category. You can change the local repository path in the Local Parcel Repository Path property. By default it is /opt/cloudera/parcel-repo.

Go to Cloudera's parcel repository at http://archive.cloudera.com/cdh4/parcels/ or http://archive.cloudera.com/impala/parcels/.

Go to the directory for the software version you want to make available to your cluster.

Copy the .parcel file for your operating system: (el5 or el6 for Red Hat 5 or 6, lucid or precise for Ubuntu and so on) and place it into the local parcel repository on your Cloudera Manager server.

Open the manifest.json file in the same directory as the .parcel file you just copied.

Find the section of the manifest that corresponds to the parcel you downloaded: For example, if you are running RHEL 6 and copied the parcel file CDH-4.2.0-1.cdh4.2.0.p0.10-el6.parcel, then you would look for the section:

 {
      "parcelName": "CDH-4.2.0-1.cdh4.2.0.p0.10-el6.parcel",
      "components": [
        { "name":     "flume-ng",
          "version":  "1.3.0-cdh4.2.0",
          "pkg_version":  "1.3.0+86" 
        }
        ,{ "name":     "mr1",
          "version":  "2.0.0-mr1-cdh4.2.0",
          "pkg_version":  "0.20.2+1341" 
        }
        ,{ "name":     "hadoop-hdfs",
          "version":  "2.0.0-cdh4.2.0",
          "pkg_version":  "2.0.0+922" 
        }        
          . . . .  <snip> . . . 

        ,{ "name":     "whirr",
          "version":  "0.8.0-cdh4.2.0",
          "pkg_version":  "0.8.0+21" 
        }
        ,{ "name":     "zookeeper",
          "version":  "3.4.5-cdh4.2.0",
          "pkg_version":  "3.4.5+14" 
        }
      ],
      "hash": "f1a08b5f7aeef6335d577c5f6fad0bca55f0c2d9"
    },

Create a text file whose name is <parcel file name> .sha (e.g. CDH-4.2.0-1.cdh4.2.0.p0.10-el6.parcel.sha) and copy the hash code into it: e.g.

  
# cat > CDH-4.2.0-1.cdh4.2.0.p0.10-el6.parcel.sha
f1a08b5f7aeef6335d577c5f6fad0bca55f0c2d9
^C

Place this file into your local parcel repository.

Once these files are in place, Cloudera Manager will pick up the parcel and it will appear on the Hosts > Parcels page. Note that how quickly this occurs depends on the Parcel Update Frequency setting, set by default to 1 hour. You can change this on the Administration page, Properties tab, Parcels category.