## 2 Hadoop: An Overview  
Hadoop is an open-source project from _Apache Software Foundation_. Its core consists of the MapReduce programming model implementation. This platform was created for solving the problem of processing very large amounts of data, a mixture of complex and structured data. It is used with predilection in the situation where data-analytics-based applications require a large number of computations have to be executed. Similar motivations can be found in related research efforts focused on the issue of effectively and efficiently managing large-scale data sets over _Grid environments_ (e.g., [19; 20; 21]). The key characteristic of Hadoop is represented by the property of enabling the execution of applications on thousands of nodes and peta-bytes of data. A typical enterprise configuration is composed by tens or thousands of physical or virtual machines interconnected through a fast network. The machines run a POSIX compliant operating system and a Java virtual machine. [PERSON] was the creator of the Hadoop framework, and two papers published by Google's researchers had decisive influence on his work: _The Google File System_[22] and _MapReduce: Simplified Data Processing on Large Clusters_[1]. In 2005, he started to use an implementation of MapReduce in _Nutch_[23], an application software for web searching, and very soon the project becomes independent from _Nutch_ under the codename _Hadoop_, with the aim of offering a framework for running many jobs within a cluster. The language used for the development of the Hadoop framework was Java. The framework is providing the users with a Java API for developing MapReduce applications. In this way, Hadoop becomes very popular in the community of scientists whose name is linked to the big data processing. _Yahoo!_ is an important player in this domain, this company having for a longer period a major role in the design and implementation of the framework. Another big player is Amazon [24], company currently offering a web service [25] based on Hadoop that is using the infrastructure provided by the _Elastic Compute Cloud--EC2_[26]. Meanwhile, Hadoop becomes very highly-popular, and, in order to sustain this allegation, it is sufficient just to mention the presence of other important players like _IBM_, _Facebook_, _The New York Times_, _Netflix_[27] and _Hulu_[28] in the list of companies deploying Hadoop-based applications. The Hadoop framework hides the details of processing jobs, leaving the developers liberty to concentrate on the application logic. The framework has the following characteristic features:  
1. _accessible_--it can be executed on large clusters or on Cloud computing services;
2. _robust_--it was designed to run on commodity hardware; a major aspect considered during its development was the tolerance to frequent hardware failures and crash recovery;
3. _scalable_--it scales easily for processing increased amount of data by transparently adding more nodes to the cluster;
4. _simple_--it allows developers to write specific code in a short time. There is quite a large application domain for Hadoop. Some examples include online _e_-commerce applications for providing better recommendations to clients looking after certain products, or finance applications for risk analysis and evaluation with sophisticated computational models whose results cannot be stored in a database. Basically, Hadoop can be executed on each major OS: _Linux_, _Unix_, _Windows_, _Mac OS_. The platform officially supported for production is _Linux_ only. The framework is implementing a master-slave architecture used both for distributed data storage and for distributed computing. Hadoop framework running on a completely-configured cluster is composed of a set of _daemons_ or _internal modules_ executed on various machines of the cluster. These daemons have specific tasks, some of them running only on a single machine, others having instances running on several machines.