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:


NOTE: We also support the Mesos and Yet Another Resource Negotiator (YARN), so you're able to submit your BSP applications to the existing open source and enterprise clusters e.g., CDH, HDP, and Mesosphere without any installation.


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.