Wormhole流程搭建踩坑总结(一)

刚进公司,让我搭建一个wormhole环境,我想搭建个环境还不简单,按照官网教程,三下五除二搭建好了,领导又让按照教程跑一遍wormhole流程。本来觉得应该也是手到擒来的事,可是期间的心酸苦楚,欲哭无泪。跑流程期间遇到了很多问题,会分文章进行阐述。

跑流程本来挺简单的,但是其中有两个致命的问题

  • 第一、网上几乎没有wormhole的相关问题,所以抱着多个搜索引擎依然巧妇难为无米之炊
  • 第二、官网的教程太简单笼统了,对于像我这种刚入行大数据的人来说着实吃力了些

一、Kafka生产数据的时候报key not found异常

在部署依赖环境Kafka集群的时候,因为集群中已经存在另外一个Kafka集群,所以将新搭建的Kafka集群的生产者端口改了。所以在使用官网提供的命令进行生产数据的时候会报错key not found,这个错误的原因是生产者配置的端口不对导致

#以下为官网命令,生产者端口为默认的9092
$> cd /usr/local/kafka/bin
./kafka-console-producer.sh --broker-list localhost:9092 --topic source --property "parse.key=true" --property "key.separator=@@@"
data_increment_data.kafka.edp.source.ums_extension.*.*.*@@@{"id": 1, "name": "test", "phone":"18074546423", "city": "Beijing", "time": "2017-12-22 10:00:00"}

二、启动stream报错。

  1. 官网上有明确说明,wormhole支持spark2.2.0和2.2.1,我们集群中使用的是spark2.3.0版本的,本以为可以向上兼容,但是在启动stream的时候报下面的错误,AbstractorMethodError网上百度这个错误,说是spark和Kafka版本不兼容的问题。问了内部人员说wormhole没有测试过spark2.3,于是重新搭建spark2.2.1版本集群。abstractorMethod
  2. 重新搭建spark需要注意一个问题,最少有一台spark集群需要和Hadoop集群在一台服务器上,否则spark会找不到Hadoop安装路径,依然无法成功,所以我们重新搭建的另外一套Hadoop2.6+spark2.2.1集群。confdir

三、flow启动失败

  1. 在期间遇到过一个问题,启动flow的时候没有反应,过一会儿在浏览器右上角会出现一个大概 f(..) exception的异常,但是我们根本没有定义这个f(...)方法 。打开wormhole的application.log日志会发现一个获取Kafka偏移量失败,获取元数据超时的异常meta
  2. 这里其实还是上面的问题,我们把端口改了,但是在创建 source namespace的时候端口依然写的9092,所以导致了这个问题只要把source namespace中的端口改成你的生产者的端口,这边就可以成功启动了。
  3. 当然还有第三个原因,你的Kafka没有启动失败了。

四、Auto Registered Topics为空问题

在启动stream的时候,auto register topics 应该有内容的,如果你的什么内容都没有,说明这时候你的flow没有启动,可能是忘记需要先启动flow,或者你的flow没有启动(仅仅是starting状态也算启动了)。如果你的flow无法启动参见上一条。

五、总结

上面出现的问题主要因为两方面原因:

  1. 集群版本问题。不要觉得旧版可以,新版本也会兼容,最好按照官网提供的依赖环境进行搭建
  2. 端口设置问题。我在搭建wormhole的时候并没有详细看它的原理,只是按照教程一步一步做,导致出现了很多问题,上面只是列举了比较严重的错误。但是流程步骤较多,可能会有遗忘,一不小心可能就会出错,所以建议把用到的不同集群的端口列一个表格,在创建namespace等过程中每次需要填IP和端口的时候都拿出来确认一遍。
  3. 官方文档说明性文字较少,很容易就认为文档中填写的内容只要跟着填就行,其实并不是如此,稍不留意就会出错。这篇文章列举的只是我本身集群中的问题,下一篇文章会对官方文档做进一步说明并给出自己出错的地方及如何解决。
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 7
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值