Hadoop Oozie 학습 노트 (3) Oozie 는 Sqoop 문제 해결 을 지원 하지 않 습 니 다.
10004 단어 hadoop
Hadoop 슈퍼 그룹 가입 을 환영 합 니 다: 180941958
hadop + oozie + Sqoop 을 구축 하여 Oozie 워 크 플 로 를 작성 하려 고 합 니 다. 그 안에 Sqoop 을 통 해 DB 에서 데 이 터 를 가 져 와 HDFS 로 쓰 려 고 합 니 다. 모든 것 이 준비 되 었 으 나 잘못 보 고 했 습 니 다. 오 류 는 다음 과 같 습 니 다.
Error: E0701 : E0701: XML schema error, cvc-complex-type.2.4.c: The matching wildcard is strict, but no declaration can be found for element 'sqoop'.
일 지 를 보 러 가자. 녀석, 큰 실 수 를 했 지만 뭔 가 를 발견 할 수 있 을 까? 이상 하 게 도 다음 과 같다.
2011-11-11 11:39:44,658 WARN V1JobsServlet:539 - USER[?] GROUP[users] TOKEN[-] APP[-] JOB[-] ACTION[-] URL[POST http://localhost:11000/oozie/v1/jobs?action=start] error[E0701], E0701: XML schema error, cvc-complex-type.2.4.c: The matching wildcard is strict, but no declaration can be found for element 'sqoop'.org.apache.oozie.servlet.XServletException: E0701: XML schema error, cvc-complex-type.2.4.c: The matching wildcard is strict, but no declaration can be found for element 'sqoop'.
at org.apache.oozie.servlet.V1JobsServlet.submitWorkflowJob(V1JobsServlet.java:163)
at org.apache.oozie.servlet.V1JobsServlet.submitJob(V1JobsServlet.java:74)
at org.apache.oozie.servlet.BaseJobsServlet.doPost(BaseJobsServlet.java:92)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:637)
at org.apache.oozie.servlet.JsonRestServlet.service(JsonRestServlet.java:281)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:859)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:588)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
at java.lang.Thread.run(Thread.java:662)
Caused by: org.apache.oozie.DagEngineException: E0701: XML schema error, cvc-complex-type.2.4.c: The matching wildcard is strict, but no declaration can be found for element 'sqoop'.
at org.apache.oozie.DagEngine.submitJob(DagEngine.java:137)
at org.apache.oozie.servlet.V1JobsServlet.submitWorkflowJob(V1JobsServlet.java:159)
... 17 more
Caused by: org.apache.oozie.command.CommandException: E0701: XML schema error, cvc-complex-type.2.4.c: The matching wildcard is strict, but no declaration can be found for element 'sqoop'.
at org.apache.oozie.command.wf.SubmitXCommand.execute(SubmitXCommand.java:185)
at org.apache.oozie.command.wf.SubmitXCommand.execute(SubmitXCommand.java:61)
at org.apache.oozie.command.XCommand.call(XCommand.java:257)
at org.apache.oozie.DagEngine.submitJob(DagEngine.java:125)
... 18 more
Caused by: org.apache.oozie.workflow.WorkflowException: E0701: XML schema error, cvc-complex-type.2.4.c: The matching wildcard is strict, but no declaration can be found for element 'sqoop'.
at org.apache.oozie.workflow.lite.LiteWorkflowAppParser.validateAndParse(LiteWorkflowAppParser.java:120)
at org.apache.oozie.workflow.lite.LiteWorkflowLib.parseDef(LiteWorkflowLib.java:47)
at org.apache.oozie.service.LiteWorkflowAppService.parseDef(LiteWorkflowAppService.java:46)
at org.apache.oozie.service.LiteWorkflowAppService.parseDef(LiteWorkflowAppService.java:41)
at org.apache.oozie.command.wf.SubmitXCommand.execute(SubmitXCommand.java:95)
... 21 more
Caused by: org.xml.sax.SAXParseException: cvc-complex-type.2.4.c: The matching wildcard is strict, but no declaration can be found for element 'sqoop'.
at com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.createSAXParseException(ErrorHandlerWrapper.java:195)
at com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.error(ErrorHandlerWrapper.java:131)
at com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(XMLErrorReporter.java:384)
at com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(XMLErrorReporter.java:318)
at com.sun.org.apache.xerces.internal.impl.xs.XMLSchemaValidator$XSIErrorReporter.reportError(XMLSchemaValidator.java:417)
at com.sun.org.apache.xerces.internal.impl.xs.XMLSchemaValidator.reportSchemaError(XMLSchemaValidator.java:3182)
at com.sun.org.apache.xerces.internal.impl.xs.XMLSchemaValidator.handleStartElement(XMLSchemaValidator.java:1927)
at com.sun.org.apache.xerces.internal.impl.xs.XMLSchemaValidator.startElement(XMLSchemaValidator.java:705)
at com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.scanStartElement(XMLNSDocumentScannerImpl.java:400)
at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDriver.next(XMLDocumentFragmentScannerImpl.java:2755)
at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(XMLDocumentScannerImpl.java:648)
at com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.next(XMLNSDocumentScannerImpl.java:140)
at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(XMLDocumentFragmentScannerImpl.java:511)
at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:808)
at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:737)
at com.sun.org.apache.xerces.internal.jaxp.validation.StreamValidatorHelper.validate(StreamValidatorHelper.java:144)
at com.sun.org.apache.xerces.internal.jaxp.validation.ValidatorImpl.validate(ValidatorImpl.java:111)
at javax.xml.validation.Validator.validate(Validator.java:127)
at org.apache.oozie.workflow.lite.LiteWorkflowAppParser.validateAndParse(LiteWorkflowAppParser.java:106)
... 25 more
오 류 는 대개 xml 에서 사용자 정의 탭 sqoop 을 지원 하지 않 습 니 다. 여기 서 Oozie 에서 Sqoop 을 사용 하여 DB 에서 데 이 터 를 가 져 와 야 하기 때문에 workflow. xml 에서 다음 과 같은 설정 을 했 습 니 다.
<sqoop xmlns="uri:oozie:sqoop-action:0.2">
<job-tracker>${job_tracker}</job-tracker>
<name-node>${name_node}</name-node>
<prepare>
<delete path="${wf_job_base_path}/${wf:id()}/db_export"/>
</prepare>
<configuration>
<property>
<name>mapred.job.queue.name</name>
<value>${queue_name}</value>
</property>
</configuration>
<arg>import</arg>
<arg>-D</arg>
<arg>mapred.output.compress=false</arg>
<arg>--connect</arg>
<arg>jdbc:mysql://${db_hostname}/${db_name}</arg>
<arg>--query</arg>
<arg>${db_banner_query}</arg>
<arg>--target-dir</arg>
<arg>${wf_job_base_path}/${wf:id()}/db_export</arg>
<arg>--num-mappers</arg>
<arg>${sqoop_export_mappers_num}</arg>
<arg>--username</arg>
<arg>${db_user}</arg>
<arg>--password</arg>
<arg>${db_password}</arg>
<arg>--as-sequencefile</arg>
<arg>--class-name</arg>
<arg>${db_class_name}</arg>
</sqoop>
<ok to="sqoop_export_done"/>
<error to="fail"/>
</action>
상식 적 으로 사용자 정의 탭 은 관련 이름 을 지어 야 합 니 다. 여기 서 sqoop 은 uri: oozie: sqoop - action: 0.2 를 도 입 했 기 때문에 oozie - sqoop - action - 0.2. xsd 파일 이 있어 야 합 니 다. 그래서 $OOZIEHOME / lib / oozie - client - x. x. jar 중
이 파일 을 보지 못 했 습 니 다. http://archive.cloudera.com/cdh/3/oozie/DG_SqoopActionExtension.html 설정 에 따라 이 파일 을 새로 만 들 고 jar 에 넣 었 습 니 다. 계속 실행 되 었 지만 오류 가 발생 했 습 니 다. 또한 사용자 정의 탭 에 대한 이해 와 이 글 을 본 후 http://www.infoq.com/cn/articles/ExtendingOozie 관련 Action Suppoert 지원 이 필요 하 다 는 것 을 알 게 되 었 습 니 다.oozie - core 에 서 는 org. apache. oozie. action. hadop. Sqoop Action Executor 같은 종 류 를 찾 지 못 했 습 니 다. 그리고 검색 을 통 해 알 수 있 듯 이 이전 에는 야후 의 oozie 를 다운로드 한 것 이 었 습 니 다.
cloudera 는 oozie 지원 에 sqoop 를 사용 합 니 다. 그래서 cloudera 에 가서 oozie - 2.3 - cdhu30. tar. gz 를 다운로드 하고 관련 xsd 와 Action Support 를 찾 았 습 니 다. 다시 직접 실행 합 니 다. OK, 문제 해결!클 라 우 드 라 를 사용 한 것 같 습 니 다. 앞으로 모든 것 을 먼저 둘 러 봐 야 할 것 같 습 니 다. 다운로드 주소: http://archive.cloudera.com/cdh/3/oozie-2.3.2-cdh3u2.tar.gz
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Azure HDInsight + Microsoft R Server에서 연산 처리 분산Microsoft Azure HDInsight는 Microsoft가 제공하는 Hadoop의 PaaS 서비스로 인프라 주변의 구축 노하우를 몰라도 훌륭한 Hadoop 클러스터를 구축할 수 있는 훌륭한 서비스입니다. 이...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.