flink使用问题有哪些


这篇文章主要介绍了flink使用问题有哪些,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。注册表时,请勿使用result如上,如果你写为那么会报以下错误 香港云主机如果mysql 类型是tinyint 要转以下,否则flink会报错转的方式很简单比如join的时候如果有一侧为map类型的数据(比如你使用了collect方法,类似于mysql的group_concat),回报空指针,类似于这个bug目前还没有修复,连接如下 https://issues.apache.org/jira/browse/FLINK-11433只能想办法绕过去,把map类型的数据,变成字符串,方法是自定义函数调用的时候使用当然你还需要注册一下类型转化错误最近总遇到类型转化错误的提示,目前发现了两个, 做个记录a 如果是tiny(1) 会自动转为 boolean, 除了上面的解决方案,更优雅的是修改mysql 的连接,加上参数 tinyInt1isBit=false, 注意大小写b 有时候mysql数据库id字段明明是int,但flink却认定为long。 貌似以前mybatis也有此问题(https://blog.csdn.net/ahwsk/article/details/81975117)。
后来我又认真的看了一下表设计(别人的表)发现 勾选了“无符号” 这个选项,当我去掉这个选项,再次运行,居然不报错了,看来是无符号,让flink转化错误的,无符号比有符号在范围上多了一位, 多出的这一位,有可能已经超过了java中int 的范围(java中int 都是有符号的),所以自动转为long型了。Could not find a suitable table factory for ‘org.apache.flink.table.factories.StreamTableSourceFactory’虽然fatjar已经有对应的类了,但是依然报错,最后的解决办法是在flink的lib目录中再次加入相关的类,问题解决。cannot assign instance of org.apache.commons.collections.map.LinkedMap to field org.apache.flink.streaming.connectors.kafka.FlinkKafkaConsumerBase.pendingOffsetsToCommit of type org.apache.commons.collections.map.LinkedMap in instance of org.apache.flink.streaming.connectors.kafka.FlinkKafkaConsumer011这个错误需要在flink-conf.yaml 加入 classloader.resolve-order: parent-firstCaused by: java.util.concurrent.CompletionException: akka.pattern.AskTimeoutException: Ask timed out on [Actor[akka.tcp://flink@flink88:15265/user/taskmanager_0#66653408]] after [10000 ms]. Sender[null] sent message of type "org.apache.flink.runtime.rpc.messages.RemoteRpcInvocation".出现此错误,在flink的配置中增加8.Exception while invoking ApplicationClientProtocolPBClientImpl.forceKillApplication over null. Retrying after sleeping for 30000ms发生此错误是提交任务时出错,使用 yarn logs -applicationId application_1565600987111 查看错误,找到原因,我遇到的原因是: akka.watch.heartbeat.pause 值小于 akka.watch.heartbeat.interval。修改后错误消失
或者kill 掉 CliFrontend 的进程出现此异常还是内存的问题,检查一下内存是否足够,必须是free的不能是available, 如果发现后者很高, 请执行 以下两条命令释放内存10
Caused by: java.net.BindException: Could not start rest endpoint on any port in port range 8081
at org.apache.flink.runtime.rest.RestServerEndpoint.start(RestServerEndpoint.java:219)
at org.apache.flink.runtime.entrypoint.component.AbstractDispatcherResourceManagerComponentFactory.create(AbstractDispatcherResourceManagerComponentFactory.java:161)
… 9 more此错误是说端口被占用。查看源代码:对应的配置是 flink-conf.yaml中的rest.bind-port。
rest.bind-port不设置,则Rest Server默认绑定到rest.port端口(8081)。
rest.bind-port可以设置成列表格式如50100,50101,也可设置成范围格式如50100-50200。推荐范围格式,避免端口冲突。感谢你能够认真阅读完这篇文章,希望小编分享的“flink使用问题有哪些”这篇文章对大家有帮助,同时也希望大家多多支持开发云,关注开发云行业资讯频道,更多相关知识等着你来学习!

相关推荐: JAVA中怎么利用时间戳判断TOKEN是否过期

这期内容当中小编将会给大家带来有关JAVA中怎么利用时间戳判断TOKEN是否过期,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。上述就是小编为大家分享的JAVA中怎么利用时 香港云主机间戳判断TOKEN是否过期了,如果刚好有类…

免责声明:本站发布的图片视频文字,以转载和分享为主,文章观点不代表本站立场,本站不承担相关法律责任;如果涉及侵权请联系邮箱:360163164@qq.com举报,并提供相关证据,经查实将立刻删除涉嫌侵权内容。

(0)
打赏 微信扫一扫 微信扫一扫
上一篇 08/25 11:57
下一篇 08/25 11:57

相关推荐