00:00
那接下来我们在使用之前一定要做一件事,解决依赖问题,因为官方这个脚本,嗯,只能怎么说呢。理想很丰满,但是现实很骨感,你跑起来的时候根本就跑不起来,各种报错,各种找不到累,找不到方法,各种依赖冲突啊,其实它这个脚本很简单,就是呃,查找哈杜和hi依赖,还有咱们编译好的一个同步的架包,但是呢,往往就是不行啊,而且还有一些呃,高版本低版本的依赖冲突问题啊,那接下来呢,我就教你怎么解决这个问题啊,那首先我们找到这个脚本的位置啊,这个就在我们护底目录下面啊,有一个同步模块啊,里面有一个have同步里面放了一个脚本,来来我们看一下啊,呃,C food。0.12.0进来之后呢,有一个who的同步对吧,在里面呢,有一个who have同步,好,你看一下就是这个脚本啊,我给你搂一眼嘛,啊啊,反正当时我都快崩溃了啊。
01:10
你也找不到资料啊,只能自己慢慢研究脚本,慢慢的去改。那你不信的话,我们先让你跑一下下面的这个案例啊。来保存退出先。啊,就开始了,这是第一个啊,什么class not found。嗯。嗯,然后你解决完了这个之后,你定位到这是哪个价包什么问题,呃之后呢,又有下一个,可以说是成千上百个class no或者no such method,那我教你一个最简单的方式嘛,来我们看一下这个脚本在干嘛啊。呃,从上面开始看。呃,首先他找了一个什么,这个是who d have的一个绑定的包,你看他先回退两级,找到package目录,找到这么一个B的模块,你看who d have同步B啊,Target给编译好了这个包,哎,然后呢,里面有多个对吧?啊。
02:17
他把SS过滤掉了,然后把其他的,诶第一个拿到啊,说白了这个就是想拿到咱们编译好的这个包啊,那再往下呢,你看下面都是干嘛的呢,呃,哈杜,Have have have have have have have。最后呢,前面这些变量获取完之后,他拿到了一个哈杜have just,然后呢,把前面这些拼接进来啊,之后呢,就是Java干CP啊,然后这么一堆依赖啊,你看有啊,编译好的这个who底hi同步的包哈,Do have的包哈,Op配置目录啊,然后呢,工具内参数就这么简单一个脚本啊,可以折腾死,那接下来注意啊,你如果不按照我的步骤啊,任何一个地方漏了你都跑不起来啊,那首先来我set nu啊,注意啊,第一个先把这个34行,当然嗯,为了保险你就跟我一样吧,我不要让他自己找了,我们自己手动指定好吧。
03:20
34行注释调再往下拉。把这个也给我注释掉啊,就是最后拼接进来的这个我们自己来啊,不要让他来了啊,注释掉好了,那下面我们换个行,那么在54行我们自己添加啊,自己来添加这两行。这是什么呢?哈杜op还有hi的架包,那我直接用哈杜op的class pass命令获取。第二个呢,哈杜op呢,Hi呢,咱们环境变量配的哈杜home,我拼接上力吧,我自己把所有价包拼进来啊,咱们自己来记住啊,第二个呢,是什么呢?Who d have,这个包我直接写绝对路径,我不带任何正则,不带任何星号,不带任何命令啊,我直接就是原封不动的将它的完整路径给我弄过来,那么如果你自己路径跟我不一样,稍微调整一下啊,你看OPT software wall底啊,Package这个同步battle他给的这个家包好到这里还没完,同学们。
04:29
呃,如果你只做到这里,我再试给你看啊,不会再报前面那个什么note found了,但是他跑了好久,到最后他报了一个什么错呀。啊,还是没有累来定义,对不对,什么累啊,是关于趴回的,这个我可以说明一下什么原因啊,因为我的这一张T2表,它是由谁去写的,是当时我们用flink去写的,那我给你看一下源码啊。这个flink当中,呃。
05:05
我们看这个破门键吧,你看一下就知道了,看最外层的破门键啊,真的是服了啊,首先搜一个pack version,它全局的设的是1.1 0.1好再往下。然后来了一个啥。Flink的PA的版本是1.12.2,那么刚好报错的这个类呀,哎,这个类来我粘贴我给你搜一下源码啊。这个是属于哪个价包PA car伦1.12.2或者1.11.1。才有这个类,那你全局指定的1.10压根就没有这个类,能理解吧,这就是。依赖根本就就是有问题嘛,能理解的啊啊那行,那这个原因我也不多去讲,我直接告诉你怎么解决啊,那么拿到我给你提供的一个架包,我已经提前下好了啊,那我会放到咱们的。
06:12
哪里呢?我我放一个这个啊呃,Have同步脚本需要的。讲。啊,放在这里啊,之前这个没用啊,我删掉了,那把这个架包上传到你的服务器上面,随便你上传到哪里啊,我现在呢是上传到了OTSO啊。你上传到哪都行啊,那我现在是随便上传的一个地方,嗯,在哪里呢?Park,诶在这啊在这里好路径记住了啊,包名记住了,那么接下来我们要做一个事儿啊,这个依赖既然是编译的时候就是一零,你也不要轻易去改啊。
07:01
那既然flink用了一二,那我们就手动加一个一二,这个就解决的思路啊。那在哪加呢?哎,我直接对在最后的Java-CP这里啊,我在这里拼接上这个玩意就行了,来按照我们这个。啊,我直接放在手动添加的那两行的后面,诶这里啊帕奎特价啊。那这个路径就写成你刚才那个架包放的位置啊,另外啊,你不要拼接到最后面这句E口,只是做一个打印,真正执行的是这个Java干CP,你如果拼接在这个位置啊,那你还是报错,为什么呢?它依赖前面这个包含的是1.1 0.1,你最后是12.2,那么它会按照加载的顺序去,呃作用,也就是说一零产生作用,你一二即使放了也没用,所以强调一点,你这个价包一定要拼接到最最前面,放到后面不好使啊,不好使。
08:07
这个也是细节啊。来,我们就给他写一下呗。好冒号啊。这个就是我拼接了啊,一定要拼接在这个最前面,那如果你为了打印好看,你也可以在前面的E口这一句前面给它加上啊,好吧,这样的话我们才完成了这个步骤。好吧。那我们看一下下面这个病例,顺便一起做了吧,啊,那你看我们同步的是大家注意啊,你要执行这个脚本啊,是在这个路径下面啊执行,呃,Base pass是哈杜HTFSTNP蝴dlink t2这张表之前呢,我们写的时候没有做一个同步啊,那接下来have的库用defa have的表明用TF link,呃,Have的have serve to啊1万。
09:05
啊,用户名密码啊,Part by啊,当时这个应该是number啊,行,那我们做一个同步啊。啊,我跑了一遍,不知道有没有影响啊。你你看你跑着,反正现在至少没有什么没有报错了吧,啊这就解决了啊,那如果你环境用的其他版本的一些flink have啊,还可能现象不一样,可能还得进一步的去慢慢的排查这个依赖问题,好吧,啊,那行,那我们顺便来看一下have吧,啊这里是have对不对啊,受呃,当受data basis。又是default,现在应该就是default啊,Shows。哎,来,我们看现在多了一个什么T2FLINK RO t2flink rt对吧,这就是咱们同步过来。
10:01
通过JDBC啊。
我来说两句