Kaa releases
Skip to end of metadata
Go to start of metadata

This guide will help you set up the development environment necessary for installing Kaa and programming Kaa applications.

Third-party components

You can find the full list of third-party components used in Kaa at Third-party components.

Installing system components

Depending on what operating system you use, proceed as follows:

  1. Install Apache Maven by executing the following command.

  2. Install MongoDB by executing the following command.

  3. Install PostgreSQL by executing the following command.

  4. Install Apache ZooKeeper by executing the following command.

  5. Install Vagrant (preferably, version 1.6.3) from the official web site https://www.vagrantup.com/downloads.html.
  6. Install the latest Java, as illustrated by the following example for Java 7.

Install the following components as described on their official web sites for your operating system.
Maven - http://maven.apache.org/
MongoDB - https://www.mongodb.org/
PostgreSQL - http://www.postgresql.org/
Zookeeper - http://zookeeper.apache.org/

NOTE: For Windows, set the default java encoding to UTF-8 by setting the JAVA_TOOL_OPTIONS environment variable to -Dfile.encoding=UTF8.

Installing components for C++ client

To use C++ clients in your Kaa instance, you need to install the components described in this section.

NOTE: Currently C++ clients can be built only on Unix-type systems.

C++ system components

Ensure that the following C++ components are installed.

Recommended version
CompilerC++11 standard supportg++ 4.7
Build systemCMakecmake 2.8.8+

Third party components

The following third party libraries are required for Kaa installation.

LibraryLinkRequired version

To install these components, proceed as follows.

  1. Install the libbz2-dev and zlib1g-dev libraries by executing the following command.

  2. Install the Boost libraries (Kaa client requires log, system, and unit_test_framework libraries) either automatically or manually.


    If Boost-1.55.0 version is not available in your OS package repository, you need to install it manually.

    1. For automatic installation, execute the following commands.

    2. For manual installation, refer to the following example.

  3. Install the AvroC++ library manually as illustrated in the following example.

  4. Install the Botan library by executing the following command.

Fetching source code

It is allowed to use any Git client to fetch the source code from the repository.

Set up your Git configuration (at least the username and email) and then proceed as follows:

  1. Check your current settings.

    Skip the next step if these parameters are correct.

  2. Reset parameters.

  3. Fetch the source code.

    where <path_to_the_repository> is TODO

Kaa project structure looks as follows:

Building project

Assuming that you are in the root directory of the project, run the mvn clean install from the command line.

Alternatively, each part of the project can be built separately invoking maven build in the corresponding directory.

Use -Dmaven.test.skip=true trigger to disable unit and integration tests.
The C++ client build is held in a separate maven profile named compile-client-cpp (Maven command: mvn clean install -P compile-client-cpp).

Setting up Kaa infrastructure

  1. Start MongoDB.

  2. Start ZooKeeper.

  3. Install Kaa Control, Bootstrap and Operations servers.

  4. Clear logs.

  5. Start services.

  6. Load test data.

  7. Generate Java SDK.

  8. Generate the client's SDK using PRS CLI.

Kaa property files

After Kaa installation on Ubuntu/Debian OS (deb packages), configuration files for each Kaa component will be extracted into the

/usr/lib/kaa-{component-name}/conf or /etc/kaa-{component-name}/conf directories.

Database properties

The default MongoDb properties file conf/mongo.properties looks as follows:

Control server

The default Control server properties file conf/control-server.properties looks as follows:

Bootstrap server

The default Bootstrap server properties file conf/bootstrap-server.properties looks as follows:

Operations server

The default Operations server properties file conf/operations-server.properties looks as follows:

Web UI

The default web UI properties file conf/admin-server.properties looks as follows:

Further reading

Use the following guides and references to make the most of Kaa.

GuideWhat it is for
SandboxUse this guide to try out Kaa in a private environment with demo applications.
Installation guideUse this guide to install and configure Kaa on a single node or as a cluster.
Design referenceUse this reference to learn about features and capabilities of Kaa.
Programming guideUse this guide to create your own Kaa applications.

Copyright © 2014, CyberVision, Inc.

  • No labels