我自己編寫了docker-compose文件用來啓動elasticsearch,docker-compose文件如下:
version: '2'
services:
hdback-elasticsearch:
#自己生成的elasticsearch集成ik分詞器鏡像
image: ***/elasticsearch-with-ik:6.4.3
environment:
- bootstrap.memory_lock=true
- "ES_JAVA_OPTS=-Xms1024m -Xmx1024m"
ulimits:
memlock:
soft: -1
hard: -1
nofile:
soft: 65536
hard: 65536
volumes:
- ./es/es-with-ik-data/:/usr/share/elasticsearch/data/
ports:
- 9200:9200
- 9300:9300
elasticsearch集成IK分詞器詳解:https://blog.csdn.net/s1078229131/article/details/90036289
啓動時elasticsearch卻拋出如下異常:
hdback-elasticsearch_1 | org.elasticsearch.bootstrap.StartupException: java.lang.IllegalStateException: Failed to create node environment
hdback-elasticsearch_1 | at org.elasticsearch.bootstrap.Elasticsearch.init(Elasticsearch.java:140) ~[elasticsearch-6.4.3.jar:6.4.3]
hdback-elasticsearch_1 | at org.elasticsearch.bootstrap.Elasticsearch.execute(Elasticsearch.java:127) ~[elasticsearch-6.4.3.jar:6.4.3]
hdback-elasticsearch_1 | at org.elasticsearch.cli.EnvironmentAwareCommand.execute(EnvironmentAwareCommand.java:86) ~[elasticsearch-6.4.3.jar:6.4.3]
hdback-elasticsearch_1 | at org.elasticsearch.cli.Command.mainWithoutErrorHandling(Command.java:124) ~[elasticsearch-cli-6.4.3.jar:6.4.3]
hdback-elasticsearch_1 | at org.elasticsearch.cli.Command.main(Command.java:90) ~[elasticsearch-cli-6.4.3.jar:6.4.3]
hdback-elasticsearch_1 | at org.elasticsearch.bootstrap.Elasticsearch.main(Elasticsearch.java:93) ~[elasticsearch-6.4.3.jar:6.4.3]
hdback-elasticsearch_1 | at org.elasticsearch.bootstrap.Elasticsearch.main(Elasticsearch.java:86) ~[elasticsearch-6.4.3.jar:6.4.3]
hdback-elasticsearch_1 | Caused by: java.lang.IllegalStateException: Failed to create node environment
hdback-elasticsearch_1 | at org.elasticsearch.node.Node.<init>(Node.java:277) ~[elasticsearch-6.4.3.jar:6.4.3]
hdback-elasticsearch_1 | at org.elasticsearch.node.Node.<init>(Node.java:256) ~[elasticsearch-6.4.3.jar:6.4.3]
hdback-elasticsearch_1 | at org.elasticsearch.bootstrap.Bootstrap$5.<init>(Bootstrap.java:213) ~[elasticsearch-6.4.3.jar:6.4.3]
hdback-elasticsearch_1 | at org.elasticsearch.bootstrap.Bootstrap.setup(Bootstrap.java:213) ~[elasticsearch-6.4.3.jar:6.4.3]
hdback-elasticsearch_1 | at org.elasticsearch.bootstrap.Bootstrap.init(Bootstrap.java:326) ~[elasticsearch-6.4.3.jar:6.4.3]
hdback-elasticsearch_1 | at org.elasticsearch.bootstrap.Elasticsearch.init(Elasticsearch.java:136) ~[elasticsearch-6.4.3.jar:6.4.3]
hdback-elasticsearch_1 | ... 6 more
hdback-elasticsearch_1 | Caused by: java.nio.file.AccessDeniedException: /usr/share/elasticsearch/data/nodes
hdback-elasticsearch_1 | at sun.nio.fs.UnixException.translateToIOException(UnixException.java:90) ~[?:?]
hdback-elasticsearch_1 | at sun.nio.fs.UnixException.rethrowAsIOException(UnixException.java:111) ~[?:?]
hdback-elasticsearch_1 | at sun.nio.fs.UnixException.rethrowAsIOException(UnixException.java:116) ~[?:?]
hdback-elasticsearch_1 | at sun.nio.fs.UnixFileSystemProvider.createDirectory(UnixFileSystemProvider.java:385) ~[?:?]
hdback-elasticsearch_1 | at java.nio.file.Files.createDirectory(Files.java:682) ~[?:?]
hdback-elasticsearch_1 | at java.nio.file.Files.createAndCheckIsDirectory(Files.java:789) ~[?:?]
hdback-elasticsearch_1 | at java.nio.file.Files.createDirectories(Files.java:775) ~[?:?]
hdback-elasticsearch_1 | at org.elasticsearch.env.NodeEnvironment.<init>(NodeEnvironment.java:207) ~[elasticsearch-6.4.3.jar:6.4.3]
hdback-elasticsearch_1 | at org.elasticsearch.node.Node.<init>(Node.java:274) ~[elasticsearch-6.4.3.jar:6.4.3]
hdback-elasticsearch_1 | at org.elasticsearch.node.Node.<init>(Node.java:256) ~[elasticsearch-6.4.3.jar:6.4.3]
hdback-elasticsearch_1 | at org.elasticsearch.bootstrap.Bootstrap$5.<init>(Bootstrap.java:213) ~[elasticsearch-6.4.3.jar:6.4.3]
hdback-elasticsearch_1 | at org.elasticsearch.bootstrap.Bootstrap.setup(Bootstrap.java:213) ~[elasticsearch-6.4.3.jar:6.4.3]
hdback-elasticsearch_1 | at org.elasticsearch.bootstrap.Bootstrap.init(Bootstrap.java:326) ~[elasticsearch-6.4.3.jar:6.4.3]
hdback-elasticsearch_1 | at org.elasticsearch.bootstrap.Elasticsearch.init(Elasticsearch.java:136) ~[elasticsearch-6.4.3.jar:6.4.3]
hdback-elasticsearch_1 | ... 6 more
異常說是創建節點環境失敗,操作/usr/share/elasticsearch/data/nodes的IO錯誤,嘗試給此目錄添加讀寫權限後,依舊沒什麼**用,靈機一動是不是掛載目錄沒有權限導致的?
chmod 777 掛載目錄路徑
例如我的:chmod 777 es/es-with-ik-data/
再次docker-compose啓動, OK!!!!問題解決☺
最後給各位看官來波福利!
阿里雲服務器代金券和折扣免費領:https://promotion.aliyun.com/ntms/yunparter/invite.html?userCode=ypbt9nme
性能級主機2-5折:https://promotion.aliyun.com/ntms/act/enterprise-discount.html?userCode=ypbt9nme
新用戶雲通訊專享8折:https://www.aliyun.com/acts/alicomcloud/new-discount?userCode=ypbt9nme
新老用戶雲主機低4折專項地址:https://promotion.aliyun.com/ntms/act/qwbk.html?userCode=ypbt9nme
680元即可註冊商標專項地址:https://tm.aliyun.com/?userCode=ypbt9nme