我在这里描述的纱线上运行一个flink作业。 我可以使用上述参数设置纱线节点/任务管理器的数量。但是我想知道是否可以设置每个任务管理器的任务槽数。当我使用并行()参数时,它只设置整体并行度。任务槽的数量是通过将此值除以提供的任务管理器的数量来计算的。我尝试使用动态属性()参数,该参数应该“允许用户指定额外的配置值”,如下所示: 但这不会覆盖中给出的值。在flink上运行单个任务时,是否有任何方法可
在Flink中,像“平面地图”、“地图”等运算符称为任务,如果我将平面地图的并行度设置为30,那么这个任务有30个子任务。 现在,如果我只有一个插槽,它会在一个插槽中产生多个线程吗?还是每个插槽只有一个线程? Flink会在该插槽中简单地创建30个线程,还是使用类似线程池的东西? 以上不是一个恰当的例子。 假设在作业中我有操作符flatMap和map,它们都有并行度1,我只有一个插槽,这个插槽会创
接收器的方法似乎没有办法使异步io?例如返回? 例如,redis连接器使用jedis lib同步执行redis命令: https://github.com/apache/bahir-flink/blob/master/flink-connector-redis/src/main/java/org/apache/flink/streaming/connectors/redis/RedisSink.j
我想从我的数据库中选择值,但我得到了错误 我不知道我的代码哪里错了。。这是我在dbHelper中的代码。 我想在其他类中得到值。我使用这个代码。 有人能帮我吗?我真的需要解决办法,请帮帮我。。谢谢当做
我试图配置水槽与HDFS作为汇。 这是我的flume.conf文件: 我的hadoop版本是: 水槽版本是: 我已将这两个jar文件放在flume/lib目录中 我将hadoop common jar放在那里,因为在启动flume代理时出现以下错误: 现在代理开始了。这是启动日志: 但是当一些事件发生时,下面的错误出现在水槽日志中,并且没有任何东西被写入hdfs。 我缺少一些配置或jar文件?
我使用的API接受单个AKKA接收器,并用数据填充: 有没有一种方法,在不深入阿卡的深度的情况下,用两个汇而不是一个汇来处理输出? 例如 如果我可以访问方法使用的Flow,我可以使用,但流不会公开。 目前唯一的解决方法是将一个处理字符串的水槽传递给两个StringBuilder,以替换,但这似乎违背了AKKA的观点。如果不花几天时间学习AKKA,我就不知道是否有办法将输出从接收器中分离出来。 谢谢
如果有一个3节点集群,并且numworkers=3,并且组合并行度=9(3个喷口+2 x 3个螺栓),那么有没有任何方法可以确定执行器是如何分组的?我读到默认调度程序以循环方式平均分配负载。这是否意味着所有的工作人员都将有一个实例:s->b1->B2执行器?
我在一个PostgreSQL实例上收到一个错误“剩余的连接插槽保留给非复制超级用户连接”。 然而,当我从超级用户运行下面的查询来检查可用的连接时,我发现有足够的连接可用。但仍然得到同样的错误。 输出 我搜索了这个错误,每个人都建议增加最大连接数,如下面的链接。Heroku“psql:FATAL:剩余的连接插槽保留给非复制超级用户连接” 编辑 我重新启动了服务器,一段时间后使用的连接数接近210,但
代理代码如下:
我正在尝试使用flink,以流式和批处理的方式,将大量数据添加到Accumulo中(每分钟几百万个)。我想在将记录发送到accumulo之前对其进行批处理。我从目录或通过kafka摄取数据,使用flatmap转换数据,然后传递给RichSinkFunction,它将数据添加到集合中。 对于流数据,批处理似乎可以,因为我可以将记录添加到固定大小的集合中,一旦达到批处理阈值,这些记录就被发送到accu
我们有一个带有操作的管道,分成两个工作负载-在第一组中,是CPU密集型的工作负载,它们被放入同一个插槽共享组,比方说。和,因为它使用大容量上载并在内存中保存大量数据。它被发送到插槽共享组。 此外,工作负载和工作负载的并行度级别不同,因为第一个工作负载受源并行度的限制。例如,我们的并行度为50,同时并行度等于78。我们有8个TMs,每个有16个内核(因此也有插槽)。 在这种情况下,理想的插槽分配策略
我的flink作业到现在为止对客户端id执行KeyBy操作,并使用窗口操作符累积1分钟的数据,然后聚合数据。聚合之后,我们将这些累积的数据存储在hdfs文件中。唯一密钥(客户端id)的数量每天超过7000万。 问题是,当我们做keyBy时,它会在集群上分发数据(我的假设),但我希望数据在同一个插槽(或节点)上聚集1分钟,用于传入事件。 注意:在接收器中,我们可以在1分钟窗口内为同一客户端提供多个数
几天来,我一直在探索Apache Flink,我对任务槽的概念有些怀疑。虽然有人问了几个问题,但有一点我不明白。 我正在使用一个toy应用程序进行测试,运行一个本地集群。我已禁用操作员链接 我从文档中知道插槽允许内存隔离而不是CPU隔离。阅读文档,任务槽似乎是一个Java线程。 1)当我以并行度=1部署我的应用程序时,所有运算符的子任务都部署在同一个插槽中。但是,如果我从的方法打印当前线程ID,我
关于Flink上允许优化集群中资源使用的功能(延迟、吞吐量...),即插槽共享、任务链、异步i/o和动态扩展,我想问以下问题(都在流处理上下文中): > 在哪些情况下,有人会对任务管理器中的槽数高于cpu内核数感兴趣? 在哪种情况下,我们应该在多个插槽上拆分任务管道(禁用插槽共享),而不是增加并行性,以便应用程序跟上传入的数据速率? 是否有可能,即使在使用上述所有功能时,为插槽保留的资源也可能高于
我有一个Flink 1.11作业,它使用来自Kafka主题的消息,键入它们,过滤它们(keyBy后跟自定义ProcessFunction),并通过JDBC接收器将它们保存到db中(如下所述:https://ci.apache.org/projects/flink/flink-docs-release-1.11/dev/connectors/jdbc.html) Kafka消费者使用以下选项初始化: