Configuring a Local Package Repository
Loading Filters ... 7.13.1 7.11.3 7.7.3 7.7.1 7.6.7 7.6.1 7.5.1 7.4.4 7.3.1 7.2.4 7.1.4 7.1.3 7.1.2 7.1.1 7.0.3 5.16 5.15 5.14 5.13 5.16 5.15 5.14 5.13 7.1.9.1000 7.1.9 7.1.8 7.1.7.3000 7.1.7.2000 7.1.7.1000 7.1.7 7.1.6 7.3.1 7.1.9.1000 7.1.9 7.1.8 7.1.7.3000 7.1.7.2000 7.1.7.1000 7.1.7
Creating a Permanent Internal Repository
The following sections describe how to create a permanent internal repository using Apache HTTP Server:
Setting Up a Web server
To host an internal repository, you must install or use an existing Web server on an internal host that is reachable by the Cloudera Manager host, and then download the repository files to the Web server host. The examples in this section use Apache HTTP Server as the Web server. If you already have a Web server in your organization, you can skip to Downloading and publishing the package repository for Cloudera Manager.
- Install Apache HTTP Server:
- RHEL / CentOS
-
sudo yum install httpd
- SLES
-
sudo zypper install httpd
- Ubuntu
-
sudo apt-get install httpd
- Start Apache HTTP Server:
- RHEL 7, 8
-
sudo systemctl start httpd
- SLES 12, Ubuntu 16 or later
-
sudo systemctl start apache2
Downloading and publishing the package repository for Cloudera Manager
- Download the package repository for the product you want to install:
- Cloudera Manager 7
-
Do the following steps to download the files for a Cloudera Manager release:
- Run the following command to create a local repository directory to hold the
Cloudera package
repository:
sudo mkdir -p /var/www/html/cloudera-repos/cm7
- Run the following command to download the repository tarball for your
operating
system:
wget https://[username]:[password]@archive.cloudera.com/p/cm7/7.0.3/repo-as-tarball/cm7.0.3-redhat7.tar.gz
- Run the following command to unpack the tarball into the local repository
directory:
tar xvfz cm7.0.3-redhat7.tar.gz -C /var/www/html/cloudera-repos/cm7 --strip-components=1
- Run the following command to modify the file permission that allows you to
download the files under the local repository
directory:
sudo chmod -R ugo+rX /var/www/html/cloudera-repos/cm7
- Run the following command to create a local repository directory to hold the
Cloudera package
repository:
- Visit the Repository URL
http://<web_server>/cloudera-repos/
in your browser and verify the files you downloaded are present.
Creating a Temporary Internal Repository
You can quickly create a temporary remote repository to deploy packages
on a one-time basis. Cloudera recommends using the same host that runs
Cloudera Manager, or a gateway host. This example uses Python SimpleHTTPServer as the
Web server to host the /var/www/html
directory, but you
can use a different directory.
- Download the repository you need following the instructions in Downloading and publishing the package repository for Cloudera Manager.
- Determine a port that your system is not listening on. This example uses port 8900.
- Start a Python SimpleHTTPServer in the
/var/www/html
directory:cd /var/www/html python -m SimpleHTTPServer 8900
Serving HTTP on 0.0.0.0 port 8900 ...
- Visit the Repository URL
http://
<web_server>:8900/cloudera-repos/
in your browser and verify the files you downloaded are present.
Configuring Hosts to Use the Internal Repository
After establishing the repository, modify the client configuration to use it:
OS | Procedure |
---|---|
RHEL compatible | Create
/etc/yum.repos.d/cloudera-repo.repo files
on cluster hosts with the following content, where
<web_server> is the hostname of the
Web
server:
|
SLES | Use the zypper utility to update client
system repository information by issuing the following
command:
|
Ubuntu | Create
/etc/apt/sources.list.d/cloudera-repo.list
files on all cluster hosts with the following content, where
<web_server> is the hostname of the
Web
server: You
can find the <codename> and
<components> variables in the
./conf/distributions file in the
repository.After creating the .list
file, run the following
command:
|