尝试部署SCDF Stream时发现Jar未发现错误

时间:2018-04-20 06:20:32

标签: spring spring-cloud-stream spring-cloud-dataflow

我首先注册了接收器,如下所示:

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

虽然罐子存在!!

2 个答案:

答案 0 :(得分:1)

我使用docker compose遵循了maven本地存储库挂载方法,希望对您有所帮助:

行家:

mvn clean install

设置环境变量:

$Env:DATAFLOW_VERSION="2.5.1.RELEASE"
$Env:SKIPPER_VERSION="2.4.1.RELEASE"
$Env:HOST_MOUNT_PATH="C:\Users\yourUserName\.m2"
$Env:DOCKER_MOUNT_PATH="/root/.m2/"

重新启动/启动容器:

docker-compose down 
docker-compose up

注册您的应用:

app register --type sink--name mysink --uri maven://groupId:artifactId:version

Register Doc

答案 1 :(得分:0)

文件权限是一回事 - 请按照建议仔细检查。

其他一些想法:

1)运行app info sink:mysink。如果JAR实际可用,则应返回应用程序的Boot / Whitelisted属性列表。

2)运行Jar独立。确保它实际上是通过java -jar....启动的。

3)流定义似乎包含一个特殊字符(“:myKafkaTopic > mysink"而不是":myKafkaTopic > mysink" - 注意字符);它会在Shell中失败,但看起来你可以部署它。完整的堆栈跟踪会有所帮助。