2017-02-24 6 views
0

아파치 스파크에 스칼라가있는 졸음을 사용하고 있습니다. KIE가 컴파일 된 규칙에 대한 개인 넥서스 저장소를 볼 수있게하기 위해 시스템 속성 : "kie.maven.settings.custom"을 작업 디렉토리에 포함 된 custom settings.xml 파일로 설정하려고합니다. jar 파일의KieContainer 설정 kie.maven.settings.custom

런타임에이 시스템 속성을 설정하려고했지만 결과가 서로 다릅니다. 여기에 내 코드가 작동하지 않는 클러스터에서, 그러나, 내 로컬 컴퓨터에서 실행중인 경우이 제대로 작동하려면 나타납니다 "kie.maven.settings.custom"

val userDir = System.getProperty("user.dir") 
val customPath = Paths.get(userDir, "settings.xml") 
System.setProperty("kie.maven.settings.custom", customPath.toString) 

을 설정하는 것입니다.

내 질문은 : 내가 기대하는대로 작동해야합니까? 아니면 KIE가 시스템 속성을 얻는 경쟁 조건을 만들지? 나는이 알아낼 수 있었다

<?xml version="1.0" encoding="UTF-8"?> 
<profilesXml xmlns="http://maven.apache.org/PROFILES/1.0.0" 
      xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
      xsi:schemaLocation="http://maven.apache.org/PROFILES/1.0.0 http://maven.apache.org/xsd/profiles-1.0.0.xsd"> 
<profiles> 
    <profile> 
     <id>profile-1</id> 
     <activation> 
      <activeByDefault>true</activeByDefault> 
     </activation> 
     <repositories> 
      <repository> 
       <id>temp-nexus</id> 
       <url>http://nexus.path..com:8081/repository/maven-releases</url> 
       <releases> 
        <updatePolicy>always</updatePolicy> 
       </releases> 
      </repository> 
     </repositories> 
    </profile> 
</profiles> 
</profilesXml> 

답변

0

, 그리고 불꽃의 문제, 그리고 Drools가 함께 할 수있는 것도 밝혀졌다 : 같은

내 사용자 정의 Settings.XML이 파일을 찾습니다.

이 문제를 해결하기 위해 사용자 지정 settings.xml을 Spark 작업 클래스 경로에 추가하고 추가 Spark 속성을 설정해야했습니다. 단지 집행자 추가 옵션이 충분해야하지만, 나는 그것을 테스트하지 않은 설정하지만 나는, 드라이버 및 집행자 추가 옵션 모두이 설정

"conf":{ 
     "spark.driver.extraJavaOptions": "-Dkie.maven.settings.custom=settings.xml", 
     "spark.executor.extraJavaOptions": "-Dkie.maven.settings.custom=settings.xml" 
    } 

: 같은 Livy의 구성 파일에서이 보인다.