hama学习笔记(1)-配置和启动hama

Apache Hame是Google Pregel的开源实现,与Hadoop适合于分布式大数据处理不同,Hama主要用于分布式的矩阵、graph、网络算法的计算。

简单说,Hama是在HDFS上实现的BSP(Bulk Synchronous Parallel)计算框架,弥补Hadoop在计算能力上的不足。

关于bsp计算模型:

http://ieeexplore.ieee.org/xpls/abs_all.jsp?arnumber=375451&tag=1

http://en.wikipedia.org/wiki/Bulk_synchronous_parallel

关于hama和bsp的架构和编程方法,参考hama文档:

http://hama.apache.org/hama_bsp_tutorial.html

北交的一篇硕士学位论文第二、第三章部分也介绍了hama的架构:

http://cdmd.cnki.com.cn/Article/CDMD-10004-1012355651.htm

[引用请注明原文: http://blog.csdn.net/bhq2010/article/details/8510201]

下载Hama:

http://hama.apache.org/downloads.html

下载0.6.0版的binary包,解压后得到hama-0.6.0目录,记作HAMA_HOME

配置Hama:

Hama可以有三种工作模式:单机、分布式、伪分布式模式

hama的配置文件在HAMA_HOME/conf目录下,有:

hama-env.sh:该文件中包含了hama守护进程所用的环境变量,其中的JAVA_HOME环境变量是必须设置的,使其指向1.5以上版本的JDK的安装目录;

groomservers:该文件中列出了groomserver守护进程所在的节点,每个一行;

hama-default.xml:该文件包含了hama守护进程的默认设置,该文件无需更改;

hama-site.xml:该文件包含了特定hama守护进程和bsp job的设置,配置hama时,将需要的设置写在这里,可以覆盖hama-default.xml中的设置,该文件的一个官方的示例如下:

  <?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>

启动hama

执行HAMA_HOME/bin目录下的start-bsp.sh脚本。

学习的时候在伪分布模式下运行就可以了,上述的配置文件中的地址都用localhost代替,zookeeper配置项省略,先启动hdfs再启动hama.

通过http://localhost:40013可以查看hama的状态

注意:

1、伪分布用localhost如果不行的话,要看一下hadoop的配置文件,

fs.default.name
这一项要和hadoop的配置一致。

2、注意hadoop的版本要和HAMA_HOME/lib中的hadoop-core jar包的版本一致,不然即使能正常启动hama,也可能会在运行hama作业时出错(如:老版本的hadoop可能缺少hama所需的一些类或者方法)

[引用请注明原文:http://blog.csdn.net/bhq2010/article/details/8510201]

你可能感兴趣的:(hama学习笔记(1)-配置和启动hama)