Skip to content

Hybrid Deployment (OpenStack & bare metal)

andrzej maczuga edited this page Jun 14, 2016 · 24 revisions

Beta version.

Hybrid installation (OpenStack & bare-metal)

This wiki page describes necessary steps to deploy TAP in a hybrid configuration. Cloud Foundry part is deployed on OpenStack and Hadoop cluster is deployed on bare-metal.

Prerequisites

Preparations specific for bare-metal hosts

  • Install CentOS 6.7 x86_64 on 6 hosts (default layout: 3 workers + 3 masters)
  • Make sure you have sufficient amount of memory and disk space:
  • hdd: 100GB root, 2x >=70GB for data (depends on specific usage)
  • ram: >=16GB
  • Configure 2 paths for data:
  • there should be separate mountpoints for better performance (ex. /data0 and /data1)
  • if not, may be any dir, but separate for each datapath
  • format with ext3 and mount datapaths (add to /etc/fstab as well)
  • Disable firewall on hosts
  • All nodes should have primary IP address assigned to eth0 device, networking shouldn't be managed by NetworkManager
  • Check network connectivity between hosts
  • Setup working dns and ntp
  • Create centos user and add deployment public ssh key to /home/centos/.ssh/authorized_keys. The same keys pair need to be used in cdh_key_path and cdh_public_key_path in terraform.tfvars file.
  • Add user centos to sudo without password using visudo command: centos ALL=(ALL) NOPASSWD: ALL

Changes in deployment

Use general deployment procedure for OpenStack(refer to: https://github.com/trustedanalytics/platform-wiki/wiki/Platform%20Deployment%20on%20OpenStack#configuration-steps-for-new-deployment) with changes as described below.

Steps after make update and editing terraform.tfvars and platform-ansible/defaults/env.yml

  • Set IPs for workers and masters in terraform.tfvars. IPs are separated by commas.
hybrid_cdh_masters="10.0.0.1,10.0.0.2,10.0.0.3"
hybrid_cdh_workers="10.0.0.4,10.0.0.5,10.0.0.6"
  • Set CDH subnet in terraform.tfvars
hybrid_cdh_cidr="10.0.0.0/24"
  • Set mountpoints in platform-ansible/defaults/cdh.yml

Edit platform-ansible/defaults/cdh.yml and add your data mountpoints do cdh_storage_paths variable.

Do not add leading slash.

Example for mountpoints /zpool/data0 and /zpool/data1:

cdh_storage_paths: ['zpool/data0','zpool/data1']

Now you can run:

make hybrid
make plan
make apply
  • Start another terminal and login to cdh-launcher host (IP can be found in Horizon) as centos user using ssh key defined in terraform
  • Go to
~/ansible-cdh/platform-ansible/
  • Check if inventory/cdh file is set correctly with your hosts.
  • Launch CDH installation (screen or tmux would help to keep session alive)
bash bin/bare_metal_install.sh

Now Cloudera should be installed in next 2-3h (depends on hosts/network performance)

  • Return to first terminal and run:
make provision

Now CloudFoundry should be installed in next 1-2h (depends on hosts/network performance)

  • When both command are finished successfully run:
make route

Now you are ready to perform next steps from "Set up bosh deployment" section (from standard installation process documentation) to the point where Apps will be pushed

Clone this wiki locally