Hama is a distributed computing framework based on BSP (Bulk Synchronous Parallel) computing techniques for massive scientific computations.

Requirements

Startup script

The $HAMA_HOME/bin directory contains some script used to start up the Hama daemons.

Configuration files

The $HAMA_HOME/conf directory contains some configuration files for Hama. These are:

Setting up Hama

This section describes how to get started by setting up a Hama cluster. An example of a hama-site.xml file:
<!--?xml version="1.0"?-->
<!--?xml-stylesheet type="text/xsl" href="configuration.xsl"?-->
<configuration>
  <property>
    <name>bsp.master.address</name>
    <value>mydomain.com:40000</value>
    <description>The address of the bsp master server. Either the
    literal string "local" or a host:port for distributed mode
    </description>
  </property>
  
  <property>
    <name>fs.default.name</name>
    <value>hdfs://mydomain.com:9000/</value>
    <description>
      The name of the default file system. Either the literal string
      "local" or a host:port for HDFS.
    </description>
  </property>
  
  <property>
    <name>hama.zookeeper.quorum</name>
    <value>mydomain.com</value>
    <description>Comma separated list of servers in the ZooKeeper Quorum.
    For example, "host1.mydomain.com,host2.mydomain.com,host3.mydomain.com".
    By default this is set to localhost for local and pseudo-distributed modes
    of operation. For a fully-distributed setup, this should be set to a full
    list of ZooKeeper quorum servers. If HAMA_MANAGES_ZK is set in hama-env.sh
    this is the list of servers which we will start/stop zookeeper on.
    </description>
  </property>
</configuration>

Starting a Hama cluster

Run the command:
  # $HAMA_HOME/bin/start-bspd.sh
This will startup a BSPMaster, GroomServers and Zookeeper on your machine.

Stopping a Hama cluster

Run the command:
  # $HAMA_HOME/bin/stop-bspd.sh
to stop all the daemons running on your cluster.

Run the BSP Examples

Run the command:
  # $HAMA_HOME/bin/hama jar hama-0.2.0-examples.jar pi or test