华为云kafka POC 踩坑记录
2019/03/08 18:29
最近在进行华为云相关POC验证,个人主要负责华为云DMS kafka相关。
大致数据流程是,从DIS取出数据,进行解析处理,然后放入kafka,再从kafka中取出数据然后放到ElasticSearch以及OBS里面。
kafka作为中间层次,发挥着中间件的重要作用。关于华为云kafka的整合,这两天的确碰到一些坑,现进行相关总结加以记录。
第一个问题:kafka的jar包不要用开源的,而是用图中libs的华为官方的jar包。新建libs文件目录,然后把jarBao 拷贝进去。然后在pom中把他引入到maven库。
<!-- kafka !!! 注意用的是libs下引入的华为云javasdk的jar --> <dependency> <groupId>dms</groupId> <artifactId>kafka.sasl.client</artifactId> <version>1.0.0</version> <scope>system</scope> <systemPath>${project.basedir}/libs/dms.kafka.sasl.client-1.0.0.jar</systemPath> </dependency> <dependency> <groupId>org.apache.kafka</groupId> <artifactId>kafka-clients</artifactId> <version>0.10.2.1</version> </dependency>
进行以后本地运行可以,但是发布到服务器上启动报错,说是找不到某个类【好像叫loginModelView】,这个类存在于dms.kafka.sasl.client-1.0.0.jar,说明这个jar没有被打包到项目jar里面。后来发现原因是maven打包插件里面要进行配置,把本地的jar也给打进去。参见如下文章以及配置:
<build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> <configuration> <executable>true</executable> <includeSystemScope>true</includeSystemScope><!-- 目的是liibs下的jar包引入springboot maven打包,否则linux上启动会报错,找不到这个jar中的相关类!!! --> </configuration> </plugin> </plugins> </build>
文章参见 :Springboot中引入本地jar包,并通过maven把项目成功打包成jar包部署
https://blog.csdn.net/baidu_35140444/article/details/82110079