2016-09-06 138 views
1

我試過在集羣(分佈式)模式下部署風暴拓撲。不幸的是我得到了FileNotFoundException,我找不到任何我犯過的錯誤。如果你能幫我弄清楚什麼是錯的,我會很棒的。集羣模式下的Apache Storm FileNotFoundException

我使用Storm版本1.0.1。 Zookeeper不在額外的虛擬機上運行。

以下堆棧跟蹤發生:

[{:類型了java.lang.RuntimeException:消息產生java.io.IOException:否 這樣的文件或目錄:在 [org.apache.storm.blobstore .LocalFsBlobStore createBlob LocalFsBlobStore.java 117]} {:類型java.io.IOException的:消息 沒有這樣的文件或目錄:在[java.io.UnixFileSystem createFileExclusively UnixFileSystem.java -2]}]:微量 [[java的.io.UnixFileSystem createFileExclusively UnixFileSystem.java -2] [java.io.File createNewFile File.java 1012]
[org.apache.storm.blobstore.LocalFsBlobStoreFile的getOutputStream LocalFsBlobStoreFile.java 109]
[org.apache.storm.blobstore.BlobStore $ BlobStoreFileOutputStream BlobStore.java 316] [org.apache.storm.blobstore.LocalFsBlobStore createBlob LocalFsBlobStore.java 111]
[org.apache.storm.blobstore.BlobStore createBlob BlobStore.java 217]

回答

0

我解決了這個問題對我的情況下,希望這也是您的一個解決方案。

風暴安裝要編寫的文件位於storm.local.dir + /blobs(默認情況下,即安裝Storm的目錄中的storm-local/blobs)位於本地Blob存儲中。您應該檢查權限是否與您用來運行Storm的用戶相匹配。

在我的情況下,事實證明,我的Systemd服務文件中的用戶和組信息出現在exec之後,因此它不起作用。如果您還使用Systemd啓動nimbus,請使用以下模板:

[Unit] 
Description=start and stop storm nimbus 
After=network.target 

[Service] 
User=storm 
Group=storm 
WorkingDirectory=/home/storm/apache-storm-1.0.2 
ExecStart=/home/storm/apache-storm-1.0.2/bin/storm nimbus 
Restart=on-failure