Repository Summary
Checkout URI | https://gitlab.com/OvGU-ESS/cassandra_ros.git |
VCS Type | git |
VCS Version | master |
Last Updated | 2015-11-01 |
Dev Status | MAINTAINED |
Released | UNRELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Packages
Name | Version |
---|---|
cassandra_ros | 0.0.3 |
README
cassandra_ros
Library and tools for dynamically storing ROS messages in Apache Cassandra.
Authors | André Dietrich & Sebastian Zug |
Source |
git clone https://gitlab.com/OvGU-ESS/cassandra_ros.git |
dietrich@ivs.cs.uni-magdeburg.de & zug@ivs.cs.uni-magdeburg.de | |
Publication | ROS Meets Cassandra: Data Management in Smart Environments with NoSQL |
http://eos.cs.ovgu.de/wp-content/uploads/2014/09/ROS-Meets-Cassandra-Data-Management-in-Smart-Environments-with-NoSQL.pdf | |
Slides | http://eos.cs.ovgu.de/wp-content/uploads/2015/06/sozi-presentation.svg |
Overview
This package provides an interface to the Cassandra database system, which can be used to store any types of ROS-messages in column families, similar to MongoDB. But in contrast to MongoDB you are able to choose the format you would like to store your messages. You can choose between various formats and thus, explore your data afterwards by using Cassandra’s CQL capabilities.
Media
Installation
First of all you need to download and install CassandraDB manually form apache:
http://cassandra.apache.org/download/
Then change the Cassandra partitioner to “ByteOrdered”, which can be set in
cassandra-install/conf/cassandra.yaml
search for section partitioner and change it to the following:
partitioner: org.apache.cassandra.dht.ByteOrderedPartitioner
ByteOrdered partitioner is required to retrieve requested data ordered, otherwise it will appear. For more information, have look on the documentation on http://docs.datastax.com/en/cassandra/2.0/cassandra/architecture/architecturePartitionerAbout_c.html
Secondly, you will have to install pycassa, an python interface for CassandraDB. The project is hosted on:
pycassa.github.com/pycassa/
All information including installation, documentation, or a tutorial, are there available.
First run
First of all you will need start Cassandra, what is done in most cases by going into the folder, where Cassandra was installed and than by typing in:
$ bin/cassandra -f
The option -f hinders Cassandra to start a deamon in backgroud, for more information and help visit : http://wiki.apache.org/cassandra/GettingStarted
We added three simple launch-files, with which you can test, if your installation was successful. You will need a webcam to run these examples, camera-settings can be changed in the launch-file. First of all run
$ roslaunch cassandra_ros recordCamera.launch
a window with the camera-stream should appear, furthermore this starts cassandraBag.py, a service which stores this stream in a CassandraDB. If you abort, recording will stop automatically. If this does not work, or you see the message:
Not starting RPC server as requested. Use JMX (StorageService->startRPCServer())
or nodetool (enablethrift) to start it ...
then simply run:
$ sudo nodetool (enablethrift)
By running:
$ roslaunch cassandra_ros replayCamera.launch
the previous recorded stream will be replayed. If you could see yourself, everything seems to be correct installed and configured. By running:
``` bash $ roslaunch cassandra_ros deleteCamera.launch
File truncated at 100 lines see the full file