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:

  1. 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.
  2. Go to Cloudera's parcel repository at http://archive.cloudera.com/cdh4/parcels/ or http://archive.cloudera.com/impala/parcels/.
  3. Go to the directory for the software version you want to make available to your cluster.
  4. 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.
      Note: The local directory must already exists and have its permissions set correctly (they must match the permissions set on /opt/cloudera/parcels).
  5. Open the manifest.json file in the same directory as the .parcel file you just copied.
  6. 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"
        },
  7. 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
  8. Place this file into your local parcel repository.
  9. 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.