回复: Re:Re: RichMapFunction的问题

2020-05-25 文章 xue...@outlook.com


发送自 Windows 10 版邮件<https://go.microsoft.com/fwlink/?LinkId=550986>应用

发件人: guanyq<mailto:dlgua...@163.com>
发送时间: 2020年5月25日 13:51
收件人: user-zh@flink.apache.org<mailto:user-zh@flink.apache.org>
主题: Re:Re: RichMapFunction的问题




>> 1、这个RichMapFunction的并发度上不去,只能整到4,并发度上去后各种问题,但从主机内存以及分配给taskmanager的内存足够;

-- 能粘贴下代码么
```

//xxxSink 
为StreamingFileSink.withMaxPartSize.withMaxPartSize(128M).withInactivityInterval(1
 minutes). withRolloverInterval(30minutes)



//并发度4死活挑上不去

xxxSteam.map(item -> 
item.record()).setParallelism(4).startNewChain().addSink(xxxSink).setParallelism(4).name(
 + "-Sink");

XXXRichMapFunction.java  //pre-load dimension policy
```
open() {
   //全量通过全部分布式文件加载多个维度数据

  //getRuntimeContext().getDistributedCache()

 //数据量不大,200W,单条记录的字段数量和数据类型,其实也很简单
}
```
```
-- 还有提交的命令
```

nohup ./bin/flink run -p 200 xxx1.0.0.jar
```
>> 2、这个RichMapFunction的所有slot都分配到同一个taskmanager上,即同一个主机。没有找到接口可以分散到不同的taskmanager上;

-- 什么模式提交的job(yarn session,yarn,还是stand alone模式)
```
集群是stand alone
还未尝试 蒋佳成(Jiacheng Jiang) 说的
flink 1.10支持将slot在tm上平均分配。cluster.evenly-spread-out-slots: true
flink 1.10缺省是分配在同一个task,这样效率高,避免了跨网络的数据交换,提高速度处理效率
```


在 2020-05-25 11:47:48,"tison"  写道:
>关于第一个问题,最好细化一下【各种问题】是什么问题。
>
>关于第二个问题,我印象中目前 Flink 不支持按并发(SubTask)级别指定调度的位置,绕过方案可以是设置每个 TM 仅持有一个
>Slot。这方面我抄送 Xintong,或许他的工作能帮到你。
>
>Best,
>tison.
>
>
>xue...@outlook.com  于2020年5月25日周一 上午11:29写道:
>
>> 遇到两个问题:
>>   背景:flink v1.10集群,几十台主机,每台CPU 16,内存 50G,整个job的并发是200
>>   比如我的一个RichMapFunction在open中会加载存量数据。
>>   因维度数据和主数据是非常离散的,因此这些维度数据都需要加载到内存
>>
>> 1、这个RichMapFunction的并发度上不去,只能整到4,并发度上去后各种问题,但从主机内存以及分配给taskmanager的内存足够;
>>
>>
>> 2、这个RichMapFunction的所有slot都分配到同一个taskmanager上,即同一个主机。没有找到接口可以分散到不同的taskmanager上;
>>
>> 说简单点:
>>
>> 1、 对于RichMapFunction的open中需要加载大量维度数据,并发度上不去受什么影响;
>>
>> 2、 对于一个算子如何干预使其分散到不同的taskmanager上;
>>
>>
>>
>>
>> 发送自 Windows 10 版邮件<https://go.microsoft.com/fwlink/?LinkId=550986>应用
>>
>>



Re:Re: RichMapFunction的问题

2020-05-24 文章 guanyq



>> 1、这个RichMapFunction的并发度上不去,只能整到4,并发度上去后各种问题,但从主机内存以及分配给taskmanager的内存足够;

-- 能粘贴下代码么
-- 还有提交的命令
>> 2、这个RichMapFunction的所有slot都分配到同一个taskmanager上,即同一个主机。没有找到接口可以分散到不同的taskmanager上;

-- 什么模式提交的job(yarn session,yarn,还是stand alone模式)


在 2020-05-25 11:47:48,"tison"  写道:
>关于第一个问题,最好细化一下【各种问题】是什么问题。
>
>关于第二个问题,我印象中目前 Flink 不支持按并发(SubTask)级别指定调度的位置,绕过方案可以是设置每个 TM 仅持有一个
>Slot。这方面我抄送 Xintong,或许他的工作能帮到你。
>
>Best,
>tison.
>
>
>xue...@outlook.com  于2020年5月25日周一 上午11:29写道:
>
>> 遇到两个问题:
>>   背景:flink v1.10集群,几十台主机,每台CPU 16,内存 50G,整个job的并发是200
>>   比如我的一个RichMapFunction在open中会加载存量数据。
>>   因维度数据和主数据是非常离散的,因此这些维度数据都需要加载到内存
>>
>> 1、这个RichMapFunction的并发度上不去,只能整到4,并发度上去后各种问题,但从主机内存以及分配给taskmanager的内存足够;
>>
>>
>> 2、这个RichMapFunction的所有slot都分配到同一个taskmanager上,即同一个主机。没有找到接口可以分散到不同的taskmanager上;
>>
>> 说简单点:
>>
>> 1、 对于RichMapFunction的open中需要加载大量维度数据,并发度上不去受什么影响;
>>
>> 2、 对于一个算子如何干预使其分散到不同的taskmanager上;
>>
>>
>>
>>
>> 发送自 Windows 10 版邮件应用
>>
>>