0

我的环境:我正在尝试通过 Spark Thrift 服务器连接 Cassandra。然后我在 Hive Metastore 中创建一个包含 Cassandra 表数据的元表。在 Web 应用程序中,我通过 JDBC 驱动程序连接到 Meta-table。我为 Spark Thrift Server 启用了公平调度。

问题:当我通过 JMeter 对 100 个用户执行 300 秒的并发负载测试时,我得到初始请求的亚秒级响应时间(比如前 30 秒)。然后响应时间逐渐增加(如 2 到 3 秒)。当我检查 Spark UI 时,所有作业的执行时间都小于 100 毫秒。我还注意到收到请求时,作业和任务处于待处理阶段。所以我假设即使任务需要几秒钟的时间来执行,它们也会被调度程序延迟提交。如何解决作业提交中的这种延迟?

以下是我的配置详细信息,工作人员数量 - 2 每个工作人员的执行程序数量 - 1 每个执行程序的核心数量 - 14 工作人员的总核心 - 每个执行程序的 30 内存 - 20Gb 工作人员的总内存 - 106Gb

Fair Schedule XML 中的配置

<pool name="default">
    <schedulingMode>FAIR</schedulingMode>
    <weight>2</weight>
    <minShare>15</minShare>
  </pool>
  <pool name="test">
    <schedulingMode>FIFO</schedulingMode>
    <weight>2</weight>
    <minShare>3</minShare>
  </pool>

我在 Spark Standalone 模式下执行。

4

1 回答 1

0

当其他人正在运行时,队列中未决的查询是否不是这种情况。尝试减少 spark.locality.wait 说 1s

于 2018-11-14T16:39:33.400 回答