We recommend installing sahara in a way that will keep your system in a consistent state. We suggest the following options:
# yum install openstack-sahara
# sahara-db-manage --config-file /etc/sahara/sahara.conf upgrade head
# systemctl start openstack-sahara-all
# systemctl enable openstack-sahara-all
$ sudo apt-get install python-setuptools python-virtualenv python-dev
For Fedora:
$ sudo yum install gcc python-setuptools python-virtualenv python-devel
For CentOS:
$ sudo yum install gcc python-setuptools python-devel
$ sudo easy_install pip
$ sudo pip install virtualenv
$ virtualenv sahara-venv
This will install a python virtual environment into sahara-venv directory in your current working directory. This command does not require super user privileges and can be executed in any directory where the current user has write permissions.
$ sahara-venv/bin/pip install sahara
Or you can get a sahara archive from http://tarballs.openstack.org/sahara/ and install it using pip:
$ sahara-venv/bin/pip install 'http://tarballs.openstack.org/sahara/sahara-master.tar.gz'
Note that sahara-master.tar.gz contains the latest changes and might not be stable at the moment. We recommend browsing http://tarballs.openstack.org/sahara/ and selecting the latest stable release.
$ mkdir sahara-venv/etc
$ cp sahara-venv/share/sahara/sahara.conf.sample-basic sahara-venv/etc/sahara.conf
Make any necessary changes to sahara-venv/etc/sahara.conf. For details see Sahara Configuration Guide
The steps below are common to both the RDO and virtual environment installations of sahara.
...
[mysqld]
...
max_allowed_packet = 256M
Then restart the mysql server to ensure these changes are active.
$ sahara-venv/bin/sahara-db-manage --config-file sahara-venv/etc/sahara.conf upgrade head
$ sahara-venv/bin/sahara-all --config-file sahara-venv/etc/sahara.conf
openstack service create --name sahara --description \
"Sahara Data Processing" data-processing
openstack endpoint create --region RegionOne \
--publicurl http://10.0.0.2:8386/v1.1/%\(tenant_id\)s \
--adminurl http://10.0.0.2:8386/v1.1/%\(tenant_id\)s \
--internalurl http://10.0.0.2:8386/v1.1/%\(tenant_id\)s \
data-processing
Note
You must have installed the openstack-client package.
Sahara bundles default templates that define simple clusters for the supported plugins. These templates may optionally be added to the sahara database using a simple CLI included with sahara.
The default template CLI is described in detail in a README file included with the sahara sources at <sahara_home>/db/templates/README.rst but it is summarized here.
Flavor id values must be specified for the default templates included with sahara. The recommended configuration values below correspond to the m1.medium and m1.large flavors in a default OpenStack installation (if these flavors have been edited, their corresponding values will be different). Values for flavor_id should be added to /etc/sahara/sahara.conf or another configuration file in the sections shown here:
[DEFAULT]
# Use m1.medium for {flavor_id} unless specified in another section
flavor_id = 2
[cdh-5-default-namenode]
# Use m1.large for {flavor_id} in the cdh-5-default-namenode template
flavor_id = 4
[cdh-530-default-namenode]
# Use m1.large for {flavor_id} in the cdh-530-default-namenode template
flavor_id = 4
The above configuration values are included in a sample configuration file at <sahara_home>/plugins/default_templates/template.conf
The command to install all of the default templates is as follows, where $TENANT_ID should be a valid tenant id and the above configuration values have been set in myconfig:
$ sahara-templates --config-file /etc/sahara/sahara.conf --config-file myconfig update -t $TENANT_ID
Help is available from the sahara-templates command:
$ sahara-templates --help
$ sahara-templates update --help
Ensure that your operating system is not blocking the sahara port (default: 8386). You may need to configure iptables in CentOS and other Linux distributions to allow this access.
To get the list of all possible options run:
$ sahara-venv/bin/python sahara-venv/bin/sahara-all --help
Further, consider reading Getting Started for general sahara concepts and Provisioning Plugins for specific plugin features/requirements.