> ## Documentation Index
> Fetch the complete documentation index at: https://anaconda.com/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Generating custom Anaconda installers

As an Anaconda Enterprise Administrator, you can [create custom environments](#creating-an-environment). These environments include specific packages and their dependencies. You can then [create a custom installer](#creating-a-custom-installer-for-an-environment) for the environment, that can be shipped to HDFS and used in Spark jobs.

Custom installers enable IT and Hadoop administrators to maintain close control of a Hadoop cluster while also making these tools available to data scientists who need Python libraries. They provide an easy way to ship multiple custom Anaconda distributions to multiple Hadoop clusters.

***

## Creating an environment

1. Log in to the console using the Administrator credentials [configured after installation](../install/config).
2. Select **Environments** in the left menu.
3. Click **Create** in the upper-right corner, give the environment a unique name and click **Save**.

<Note>
  Environment names can contain alphanumeric characters and underscores only.
</Note>

<Frame>
  <img src="https://mintcdn.com/anaconda-29683c67/q5KdI2mr6ZKMYRZp/images/new_env.png?fit=max&auto=format&n=q5KdI2mr6ZKMYRZp&q=85&s=c48f82ff60aac485deb3bcb9476444e0" alt="" width="2360" height="980" data-path="images/new_env.png" />
</Frame>

4. Check the channel you want to choose packages from, then select the specific packages—and version of each—you want to include in the installer.

<Frame>
  <img src="https://mintcdn.com/anaconda-29683c67/opbTXGcYjx4zM8zO/images/envs_chans_pkgs.png?fit=max&auto=format&n=opbTXGcYjx4zM8zO&q=85&s=b2264d69ccb3750a62494dc65a39d2b0" alt="" width="2230" height="1106" data-path="images/envs_chans_pkgs.png" />
</Frame>

5. Click **Save** in the window banner to create the environment.

Anaconda Enterprise resolves all the package dependencies and displays the environment in the list. If there is an issue resolving the dependencies, you’ll be notified and prompted to edit the environment.

<Frame>
  <img src="https://mintcdn.com/anaconda-29683c67/opbTXGcYjx4zM8zO/images/environment_details.png?fit=max&auto=format&n=opbTXGcYjx4zM8zO&q=85&s=1aaa36c288c275de5661270f5a606b5f" alt="" width="2504" height="1014" data-path="images/environment_details.png" />
</Frame>

You can now use the environment as a basis for creating additional versions of the environment or other environments.

**To edit an existing environment**

1. Click on an environment name to view details about the packages included in the environment, then click **Edit**.
2. Change the channels and/or packages included in the environment, and enter a version number for the updated package before clicking **Save**. The new version is displayed in the list of environments.

**To copy an environment**

1. Select the environment in the list and click the **Duplicate Environment** icon <Icon icon="copy" iconType="regular" />.
2. Enter a unique name for the environment and click **Save**. The new environment is displayed in the list of environments.

Now that you’ve created an environment, you can create an installer for it.

## Creating a custom installer for an environment

1. Select the environment in the list, click the **Create installer** icon <Icon icon="plus" iconType="regular" />, and select the type of installer you want to create:

<Frame>
  <img src="https://mintcdn.com/anaconda-29683c67/6fJRxAwYs9izUc34/images/create-installer.png?fit=max&auto=format&n=6fJRxAwYs9izUc34&q=85&s=17bcc4d4029f6699c99a9e02d6cf4168" alt="" width="1958" height="972" data-path="images/create-installer.png" />
</Frame>

Anaconda Enterprise creates the installer and displays it in the **Installers** list:

<Frame>
  <img src="https://mintcdn.com/anaconda-29683c67/QCWY8EsGZWJYinOU/images/installers-list.png?fit=max&auto=format&n=QCWY8EsGZWJYinOU&q=85&s=a8b8d5dba2accbd8b8e60d4247d63d14" alt="" width="2272" height="824" data-path="images/installers-list.png" />
</Frame>

2. To view the relevant logs, download or delete the installer, click the icon and choose the appropriate command.

*If you created a management pack*, you’ll need to install it on your Hortonworks HDP cluster and add it to your local Ambari server to make it available to users. For more information, see [this blog post about generating custom management packs](https://www.anaconda.com/blog/developer-blog/self-service-open-data-science-custom-anaconda-management-packs-hortonworks-hdp/).

*If you created a parcel*, you’ll need to install it on your Cloudera CDH cluster to make it available to users:

<Note>
  If you are using CDH 5.x, you’ll need to manually download the parcel, move it to the Cloudera Manager node, then configure Cloudera Manager for a *local* parcel repository. This is because CDH 5.x does not work with TLS 1.2 that Anaconda Enterprise uses to serve the parcel, so you’ll see a protocol version error if you attempt to use AE as a *remote* parcel repository with CDH 5.x.
</Note>

If you are using CDH 6.x with parcels, you can configure Anaconda Enterprise as a remote parcel repository, or you can manually download the parcel and configure a local parcel repository.

1. In the **Installers** list, click the parcel name to view it’s details—including the logs generated during the creation process.

<Frame>
  <img src="https://mintcdn.com/anaconda-29683c67/GAawxvWy-HUVSCqf/images/parcel-URL.png?fit=max&auto=format&n=GAawxvWy-HUVSCqf&q=85&s=2644d8359a91760d8efff72d34505a69" alt="" width="2676" height="1492" data-path="images/parcel-URL.png" />
</Frame>

2. Depending on the version of CDH you are using (see NOTE above), either copy the path to the parcel or download the parcel installer.
3. *From the Cloudera Manager Admin Console*, click the **Parcels** indicator in the top navigation bar.
4. Click the **Configuration** button on the top right of the **Parcels** page to display the **Parcel Settings**.

<Frame>
  <img src="https://mintcdn.com/anaconda-29683c67/SgtHPGS_3WUV3NOk/images/remote-parcel-repo.png?fit=max&auto=format&n=SgtHPGS_3WUV3NOk&q=85&s=715dc559084f4c0f93abe4c3f0fb48f9" alt="" width="2410" height="1178" data-path="images/remote-parcel-repo.png" />
</Frame>

5. If you downloaded the parcel from AE in Step 2 above, copy it to the **Local Parcel Repository Path** you’ve configured for Cloudera Manager.

   —or—

   To configure AE as a remote parcel repository, add the URL you copied in Step 2 above to the **Remote Parcel Repository URLs** section and click **Save Changes**.

*If automatic downloading and distribution are not enabled*, go to the **Parcels** page and select **Distribute** to install the parcel across your CDH cluster. The custom-generated Anaconda parcel is now ready to use with Spark or other distributed frameworks on your Cloudera CDH cluster.

For more information, see [these instructions from Cloudera](https://www.cloudera.com/documentation/enterprise/5-15-x/topics/cm_ig_parcels.html#cmug_topic_7_11_5__section_sd4_bzx_bm).
