我首先按如下所示注册了接收器:
app register --name mysink --type sink --uri file:///Users/swatikaushik/Downloads/kafkaStreamDemo/target/kafkaStreamDemo-0.0.1-SNAPSHOT.jar
然后我创建了一个视频流
stream create --definition “:myKafkaTopic > mysink" --name myStreamName --deploy
我得到了错误
Command failed org.springframework.cloud.dataflow.rest.client.DataFlowClientException: File
/Users/swatikaushik/Downloads/kafkaStreamDemo/target/kafkaStreamDemo-0.0.1-SNAPSHOT.jar must exist
虽然罐子存在!!
文件许可是一回事-请按照建议仔细检查。
其他一些想法:
1)运行app info sink:mysink
。如果JAR实际上可用,则应返回该应用程序的Boot / Whitelisted属性列表。
2)独立运行Jar。确保它实际上是通过java -jar....
开始的。
3)流定义似乎包含一个特殊字符(“:myKafkaTopic > mysink"
代替":myKafkaTopic > mysink"
-注意“
字符);它在Shell中会失败,但是看起来您能够部署它。完整的堆栈跟踪会有所帮助。
我们刚刚遇到了与上述相同的错误。我们已经将jar文件的文件夹安装到了船长。
解决方案是,我们还必须将罐子安装到数据流服务器docker容器上。
Skipper正在部署它,但是数据流服务器注册了它。