0

원사에 대한 Spring Cloud Data Flow에서 간단한 스프링 배치 작업을 실행하려고합니다. Unfortunatelly을 실행하는 동안 나는 ResourceManager에 UI에서 오류 메시지를 받았습니다 : 그것은 봄 클라우드 데이터 흐름에 오면 내가에서 실행하기 위해 노력하고있어스프링 데이터 흐름 원사 - jarfile에 액세스 할 수 없습니다.

Log Type: Appmaster.stderr 
Log Upload Time: Mon Nov 07 12:59:57 +0000 2016 
Log Length: 106 
Error: Unable to access jarfile spring-cloud-deployer-yarn-tasklauncherappmaster-1.0.0.BUILD-SNAPSHOT.jar 

: Appmaster.stderror에서

Application application_1473838120587_5156 failed 1 times due to AM Container for appattempt_1473838120587_5156_000001 exited with exitCode: 1 
For more detailed output, check application tracking page:http://ip-10-249-9-50.gc.stepstone.com:8088/cluster/app/application_1473838120587_5156Then, click on links to logs of each attempt. 
Diagnostics: Exception from container-launch. 
Container id: container_1473838120587_5156_01_000001 
Exit code: 1 
Stack trace: ExitCodeException exitCode=1: 
at org.apache.hadoop.util.Shell.runCommand(Shell.java:545) 
at org.apache.hadoop.util.Shell.run(Shell.java:456) 
at org.apache.hadoop.util.Shell$ShellCommandExecutor.execute(Shell.java:722) 
at org.apache.hadoop.yarn.server.nodemanager.DefaultContainerExecutor.launchContainer(DefaultContainerExecutor.java:212) 
at org.apache.hadoop.yarn.server.nodemanager.containermanager.launcher.ContainerLaunch.call(ContainerLaunch.java:302) 
at org.apache.hadoop.yarn.server.nodemanager.containermanager.launcher.ContainerLaunch.call(ContainerLaunch.java:82) 
at java.util.concurrent.FutureTask.run(FutureTask.java:262) 
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) 
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) 
at java.lang.Thread.run(Thread.java:745) 
Container exited with a non-zero exit code 1 
Failing this attempt. Failing the application. 

더 많은 정보는 것을 주장 데이터 흐름 - 셸 :

app register --type task --name simple_batch_job --uri https://github.com/spring-cloud/spring-cloud-dataflow-samples/raw/master/tasks/simple-batch-job/batch-job-1.0.0.BUILD-SNAPSHOT.jar 
task create foo --definition "simple_batch_job" 
task launch foo 

이 오류가 발생하는 이유는 정말 알기 힘듭니다. 표준 HDFS 현지화 (/ dataflow)에서 일부 파일이 복사 (servers.yml, 작업 및 유틸리티가있는 jars) 되었기 때문에 데이터 흐름 서버에서 원사로의 연결이 제대로 작동한다고 확신하지만 어떤면에서는 접근 할 수 없습니다.

내 servers.yml의 설정 :

logging: 
    level: 
    org.apache.hadoop: DEBUG 
    org.springframework.yarn: DEBUG 
maven: 
    remoteRepositories: 
    springRepo: 
     url: https://repo.spring.io/libs-snapshot 
spring: 
    main: 
    show_banner: false 
    hadoop: 
    fsUri: hdfs://HOST:8020 
    resourceManagerHost: HOST 
    resourceManagerPort: 8032 
    resourceManagerSchedulerAddress: HOST:8030 
datasource: 
    url: jdbc:h2:tcp://localhost:19092/mem:dataflow 
    username: sa 
    password: 
    driverClassName: org.h2.Driver 

내가이 일을하기 위해 어떤 정보 또는 스프링 실 팁 & 트릭을 듣고 드리겠습니다.

추신 : 하둡 환경으로 나는 아마존 EMR 5.0

편집을 사용 재귀 경로를 HDFS에서 :

drwxrwxrwx - user hadoop   0 2016-11-07 15:02 /dataflow/apps 
drwxrwxrwx - user hadoop   0 2016-11-07 15:02 /dataflow/apps/stream 
drwxrwxrwx - user hadoop   0 2016-11-07 15:04 /dataflow/apps/stream/app 
-rwxrwxrwx 3 user hadoop  121 2016-11-07 15:05 /dataflow/apps/stream/app/application.properties 
-rwxrwxrwx 3 user hadoop  1177 2016-11-07 15:04 /dataflow/apps/stream/app/servers.yml 
-rwxrwxrwx 3 user hadoop 60202852 2016-11-07 15:04 /dataflow/apps/stream/app/spring-cloud-deployer-yarn-appdeployerappmaster-1.0.0.RELEASE.jar 
drwxrwxrwx - user hadoop   0 2016-11-04 14:22 /dataflow/apps/task 
drwxrwxrwx - user hadoop   0 2016-11-04 14:24 /dataflow/apps/task/app 
-rwxrwxrwx 3 user hadoop  121 2016-11-04 14:25 /dataflow/apps/task/app/application.properties 
-rwxrwxrwx 3 user hadoop  2101 2016-11-04 14:24 /dataflow/apps/task/app/servers.yml 
-rwxrwxrwx 3 user hadoop 60198804 2016-11-04 14:24 /dataflow/apps/task/app/spring-cloud-deployer-yarn-tasklauncherappmaster-1.0.0.RELEASE.jar 
drwxrwxrwx - user hadoop   0 2016-11-04 14:25 /dataflow/artifacts 
drwxrwxrwx - user hadoop   0 2016-11-07 15:06 /dataflow/artifacts/cache 
-rwxrwxrwx 3 user hadoop 12323493 2016-11-04 14:25 /dataflow/artifacts/cache/https-c84ea9dc0103a4754aeb9a28bbc7a4f33c835854-batch-job-1.0.0.BUILD-SNAPSHOT.jar 
-rwxrwxrwx 3 user hadoop 22139318 2016-11-07 15:07 /dataflow/artifacts/cache/log-sink-rabbit-1.0.0.BUILD-SNAPSHOT.jar 
-rwxrwxrwx 3 user hadoop 12590921 2016-11-07 12:59 /dataflow/artifacts/cache/timestamp-task-1.0.0.BUILD-SNAPSHOT.jar 
+0

먼저, hdfs의 "/ dataflow"디렉토리가 있는지 확인하고,있는 경우 재귀 적으로 어떤 파일이 있는지 확인할 수 있습니다. 그렇지 않은 경우 사용자에게 해당 디렉토리를 만들 수있는 권한이 있습니까? –

+0

HDFS에/dataflow 디렉토리가 있습니다. 모든 설정과 jar가 여기에 복사되었습니다 (spring-cloud-deployer-yarn-tasklauncherappmaster-1.0.0.BUILD-SNAPSHOT.jar 포함). 데이터 흐름 디렉토리에 전체 액세스 권한이 있습니다 (777) – Ragnar

+0

질문에 전체 재귀'/ dataflow' 디렉토리 목록을 추가 할 수 있습니까? appmaster jar가 컨테이너에 현지화되지 않은 것처럼 보이므로 뭔가 잘못되어 hdfs의 파일이 먼저 의심됩니다. –

답변

0

이 명확 HDFS와 같은 잘못된 버전의 혼합이다 spring-cloud-deployer-yarn-tasklauncherappmaster-1.0.0.RELEASE.jar을 가지고 있으며, 오류에 대한 spring-cloud-deployer-yarn-tasklauncherappmaster-1.0.0.BUILD-SNAPSHOT.jar를 뿌려줍니다.

수동으로 배포판을 만들지 않은 경우 어떻게 스냅 샷을 가져 왔는지 확실하지 않습니까?

http://cloud.spring.io/spring-cloud-dataflow-server-yarn에서 1.0.2를 선택하는 것이 좋습니다. ref 문서에서 "다운로드 및 배포 배포"를 참조하십시오. 또한 hdfs에서 old /dataflow 디렉토리를 삭제하십시오.