近期研究下Flink的相关东西,一点一点完善,先来下载地址: https://www.apache.org/dyn/closer.lua/flink/flink-1.12.1/flink-1.12.1-bin-scala_2.12.tgz
算了,没有linux服务器,只能直接使用容器搞吧....
1、首先拉取镜像
docker pull flink
2、创建一个docker的network
docker network create flink-network
3、运行容器
docker run --rm --name=jobmanager --network flink-network --publish 8081:8081 --env FLINK_PROPERTIES="jobmanager.rpc.address: jobmanager" flink:latest jobmanager
4、然后直接访问 http://localhost:8081/ 能访问进去,就完事了。使用,等会用了再来补充。
用容器提交任务老半天提交不上去,后来在本地安装了一个,由于是windos的,所有下载了一个1.9.3的版本下载的。
1、运行很简单,直接找到bin目录,然后双击运行即可。
2、然后提交任务的时候出现Entry Class没有的话,表示没有主目录,也就是打包的时候没有指定main函数导致的,配置中可以设置下主目录即可。
3、然后提交任务,点击show plan会报错,提交任务也报错。可以在Job Manage菜单看到Logs点进去,拉到最下面发现有报错信息,都是缺少类,这个狗日的问题困扰了老半天,百度找不到,我觉得应该是很低级的问题,可能很少犯(起码版本问题,但实际上并不是)。后面找到些博客说是在lib下添加引用类,老子用的pom又不是直接引用的jar。后面发现flink有个lib文件夹,就把jar丢进去了,发现虽然还是缺少类,但是缺少的类变了。然后我尝试打包所有的依赖项到一个jar,错误变了,但是依旧是缺少类。后面又找了很久的博客,忘记记下地址了,说打包时候并不是所有的依赖都要打包,然后给出了一个maven的打包信息,然后试了下,好了。只想说一句MMP,这问题应该很多人记录才对,但是都没有记录,那我就记录下吧。后面再补充报错信息。