我正在研究BI流程,它将从cassandra读取数据,使用Map Reduce创建摘要并将其写回不同的键空间。在多节点Cassandra集群上运行猪
从单个节点开始,一切正常,但是当移动到多节点时,我不确定是否完全理解拓扑和配置。
我有一个3节点的设置。每个都有一个Cassandra节点(版本1.1.9),数据节点和任务跟踪器(版本0.20.2 + 923.421-CDH3U5)。 NameNode和作业跟踪器位于不同的服务器上。在这一点上,我正尝试从DataNode服务器运行Pig脚本。
我不确定的事情是猪参数PIG_INITIAL_ADDRESS。我假设查询将在所有Cassandra节点上运行,每个任务跟踪器只会查询本地Cassandra节点,并且reducer将处理任何重复项。基于这个假设,我认为PIG_INITIAL_ADDRESS应该是localhost。但在运行猪脚本时失败:
java.io.IOException异常:无法连接到服务器localhost:9160个
我的问题是 - 应该在初始地址是卡桑德拉节点中的任何一个,并且从Cassandra密钥分区完成群集上的分割映射(我将得到我需要的分布)? 如果我在哪里使用java map reduce,我还需要提供初始地址吗? 目前的实施是否假定猪正在从Cassandra节点运行?
谢谢杰里米!我查看了自述文件,这几乎是我已阅读的基础知识。我没有使用mange来运行集群,但仍然没有根据cassandra发行版获得集群上的地图分布...但是只是假设它是一种有用的魔法:) – 2013-02-22 08:37:09