2017-02-05 6 views
0

を開始されたサービスを防ぐ:Elasticsearchのpath.repoは、私はここに私のスナップショットを保存したい

/root/backups/elastic 

だから私は/etc/elasticsearch/elasticsearch.ymlの終わりにこのラインを追加しました:

path.repo: ["/root/backups/elastic"] 

elasticsearchサービスを開始しようとすると、エラーが発生してサービスが開始できませんでした。 その行にコメントした後、私は再びサービスを開始できます。

sudo chmod 777 /root/backups/ 
sudo chown elasticsearch /root/backups/ 
sudo chown elasticsearch /root/backups/elastic/ 

何が問題になっています:

java.lang.IllegalStateException: Unable to access 'path.repo' (/root/backups/elastic) 
     at org.elasticsearch.bootstrap.Security.addPath(Security.java:316) 
     at org.elasticsearch.bootstrap.Security.addFilePermissions(Security.java:262) 
     at org.elasticsearch.bootstrap.Security.createPermissions(Security.java:212) 
     at org.elasticsearch.bootstrap.Security.configure(Security.java:118) 
     at org.elasticsearch.bootstrap.Bootstrap.setupSecurity(Bootstrap.java:212) 
     at org.elasticsearch.bootstrap.Bootstrap.setup(Bootstrap.java:183) 
     at org.elasticsearch.bootstrap.Bootstrap.init(Bootstrap.java:286) 
     at org.elasticsearch.bootstrap.Elasticsearch.main(Elasticsearch.java:45) 
Caused by: java.nio.file.AccessDeniedException: /root/backups 
     at sun.nio.fs.UnixException.translateToIOException(UnixException.java:84) 
     at sun.nio.fs.UnixException.rethrowAsIOException(UnixException.java:102) 
     at sun.nio.fs.UnixException.rethrowAsIOException(UnixException.java:107) 
     at sun.nio.fs.UnixFileSystemProvider.checkAccess(UnixFileSystemProvider.java:308) 
     at java.nio.file.Files.createDirectories(Files.java:702) 
     at org.elasticsearch.bootstrap.Security.ensureDirectoryExists(Security.java:337) 
     at org.elasticsearch.bootstrap.Security.addPath(Security.java:314) 

が、私は問題を解決するためにこれらのコマンドを使用:ログファイルエラーで
は、と言っていますか?

+0

あなたが追加したラインのコサージュですか?他の*エラー*トレース? – Kulasangar

+0

@Darth_Vaderはい!その行にコメントした後、もう一度サービスを開始できます –

答えて

1

まず最初に、ルートディレクトリを使用することはバックアップのための非常に悪いアイデアであり、すべてのアクセス許可が与えられればセキュリティ上の悪夢です。 AccessDeniedExceptionは、elasticsearchのためにrootディレクトリにアクセスできない可能性があります。

$ ls -l /root 
ls: cannot open directory '/root': Permission denied 
$ ls -l/
drwx------ 10 root root  4096 Jan 25 22:41 root 

chmod o+rx /rootを実際にテストしたい場合は例外がなくなるはずです。バックアップ用に共有SAN/NASマウントポイントまたはAWS S3ファイルストレージを使用することを強くお勧めします。

2番目私はあなたが共有ファイルシステムのアプローチを使用していると仮定します。

問題を推測するためにいくつかの情報を追加する必要があります。クラスタにいくつのノードがありますか?実行しているelasticsearchのバージョンは何ですか?

設定値path.repoは、elasticsearch.ymlすべてのクラスタ内のノードである必要があります。ノードが起動しても、バックアップが失敗してリストアが失敗することがあります。

関連する問題