Thursday, December 5, 2013

Apache Camel meets Gora!

Introduction

 NoSQL and Big Data have definitely become two of the most popular buzzwords nowadays. And since one works with NoSQL databases can easily understand why this is. NoSQL databases come in different flavors that focus on specific areas and problems as it has been taught to us with the CAP theorem.

 This is also the reason we have ended up with so many of them already. Something that is both good and bad in the same time. From one point of view you have very specialized solutions to your problem but from another point of view, there are so many different servers and APIs that make your mind ready to blow-up some times.

And this is where Apache Gora comes into the rescue!

As described in the Apache Gora homepage :
The Apache Gora open source framework provides an in-memory data model and persistence for big data. Gora supports persisting to column stores, key value stores, document stores and RDBMSs, and analyzing the data with extensive Apache Hadoop™ MapReduce support. Gora uses the Apache Software License v2.0. Gora graduated from the Apache Incubator in January 2012 to become a top-level Apache project.
This description clearly points out, this extra step that I totally love in Gora, which is to integrate and support Apache Hadoop™ MapReduce. This feature from my point of view seems to combine in a beautiful way storage and processing under one library.

Exploring more Gora and trying to further learn the framework, I start working on an Apache Camel component for Gora. Trying this way to marry Apache Gora with another one of my ASF favorites.

Based on wikipedia entry :

Apache Camel is a rule-based routing and mediation engine which provides a Java object-based implementation of the Enterprise Integration Patterns using an API (or declarative Java Domain Specific Language) to configure routing and mediation rules. The domain-specific language means that Apache Camel can support type-safe smart completion of routing rules in an integrated development environment using regular Java code without large amounts of XML configuration files, though XML configuration inside Spring is also supported.
And from the marriage of the two, camel-gora component came in life!


Camel-Gora Component

Just the past week, or so, I have finished, and contributed back to the Apache community, the camel-gora component that I was working for a few days. The camel-gora component gives the ability to utilize Apache Gora through camel.

It is early work yet but you can get both the latest and the original source at the github repository while more informations about the contribution and its current state can be found at the CAMEL-4817 issue in Apache JIRA.

Finally as one can guess, documentation writing is not one of my favorites to do and yet is not ready. However this is a work in progress and I will try to finish as soon as possible. Therefore in the mean time you can refer for some usage examples in the form of tests here.

P.S I will try to keep examples updated to the reflect the latest changes and in a future post give some example uses and ideas for the component!



Friday, July 26, 2013

Installation USB flash drive for XenServer and/or Xen Cloud Platform(XCP)

In a previous post presented the oMiCloud and promised to write some guides to help towards setup of such a lab.

Atlas  (i.e the machine with  XenServer in my home lab) is an Intel NUC DC3217IYE and has no CD or DVD drives but  only USB ones. Therefore for the installation of XenServer, a USB flash drive has been used. I have used a Corsair Voyager 16GB disk but any USB flash drive with space more than a gigabyte would be fine.

Bellow are the steps of one can create and installation USB.
  1. Format your thumb drive using FAT32
  2. Use UNetbootin to burn the XenServer or XCP iso to your USB drive.
  3. Open your thumbdrive
  4. Rename the file syslinux.cfg to syslinux.cfg.bak
  5. Rename the folder boot/isolinux to boot/syslinux
  6. Rename the file boot/syslinux/isolinux.cfg to boot/syslinux/syslinux.cfg
  7. Rename the file boot/syslinux/isolinux.bin to boot/syslinux/syslinux.bin
This has successfully worked with:

 XenServer, versions 6.0, 6.1 & 6.2.
        and
 Xen Cloud Platform (XCP), versions  1.5  (beta) & 1.6.


NOTE for MacOSX users ...
  In the case of MacOSX  use "Disk Utility" to format your drive and create the required partition layout i.e set  "Partition Layout " to "1 Partition" and in the options do not forget to enable "Master Boot Record"

P.S 2  stay tuned in a next post I will go through the steps to install CloudStack management server.

Enjoy !!! 

Monday, July 22, 2013

The oMiCloud is here!

oMiCloud is the name of my home-lab!!!

And this post is all about it. Actually is a brief description and the specs of the  machines currently used.  

Well ... the  lab in present is based on just three machines.

 The first machine is the so called Cerberus. This machine purpose is twofold. The most important  role is to act as firewall, responsible to provide access to the 3rd party external users (i.e allow access to friends only). The second role is to host a small web server, used for management panels and a couple of funny private WIKI.

 Kerberos is a low power (in terms of electric consumption) but powerful SheevaPlug, and here is  the specs. 

 The second machine is Atlas.  This machine is the most powerful machine of the network so far. The whole cloud infrastructure is mainly based on Atlas. It is runs the open source Xen Cloud Platform  (XCP version 1.6) and is the main resource for CloudStack . Its actually the host of all the VMs run on the lab (at least for now).Atlas in an Intel Next Unit of Computing (NUC). To be more specific a  DC3217IYE with 16GB of RAM (i.e 2 X Corsair Vengeance 8BG SO-DIMMs) and 256GB SSD disk (i.e Plextor m5m SSD ).

 The third and the last (for now) machine of my home lab is MenippusMenippus is also a SheevaPlug, like Cerberus and its main purpose is monitoring (Zennos used so far). Stay there, watch the lab, and apply some cynic philosophy (mainly through alerts).

 Promise some guides and how-to will be follow in the next days in order to help all my Geeky friends build their own home-labs.

P.S well … there is also a Network attached storage (NAS) but nothing that  really worth mentioning further ... 

Thursday, July 11, 2013

Its a new start!

Its quite some time since I have blogged about anything and I think its time to start again from scratch!

Well ... this space aim to host my second attempt to blogging.

Welcome ...!!!