我正在使用Storm,我想詢問是否有人知道如何更改工作人員JVM的主目錄。我的一些螺栓正在實例化對象,而該對象又需要從文件系統讀取配置。如何在Storm中爲工作人員的JVM設置/覆蓋主目錄
問題是螺栓在工作人員的JVM中執行,並且這些JVM正在使用錯誤的主目錄。
從工人登錄我能讀:
oaszsZooKeeperServer [INFO]服務器環境:user.dir來=在/ usr /本地/庫/風暴/ 0.9.5/libexec目錄/ conf目錄
這dir是我需要改變的一個,因爲它被螺栓用來搜索文件系統上的文件。 但是我無法在產生新的JVM之前找到改變它的方法。
監督員日誌說:
啓動工人用命令: 'Java' 作爲「-server'-Xmx768m'Dlogfile.name =工人6700.log「-Dstorm.home =在/ usr /本地/Cellar/storm/0.9.5/libexec'
所以也許有一種方法可以告訴Storm用一個新的user.dir變量啓動所有的工人?
編輯:我得到的錯誤是:
STDIO [錯誤]加載從/usr/local/Cellar/storm/0.9.5/libexec/conf/src/main/resources/corenlp/ner分類/english.muc.7class.caseless.distsim.crf.ser.gz
2015-11-23T15:24:38.523 + 0000 STDIO [錯誤] java.io.FileNotFoundException:src/main/resources/corenlp/ner /english.muc.7class.caseless.distsim.crf.ser.gz(沒有這樣的文件或目錄)
您是否在使用Maven來設置您的項目?您是否使用getResourceAsStream從資源文件夾讀取數據? – morganw09dev
我檢查了庫,它實際上是初始化一個解析器,它只是將該目錄存儲爲一個屬性:public Parser(){ Properties props = new Properties(); props.put(「ner.model」,「src/main/resources/corenlp/ner/english.muc.7class.caseless.distsim.crf.ser.gz」);props.put(「ner.applyNumericClassifiers」,「true」); props.put(「regexner.mapping」,「src/main/resources/corenlp/regex/regex_ner_list.txt」); } 但我不能編輯它,因爲它是一個編譯的jar。 – zizzo