-
Notifications
You must be signed in to change notification settings - Fork 8
Hybrid Deployment (OpenStack & bare metal)
Beta version.
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.
- OpenStack tenant with at least: 100vCPU, 328GB RAM, 1.5TB Storage
- Total of 9 floating IPs.
- Additional OpenStack requirements are listed here: https://github.com/trustedanalytics/platform-wiki/wiki/Platform-Deployment-on-OpenStack
- 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
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 updateand editingterraform.tfvarsandplatform-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