You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 39 Next »

The following instructions cover four main steps for installing Ambari and HDP using VirtualBox and Vagrant:

  1. Install VirtualBox and Vagrant. (Installation needs to be done only once, unless you want to upgrade VirtualBox and/or Vagrant.)
  2. Start one or more Linux virtual machines. Each machine represents a node in a cluster.
  3. On one of the virtual machines, download, install, and deploy the version of Ambari you wish to use.
  4. Using Ambari, deploy the version of HDP you wish to use. 

Once VirtualBox and Vagrant are installed, steps 2 through 4 can be done multiple times to change versions, create a larger cluster, and so on.

Note: these steps have been tested on MacOS 10.11.6.

Terminology

A virtual machine, or VM, is a software program that exhibits the behavior of a separate computer and is capable of running applications and programs within its own environment.

A virtual machine is usually known as a guest. It runs within another computing environment, usually known as a host. Multiple virtual machines can exist within a single host at one time.

In the following examples, one or more virtual machines run on a host machine running OS X. OS X is the primary operating system. The virtual machines (guests) are installed under OS X. The virtual machines run Linux in separate environments on OS X. Thus, your Mac is the "host" machine, and the virtual machines that run Ambari and Hadoop are called "guest" machines.

Install VirtualBox and Vagrant

VirtualBox is a software virtualization package that installs on an operating system as an application. It allows you to run multiple virtual machines at the same time. In this Quick Start you will use VirtualBox to run Linux nodes within VirtualBox on OS X:

Vagrant is a tool that makes it easier to work with virtual machines. It helps automate the work of setting up, running, and removing virtual machine environments. Using Vagrant, you can install and run a preconfigured cluster environment with Ambari and the HDP stack.

  1. Download and install VirtualBox from https://www.virtualbox.org/wiki/Downloads. Note: as of 4/25/16 Vagrant doesn't work with the latest version of VirtualBox. We recommend installing an older (4.x) version of VirtualBox. This Quick Start has been tested on 4.3.34.

  2. Download and install Vagrant from https://www.vagrantup.com/downloads.html.
  3. Clone the ambari-vagrant GitHub repository into a convenient folder on your Mac. Navigate to the folder, and enter the following command from the terminal:

    git clone https://github.com/u39kun/ambari-vagrant.git
    

    The repository contains scripts for setting up Ambari virtual machines on several Linux distributions.

  4. Add virtual machine hostnames and addresses to the /etc/hosts file on your computer. The following command copies a set of host names and addresses from ambari-vagrant/append-to-etc-hosts.txt to the end of the /etc/hosts files:

    sudo -s 'cat ambari-vagrant/append-to-etc-hosts.txt >> /etc/hosts'
    
  5. Use the vagrant command to create a private key to use with Ambari:

    vagrant
    

    The vagrant command displays Vagrant command information, and then it creates a private key in the file ~/.vagrant.d/insecure_private_key.

Start Linux Virtual Machines

The ambari-vagrant directory (cloned from GitHub) contains several subdirectories, each for a specific Linux distribution. Each subdirectory has scripts and configuration files for running Ambari and HDP on that version of Linux.

To start one or more virtual machines:

  1.  Change your current directory to ambari-vagrant:

    cd ambari-vagrant
    

    If you run an ls command on the ambari-vagrant directory, you will see subdirectories for several different operating systems and operating system versions.

  2. cd into the OS subdirectory for the OS you wish to use. CentOS is recommended, because it is quicker to launch than other operating systems.

    The remainder of this example uses CentOS 7.0 . (To install and use a different version or distribution of Linux, specify the other directory name in place of centos7.0.)

    cd centos7.0
    

    Important: All VM vagrant commands operate within your current directory. Be sure to run them from the local (Mac) subdirectory associated with the VM operating system that you have chosen to use. If you attempt to run a vagrant command from another directory, it will not find the VM.

    Copy the private key into the directory associated with the chosen operating system.
    For this example, which uses centos7.0 , issue the following command:

    cp ~/.vagrant.d/insecure_private_key .
    
  3. (Optional) If you have at least 16 GB of memory on your Mac, consider increasing the amount of memory allocated to the VMs.
    Edit the following line in Vagrantfile , increasing allocated memory from 3072 to 4096 or more; for example:

    vb.customize ["modifyvm", :id, "--memory", 4096] # RAM allocated to each VM
    
  4. Every virtual machine will have a directory called /vagrant inside the VM. This corresponds to the ambari-vagrant/<os> directory on your local computer, making it easy to transfer files back and forth between your host Mac and the virtual machine. If you have any files to access from within the VM, you can place them in this shared directory.

  5. Start one or more VMs, using the ./up.sh command. Each VM will run one HDP node. Recommendation: if you have at least 16GB of RAM on your Mac and wish to run a small cluster, start with three nodes.

    ./up.sh <# of VMs to launch>
    

    For example, the following command starts 3 VMs:
    ./up.sh 3

    For CentOS 7.0, the associated hostnames will be c7001, c7002, and c7003. Note that the up.sh 3 command is equivalent to vagrant up c700{1..3}.

    Additional notes:
    - The default Vagrantfile (in each OS subdirectory) can create up to 10 virtual machines.
    - The fully-qualified domain name (FQDN) for each VM has the format <os-code>[01-10].ambari.apache.org, where <os-code> is c59 (CentOS 5.9), c64 (CentOS 6.4), etc. For example, c5901.ambari.apache.org will be the FQDN for node 01 running CentOS 5.9.
    - The IP address for each VM has the format 192.168.<os-subnet>.1[01-10], where <os-subnet> is 64 for CentOS 6.4, 70 for CentOS 7.0, and so on. For example, 192.168.70.101 will be the IP address for CentOS 7.0 node c7001.

  6. Check the status of your VM(s). The following example shows the results of ./upsh 3 for three VMs running with CentOS 7.0:

    LMBP:centos6.4 lkg$ vagrant status
    
    Current machine states:
    c7001                     running (virtualbox)
    c7002                     running (virtualbox)
    c7003                     running (virtualbox)
    c7004                     not created (virtualbox)
    c7005                     not created (virtualbox)
    c7006                     not created (virtualbox)
    c7007                     not created (virtualbox)
    c7008                     not created (virtualbox)
    c7009                     not created (virtualbox)
    c7010                     not created (virtualbox)

    In the preceding list, three virtual machines are installed and running.

Access Virtual Machines

Use the following steps when you want to access a running virtual machine:

  1. To log on to a virtual machine, use the vagrant ssh command; for example:

    vagrant ssh c7001
    
    LMBP:centos7.0 lkg$ vagrant ssh c7001
    Last login: Tue Jan 12 11:20:28 2016
    [vagrant@c7001 ~]$  

    From this point onward, this terminal window is connected to the virtual machine until you exit the virtual machine. All commands go to the VM, not to your Mac.

    Recommendation: Open a second terminal window for your Mac. This is useful when accessing the Ambari Web UI. To distinguish between the two, terminal windows typically list the computer name or VM hostname on each command-line prompt and at the top of the terminal window.

  2. When you first access the VM you will be logged in as user vagrant. Switch to the root user:

    [vagrant@c7001 ~]$ sudo su -
    
    Last login: Sun Sep 25 01:34:28 AEST 2016 on pts/0
    root@c7001:~#  

The following two subsections describe how to install Ambari and HDP components. If at any time you wish to return a terminal window to your host machine:

    1. Use the logout command to log out of root
    2. Use the exit command to return to your host machine (Mac)

At this point, the VMs are still running in the background. You can re-issue the vagrant ssh command later, to reconnect, or you can stop the virtual machines. For more information, see the Vagrant commands described later in this post.

Install Ambari on the Virtual Machines

Prerequisites: Before installing Ambari, the following software packages must be installed on your VM:

  • rpm

  • curl

  • wget

  • pdsh

  • ntpd?
  • scp?

On CentOS: to check if a package is installed, run yum info <package-name>. To install a package, run yum install <package-name>.

To install Ambari, complete the following steps.

  1. From the terminal window on the VM where you want to run the main Ambari service, download the Ambari repository. The following commands download Ambari version 2.4.1.0 and install ambari-server. To install a different version of Ambari, specify the appropriate repo URL. Choose the appropriate commands for the operating system on your VMs:

    OSCommands
    CentOS 6
    wget -nv http://public-repo-1.hortonworks.com/ambari/centos6/2.x/updates/2.4.1.0/ambari.repo -O /etc/yum.repos.d/ambari.repo 

    yum install ambari-server -y
    CentOS 7wget -nv http://public-repo-1.hortonworks.com/ambari/centos7/2.x/updates/2.4.1.0/ambari.repo -O /etc/yum.repos.d/ambari.repo

    yum install ambari-server -y
    Ubuntu 12
    wget -nv http://public-repo-1.hortonworks.com/ambari/ubuntu12/2.x/updates/2.4.1.0/ambari.list -O /etc/apt/sources.list.d/ambari.list

    apt-key adv --recv-keys --keyserver keyserver.ubuntu.com B9733A7A07513CAD
    apt-get update
    apt-get install ambari-server -y
     Ubuntu 14wget -nv http://public-repo-1.hortonworks.com/ambari/ubuntu14/2.x/updates/2.4.1.0/ambari.list -O /etc/apt/sources.list.d/ambari.list

    apt-key adv --recv-keys --keyserver keyserver.ubuntu.com B9733A7A07513CAD

    apt-get update

    apt-get install ambari-server -y
  2. To install Ambari with default settings, set up and start ambari-server:

    ambari-server setup -s
    ambari-server start

    For more information about installation options and settings, see Apache Ambari Installation.

  3. After Ambari Server has started, launch a browser on your host machine (Mac). Access the Ambari Web UI at http://<hostname>.ambari.apache.org:8080. The <hostname> part of the URL specifies the VM where you installed Ambari; for example:

    http://c7001.ambari.apache.org:8080

     Note: The Ambari Server can take some time to launch and be ready to accept connections. Keep trying the URL until you see the login page.

  4. Login using default username admin, password admin.

  5. On the welcome page, choose "Launch Install Wizard."

  6. Specify a name for your cluster, and then click Next.

  7. On the Select Version page, choose which version of HDP to install, and then click Next.

  8. On the Install Options page, list the FQDNs of the virtual machines. For example:

    c7001.ambari.apache.org
    c7002.ambari.apache.org
    c7003.ambari.apache.org
    

    Alternatively, you can use a range expression:

    c70[01-03].ambari.apache.org
    
  9. Upload the insecure_private_key file that you created earlier: browse to the ambari-vagrant directory, navigate to the operating system folder for your VM's, and choose the key file.

  10. Change the SSH User Account to vagrant.

  11. Click "Register and Confirm."

  12. On the Confirm Hosts page, select all hosts. Ambari displays installation status.
  13. Continue stepping through Installation Wizard, completing onscreen instructions. If you see the following message, click on the link to review warnings:
    Some warnings were encountered while performing checks against the 3 registered hosts above Click here to see the warnings.
    See the Troubleshooting section (later on this page) for more information.

  14. Click Next to continue.
  15. On the Choose Services page, unselect any components that you do not expect to use. If any are required for selected components, Ambari will request to add them back in.
  16. On the Assign Masters screen, choose hosts or simply click Next to use default values.
  17. On the Assign Slaves and Clients screen, choose hosts or simply click Next to use default values.
  18. On the Customize Services screen, review services with warning notes, such as Hive and Ambari Metrics in the following image:
    Specify property values as directed by the installation wizard, and then click Next.
  19. On the Review screen, review the service definitions, and then click Next.
  20. The Install, Start and Test page shows deployment status. This step takes several minutes.

Install the HDP Stack

Next, install HDP on your cluster.

http://docs.hortonworks.com/HDPDocuments/Ambari-2.2.1.0/bk_Installing_HDP_AMB/content/ch_Deploy_and_Configure_a_HDP_Cluster.html

Choose which HDP version,  Choose services, Assign master and slave processes, Customize services (here I assigned admin/admin to Hive and Oozie)

Timeline for installing HDP, and mac hardware

Troubleshooting

  • Ambari message about THPs? fix transparent huge page setting in /etc/rc.loca (CentOS7)
  • ntp not running / ntpd not installed?

If you see an error similar to the following on the Confirm Hosts page of the Ambari installation wizard, click the link to see the warnings:
     Some warnings were encountered while performing checks against the 3 registered hosts above. Click here to see the warnings.

On the Host Checks window, the following warning indicates that you need to start ntpd processes:


To do this, navigate to a terminal window for each VM (from your Mac, vagrant ssh <VM-name>), and issue the following commands:

service ntpd start
service ntpd status

You should see messages confirming that ntpd is running. Navigate back to the Host Checks window of the Ambari installation wizard and click Rerun Checks. When all checks complete successfully, click Close to continue the installation process.

Basic Vagrant Commands

The following table lists several common Vagrant commands. For more information, see Vagrant Command-Line Interface documentation.

CommandDescription
Create or rebuild a VM
vagrant up <vm-name>

Create and configure guest machines. Example: vagrant up c6406

up.sh is a wrapper for this call. You can use this command to start more VMs after you called up.sh.

Note: if you do not specify the <vm-name> parameter, Vagrant will attempt to start ten VMs.

Tear down a VM
vagrant suspend [<vm-name>]

Save the current running state of a VM and stop the VM. A suspend effectively saves the exact point-in-time state of a machine. When you issue a resume command, the VM begins running immediately from that point, rather than doing a full boot.

When you are ready to begin working with it again, run vagrant up. The machine will resume where you left off. The main benefit of suspend is that it is very fast; it usually takes only 5 to 10 seconds to stop and start your work. The downside is that the operation uses disk space for the VM and to store all VM state information (in RAM, when running) on disk.

Optional: Specify a specific VM to suspend.

vagrant halt <vm-name>Gracefully shut down the guest operating system and power down the VM. When you are ready to begin working with it again, use vagrant up. The main benefit of halt is that it cleanly shuts down your machine, preserves disk contents, and allows VMs to be cleanly started again. The downside is that it takes some time to restart the VM, and the guest machine still consumes disk space.
vagrant destroy -f [<vm-name>]

Remove all traces of the guest machine from your system. The destroy command stops the guest machine, powers it down, and removes all guest hard disks. When you are ready to begin working with it again, run vagrant up. The benefit of this all disk space and RAM consumed by the guest machine are reclaimed; your host machine is left clean. The downside is that the vagrant up operation will take extra time; rebuilding the environment takes the longest (compared with suspend and halt) because it re-imports and re-provisions the machine.

Optional: Specify a specific VM to destroy.

Connect to a VM
vagrant ssh <vm-name>

Starts a SSH session to the host.

Example: vagrant ssh c6401

Additional commands
vagrant status [<vm-name>]Shows which VMs are running, suspended, and so on.
vagrant snapshot

A Vagrant snapshot saves the current state of a VM so that you can restart the VM from the same point at a future time. Commands include push, pop, save, restore, list, and delete. For more information, see https://www.vagrantup.com/docs/cli/snapshot.html.

Note: Upon resuming a snapshot, you may find that time-sensitive services such as the (HBase RegionServer) may be down. If this happens, you will need to restart those services.

vagrant --helpList information about Vagrant commands.

Recommendation: After you start the VMs--but before you run anything on the VMs–save a snapshot.  This allows you to restore the initial state of your VMs. This process is much faster than starting the VMs from scratch and then reinstalling Ambari and HDP. You can return to the initial state without destroying other named snapshots that you create later.

More information: https://www.vagrantup.com/docs/getting-started/teardown.html

 

 

  • No labels