【问题标题】:Hadoop on cassandra databasecassandra 数据库上的 Hadoop
【发布时间】:2013-01-27 11:20:42
【问题描述】:

我正在使用 Cassandra 来存储我的数据并使用 hive 来处理我的数据。 我有 5 台机器,我在上面设置了 cassandra,2 台机器用作分析节点(hive 运行的地方) 所以我想问的是,hive 是否只在两台机器(分析节点)上进行 map reduce 并将数据带到那里,或者它也将进程/计算移动到 5 个 cassandra 节点并在这些机器上处理/计算数据。(我知道在hadoop中,进程移动到数据而不是要处理的数据)。

【问题讨论】:

    标签: hadoop cassandra hive


    【解决方案1】:

    如果你有兴趣将 Hadoop 和 Cassandra 结合起来——第一个链接应该是围绕这个概念构建的 DataStax 公司。 http://www.datastax.com/ 他们用 cassandra 代替 HDFS 构建并支持 hadoop。 据我所知 - 他们确实有数据本地化:http://blog.octo.com/en/introduction-to-datastax-brisk-an-hadoop-and-cassandra-distribution/

    如果您针对 cassandra 运行 MapReduce,则有关于 Hadoop 和 Cassandra 数据局部性的好答案 Cassandra and MapReduce - minimal setup requirements

    关于您的问题 - 需要权衡: a) 如果您在单独的节点上运行 Hadoop / Hive,您会失去数据局部性,并且您的数据吞吐量会受到网络带宽的限制。
    b)如果您在与 cassandra 运行相同的节点上运行 hadoop / Hive - 您可以获得数据局部性,但 Hive 查询背后的 MapReduce 处理可能会阻塞您的网络(和其他资源),从而影响您从 cassandra 获得的服务质量。

    如果您的 cassandra 集群的性能至关重要,我的建议是使用单独的 hive 节点。
    如果您的 cassandra 主要用作数据存储并且不处理实时请求 - 那么在每个节点上运行 hive 将提高性能和硬件利用率。

    【讨论】:

      猜你喜欢
      • 2017-05-25
      • 1970-01-01
      • 2016-11-15
      • 2015-08-23
      • 1970-01-01
      • 2016-10-09
      • 2017-04-05
      • 2016-10-22
      • 2013-08-01
      相关资源
      最近更新 更多