Getting Started with Hama

This document describes how to install, configure and manage Hama clusters ranging from a few nodes to extremely large clusters with thousands of nodes.

Requirements

1. Make sure all required software is installed on all nodes in your cluster:

2. Download Hama from the release page.

For additional information consult our Compatibility Table

Mode

Just like Hadoop, we distinct between three modes:

Configuration Files

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

Startup Scripts

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

Note: You have to start Hama with the same user which is configured for Hadoop.

Setting up Hama

Here's 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>host1.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://host1.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>host1.mydomain.com,host2.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>

If you are managing your own ZooKeeper, you have to specify the port number as below:

  <property>
    <name>hama.zookeeper.property.clientPort</name>
    <value>2181</value>
  </property>

See all Configuration Properties

Starting a Hama cluster

NOTE: Skip this step if you're in Local Mode.
Run the command:

  % $HAMA_HOME/bin/start-bspd.sh

This will startup a BSPMaster, GroomServers and Zookeeper on your machine.

Run the command:

  % $HAMA_HOME/bin/stop-bspd.sh

to stop all the daemons running on your cluster.