当前位置: 首页 > 知识库问答 >
问题:

我可以从AWS弹性Mapreduce作业访问zookeeper吗

楚奇逸
2023-03-14

我是Hadoop的新手,并且在AWS弹性MapReduce下运行。

我需要在Hadoop中使用集群范围的原子计数器,因此有人建议使用zookeeper。

我相信zookeeper是Hadoop堆栈的一部分(对吗?),我如何从弹性Mapreduce作业访问它,以便设置和更新集群范围内的计数器?

共有2个答案

訾俊名
2023-03-14

你可以,就像Praveen Sripati回答的那样。但我不想澄清以下几点:

  1. 请记住,zk的写入速率有限(每秒~300个请求)
  2. 客户端可以看到陈旧的数据(zk不保证副本之间的读取一致性)。

我建议使用专用的序列生成器服务器,它将为您生成序列(并且这个服务可以使用Zk或者它想要的任何东西)。这类服务的一个示例:https://github.com/kasabi/h1

周正真
2023-03-14

我相信zookeeper是Hadoop堆栈的一部分(对吗?)

ZooKeeper(ZK)不是Hadoop堆栈的一部分。它是Apache下的顶级项目(TLP),独立于Hadoop。因此,首先必须在EC2上安装ZK。下面是相同的说明。

如何从弹性Mapreduce作业访问它以设置和更新群集范围内的计数器?

一旦安装了ZK,就可以使用ZK API生成集群范围的计数器。这里(1和2)讨论了该方法的利弊。以下是ZK在相同需求下的一些其他替代方案。

 类似资料:
  • 问题内容: 我们有要与HDFS集成的特定算法。该算法要求我们在本地访问数据(该工作将专门在中完成)。但是,我们确实希望在分发文件方面(提供可靠性和条带化)利用HDFS。计算完成后,我们将使用来简单地将答案发送回去,而不是执行任何其他工作。避免使用网络是一个明确的目标。是否存在允许我们限制网络数据访问的配置设置,以便在启动MapReduce作业时仅访问其本地DataNode? 更新: 添加一些上下文

  • Amazon Elastic MapReduce (EMR)是一种Web服务,它提供了一个托管框架,以简单,经济高效且安全的方式运行Apache Hadoop,Apache Spark和Presto等数据处理框架。 它用于数据分析,Web索引,数据仓库,财务分析,科学模拟等。 如何设置Amazon EMR? 请按照以下步骤设置Amazon EMR - Step 1 - 登录AWS账户并在管理控制台

  • 问题内容: 我想在cookie中设置一些用户信息并能够在连接时访问它,这可能吗? 问题答案: 由于Cookie始终指向最后登录的用户,因此会导致竞争情况。 请参阅:Socket.IO身份验证 使用connect-redis并将redis用作所有经过身份验证的用户的会话存储。确保通过身份验证将密钥(通常是req.sessionID)发送给客户端。让客户端将此密钥存储在cookie中。 在套接字连接(

  • 如何从胶水作业中检索胶水工作流参数? 我有一个“Python Shell”类型的AWS胶水作业,它从胶水工作流中定期触发。 该作业的代码将在大量不同的工作流中重用,因此我希望检索工作流参数,以消除对冗余作业的需求。 AWS开发人员指南提供了以下教程:https://docs.AWS.amazon.com/glue/latest/dg/workflow-run-properties-code.htm

  • 我遇到了一个奇怪的问题,我向你保证我已经谷歌了很多次。 谢谢

  • 我正在评估Netty作为我们内部开发的网络堆栈的替代品和/或替代品。整体设计非常相似,除了一个问题外,很容易更换。 在我们的服务器进程中,我们有时需要直接访问SocketChannel,以便使用通道将数据发送到客户端。transferTo()我看不到访问Netty中SocketChannel的方法。例如,ChannelHandlerContext接口中没有任何内容。 我将开始挖掘源代码,但是有人知