نحوه رفع خطای AccessDeniedException در زمان نصب OpenSearch یا Elasticsearch

mohsen4 ماه قبل
ارسال شده در
mohsen

در صورتی که در زمان نصب OpenSearch یا Elasticsearch روی داکر در لینوکس با خطای زیر مواجه شدیم:

       ElasticsearchException[failed to bind service]; nested: AccessDeniedException[/usr/share/elasticsearch/data/nodes/0];
es02    | Likely root cause: java.nio.file.AccessDeniedException: /usr/share/elasticsearch/data/nodes/0
es02    |   at java.base/sun.nio.fs.UnixException.translateToIOException(UnixException.java:90)
es02    |   at java.base/sun.nio.fs.UnixException.rethrowAsIOException(UnixException.java:106)
es02    |   at java.base/sun.nio.fs.UnixException.rethrowAsIOException(UnixException.java:111)
es02    |   at java.base/sun.nio.fs.UnixFileSystemProvider.createDirectory(UnixFileSystemProvider.java:388)
es02    |   at java.base/java.nio.file.Files.createDirectory(Files.java:694)
es02    |   at java.base/java.nio.file.Files.createAndCheckIsDirectory(Files.java:801)
es02    |   at java.base/java.nio.file.Files.createDirectories(Files.java:787)
es02    |   at org.elasticsearch.env.NodeEnvironment.lambda$new$0(NodeEnvironment.java:275)
es02    |   at org.elasticsearch.env.NodeEnvironment$NodeLock.<init>(NodeEnvironment.java:212)
es02    |   at org.elasticsearch.env.NodeEnvironment.<init>(NodeEnvironment.java:272)
es02    |   at org.elasticsearch.node.Node.<init>(Node.java:362)
es02    |   at org.elasticsearch.node.Node.<init>(Node.java:289)
    

می توانیم با دادن دسترسی به فولدر دیتای مشخص شده برای Opensearch به گروه 1000 مشکل را حل کنیم.

      sudo chown -R 1000:root data
    

data فولدری روی سیستم میزبان است که به مسیر نگهداری دیتای الستیک سرچ مپ شده است. در زیر بخشی از فایل docker-compose.yml که مربوط به این مپینگ است را می توانید ببینید.

          volumes:
      - data:/usr/share/elasticsearch/data
    
رای
0
ارسال نظر
مرتب سازی:
اولین نفری باشید که نظر می دهید!