Anaconda Platform Documentation Release 5.2.3
Total Page:16
File Type:pdf, Size:1020Kb
Anaconda Platform Documentation Release 5.2.3 Anaconda Inc. Jul 19, 2019 CONTENTS 1 Installing Anaconda Enterprise3 2 Configuring Anaconda Enterprise 59 3 Getting started 139 4 Reference materials 217 i ii Anaconda Platform Documentation, Release 5.2.3 Anaconda Enterprise is an enterprise-ready, secure and scalable data science platform that empowers teams to govern data science assets, collaborate and deploy data science projects. With Anaconda Enterprise, you can: • Develop: ML/AI pipelines in a central development environment that scales from laptops to thousands of nodes • Govern: Complete reproducibility from laptop to cluster with the ability to configure access control • Automate: Model training and deployment on scalable, container-based infrastructure CONTENTS 1 Anaconda Platform Documentation, Release 5.2.3 2 CONTENTS CHAPTER ONE INSTALLING ANACONDA ENTERPRISE When you initially install Anaconda Enterprise, you can install it on one to five nodes. You are not bound to that initial configuration, however. After completing the installation, you can add or remove nodes on the cluster as needed, including GPUs. When you’ve determined an initial topology for your cluster, follow this high-level process to install Anaconda Enter- prise: 1.1 Installation requirements For your Anaconda Enterprise installation to complete successfully, your systems must meet the requirements outlined below. The installer performs pre-flight checks, and only allows installation to continue on nodes that are configured correctly, and include the required kernel modules. If you want to perform the system check yourself, before in- stallation, you can run the command on your intended master and worker nodes after you download and extract the installer. When you initially install Anaconda Enterprise, you can install the cluster on one to five nodes. You are not bound to that initial configuration, however. After completing the installation, you can add or remove nodes on the cluster as needed. For more information, see Adding and removing nodes. A rule of thumb for determining how to size your system is 1 CPU, 1GB of RAM and 5 GB of disk space for each project session or deployment. For more information about sizing for a particular component, see the following minimum requirements: • Hardware requirements • Disk IOPS requirements 3 Anaconda Platform Documentation, Release 5.2.3 • Storage and memory requirements • Operating system requirements • Security requirements • Kernel module requirements • System control settings • GPU requirements • Network requirements • TLS/SSL certificate requirements • DNS requirements • Browser requirements To use Anaconda Enterprise with a cloud platform, refer to Cloud performance requirements for cloud-specific performance requirements. To use Spark Hadoop data sources with Anaconda Enterprise, refer to Installing Livy server for Hadoop Spark access and Configuring Livy server for Hadoop Spark access. To verify your systems meet the requirements, see Verifying system requirements. Hardware requirements The following are minimum recommended specifications for the master and worker nodes, as well as the entire cluster: Master node Minimum Recommended CPU 8 cores 16 cores RAM 16GB 32GB Disk space in /opt/anaconda 100GB 500GB* Disk space in /var/lib/gravity 200GB 300GB** Disk space in /tmp or $TMPDIR 30GB 30GB Worker nodes Minimum Recommended CPU 8 cores 16 cores RAM 16GB 32GB Disk space in /var/lib/gravity 200GB 200GB Disk space in /tmp or $TMPDIR 30GB 30GB Cluster totals Minimum CPU 16 cores RAM 32GB 4 Chapter 1. Installing Anaconda Enterprise Anaconda Platform Documentation, Release 5.2.3 *NOTES regarding the recommended disk space in /opt/anaconda: • This total includes project and package storage (including mirrored packages). • Currently /opt and /opt/anaconda must be an ext4 or xfs filesystem, and cannot be an NFS mount- point. Subdirectories of /opt/anaconda may be mounted through NFS. See Mounting an NFS share for more information. • If you are installing Anaconda Enterprise on an xfs filesystem, it needs to support d_type to work properly. If your XFS filesystem has been formatted with the -n ftype=0 option, it won’t support d_type, and will therefore need to be recreated using a command similar to the following before installing Anaconda Enterprise: mkfs.xfs-n ftype=1/path/to/your/device **NOTES regarding the recommended disk space in /var/lib/gravity: • This total includes additional space to accomodate upgrades, and is recommended to have available during installation as it can be difficult to add space after the fact. • We strongly recommend that you set up the /opt/anaconda and /var/lib/gravity partitions using Logical Volume Management (LVM), to provide the flexibility needed to accomodate easier future expansion. To check the number of cores, run nproc. Disk IOPS requirements Master and worker nodes require a minimum of 3000 concurrent input/output operations per second (IOPS)–fewer than 3000 concurrent IOPS will fail. Cloud providers report concurrent disk IOPS. Hard disk manufacturers report sequential IOPS, which are different than concurrent IOPS. On-premises installations require servers with disks that support a minimum of 50 sequential IOPS, typically 7200 revolutions per minute (RPM) disks or faster. Storage and memory requirements Approximately 30GB of available free space on each node is required for the Anaconda Enterprise installer to tem- porarily decompress files to the /tmp directory during the installation process. If adequate free space is not available in the /tmp directory, you can specify the location of the temporary directory to be used during installation by setting the TMPDIR environment variable to a different location. EXAMPLE: sudo TMPDIR=/tmp2./gravity install 1.1. Installation requirements 5 Anaconda Platform Documentation, Release 5.2.3 NOTE: When using sudo to install, the temporary directory must be set explicitly in the command line to preserve TMPDIR. The master node and each worker node all require a temporary directory of the same size, and should each use the TMPDIR variable as needed. To check your available disk space, use the built-in Linux df utility with the -h parameter for human readable format: df -h /var/lib/gravity df -h /opt/anaconda df -h /tmp # or df -h $TMPDIR To show the free memory size in GB, run: free-g Operating system requirements • Anaconda Enterprise cannot be installed with heterogeneous versions in the same cluster. Before installing, verify that all cluster nodes are operating the same version of the OS. Anaconda Enterprise currently supports the following Linux versions: – RHEL/CentOS 7.2, 7.3, 7.4, 7.5 – Ubuntu 16.04 – SUSE 12 SP2, 12 SP3 Requirement: Set DefaultTasksMax=infinity in /etc/systemd/ system.conf. – Hosted vSphere, such as Rackspace or OVH To find your operating system version run cat /etc/*release* or lsb-release -a. • Optionally create a new directory and set TMPDIR. User 1000 (or the UID for the service account) needs to be able to write to this directory. This means they can read, write and execute on the $TMPDIR. For example, to give write access to UID 1000, run the following command: sudo chown 1000 -R $TMPDIR Security requirements • Verify you have sudo access. • Make sure that the firewall is permanently set to keep the required ports open, and will save these settings across reboots. Then restart the firewall to load these settings immediately. Various tools may be used to configure firewalls and open required ports, including iptables, firewall-cmd, susefirewall2, and others. 6 Chapter 1. Installing Anaconda Enterprise Anaconda Platform Documentation, Release 5.2.3 For all CentOS and RHEL nodes: • Ensure that SELinux is not in enforcing mode, by either disabling it or putting it in permissive mode in the /etc/selinux/config file. After rebooting, run the following command to verify that SELinux is not being enforced: ~]~ getenforce The result should be either Disabled or Permissive. Kernel module requirements The Anaconda Enterprise installer checks to see if the following modules required for Kubernetes to function properly are present, and alerts you if any are not loaded: Linux Distribution Version Modules CentOS 7.2 bridge, ebtables, iptable_filter, overlay RedHat Linux 7.2 bridge, ebtables, iptable_filter CentOS 7.3, 7.4, 7.5 br_netfilter, ebtables, iptable_filter, overlay RedHat Linux 7.3, 7.4, 7.5 br_netfilter, ebtables, iptable_filter, overlay Ubuntu 16.04 br_netfilter, ebtables, iptable_filter, overlay Suse 12 SP2, 12 SP3 br_netfilter, ebtables, iptable_filter, overlay Module Purpose name bridge Required for Kubernetes iptables-based proxy to work correctly br_netfilter Required for Kubernetes iptables-based proxy to work correctly overlay Required to use overlay or overlay2 Docker storage driver ebtables Required to allow a service to communicate back to itself via internal load balancing when nec- essary iptable_filter Required to make sure that the firewall rules that Kubernetes sets up function properly iptable_nat Required to make sure that the firewall rules that Kubernetes sets up function properly To check if a particular module is loaded, run the following command: lsmod| grep<module_name> If the command doesn’t produce any result, the module is not loaded. Run the following command to load the module: sudo modprobe<module_name> If your system does not load modules at boot, run the following—for each module—to ensure they are loaded upon reboot: sudo echo-e'<module_name>'>/etc/modules-load.d/<module_name>.conf 1.1. Installation