Docker搭建es和kibana的詳細過程
一、安裝es
1.拉取鏡像
sudo docker pull elasticsearch:7.12.0
elasticsearch:7.12.0:我安裝的版本是7.12.0,可以根據(jù)實際的情況安裝
創(chuàng)建docker容器掛在的目錄:
sudo mkdir -p /opt/elasticsearch/config sudo mkdir -p /opt/elasticsearch/data sudo mkdir -p /opt/elasticsearch/plugins
配置文件:
echo "http.host: 0.0.0.0" >> /opt/elasticsearch/config/elasticsearch.yml
創(chuàng)建容器:
sudo docker run --name elasticsearch -p 9200:9200 -p 9300:9300 \ -e "discovery.type=single-node" \ -e ES_JAVA_OPTS="-Xms84m -Xmx512m" \ -v /rda/elasticsearch/config/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml \ -v /rda/elasticsearch/data:/usr/share/elasticsearch/data \ -v /rda/elasticsearch/plugins:/usr/share/elasticsearch/plugins \ -d elasticsearch:7.12.0
說明:
- -p 端口映射
- -e discovery.type=single-node 單點模式啟動
- -e ES_JAVA_OPTS=“-Xms84m -Xmx512m”:設置啟動占用的內(nèi)存范圍
- -v 目錄掛載
- -d 后臺運行
查看啟動詳情
docker ps 查看是否啟動
docker logs elasticsearch 啟動日志查詢
docker restart elasticsearch 重啟
docker exec -it elasticsearch bash 進入
可能會出現(xiàn)的安裝異常
異常一:文件夾未設置所有用戶讀寫執(zhí)行權(quán)限
,處理:sudo chmod -R 777 /opt/elasticsearch/
ncaught exception in thread [main]",
"stacktrace": ["org.elasticsearch.bootstrap.StartupException: ElasticsearchException[failed to bind service]; nested: AccessDeniedException[/usr/share/elasticsearch/data/nodes];",
"at org.elasticsearch.bootstrap.Elasticsearch.init(Elasticsearch.java:163) ~[elasticsearch-7.12.0.jar:7.12.0]",
"at org.elasticsearch.bootstrap.Elasticsearch.execute(Elasticsearch.java:150) ~[elasticsearch-7.12.0.jar:7.12.0]",
"at org.elasticsearch.cli.EnvironmentAwareCommand.execute(EnvironmentAwareCommand.java:75) ~[elasticsearch-7.12.0.jar:7.12.0]",
"at org.elasticsearch.cli.Command.mainWithoutErrorHandling(Command.java:116) ~[elasticsearch-cli-7.12.0.jar:7.12.0]",
"at org.elasticsearch.cli.Command.main(Command.java:79) ~[elasticsearch-cli-7.12.0.jar:7.12.0]",
"at org.elasticsearch.bootstrap.Elasticsearch.main(Elasticsearch.java:115) ~[elasticsearch-7.12.0.jar:7.12.0]",
"at org.elasticsearch.bootstrap.Elasticsearch.main(Elasticsearch.java:81) ~[elasticsearch-7.12.0.jar:7.12.0]",
"Caused by: org.elasticsearch.ElasticsearchException: failed to bind service",
"at org.elasticsearch.node.Node.<init>(Node.java:744) ~[elasticsearch-7.12.0.jar:7.12.0]",
"at org.elasticsearch.node.Node.<init>(Node.java:278) ~[elasticsearch-7.12.0.jar:7.12.0]",
"at org.elasticsearch.bootstrap.Bootstrap$5.<init>(Bootstrap.java:217) ~[elasticsearch-7.12.0.jar:7.12.0]",
"at org.elasticsearch.bootstrap.Bootstrap.setup(Bootstrap.java:217) ~[elasticsearch-7.12.0.jar:7.12.0]",
"at org.elasticsearch.bootstrap.Bootstrap.init(Bootstrap.java:397) ~[elasticsearch-7.12.0.jar:7.12.0]",
"at org.elasticsearch.bootstrap.Elasticsearch.init(Elasticsearch.java:159) ~[elasticsearch-7.12.0.jar:7.12.0]",
"... 6 more",
"Caused by: java.nio.file.AccessDeniedException: /usr/share/elasticsearch/data/nodes",
"at sun.nio.fs.UnixException.translateToIOException(UnixException.java:90) ~[?:?]",
"at sun.nio.fs.UnixException.rethrowAsIOException(UnixException.java:106) ~[?:?]",
"at sun.nio.fs.UnixException.rethrowAsIOException(UnixException.java:111) ~[?:?]",
"at sun.nio.fs.UnixFileSystemProvider.createDirectory(UnixFileSystemProvider.java:388) ~[?:?]",
"at java.nio.file.Files.createDirectory(Files.java:694) ~[?:?]",
"at java.nio.file.Files.createAndCheckIsDirectory(Files.java:801) ~[?:?]",
"at java.nio.file.Files.createDirectories(Files.java:787) ~[?:?]",
"at org.elasticsearch.env.NodeEnvironment.lambda$new$0(NodeEnvironment.java:265) ~[elasticsearch-7.12.0.jar:7.12.0]",
"at org.elasticsearch.env.NodeEnvironment$NodeLock.<init>(NodeEnvironment.java:202) ~[elasticsearch-7.12.0.jar:7.12.0]",
"at org.elasticsearch.env.NodeEnvironment.<init>(NodeEnvironment.java:262) ~[elasticsearch-7.12.0.jar:7.12.0]",
"at org.elasticsearch.node.Node.<init>(Node.java:352) ~[elasticsearch-7.12.0.jar:7.12.0]",
"at org.elasticsearch.node.Node.<init>(Node.java:278) ~[elasticsearch-7.12.0.jar:7.12.0]",
"at org.elasticsearch.bootstrap.Bootstrap$5.<init>(Bootstrap.java:217) ~[elasticsearch-7.12.0.jar:7.12.0]",
"at org.elasticsearch.bootstrap.Bootstrap.setup(Bootstrap.java:217) ~[elasticsearch-7.12.0.jar:7.12.0]",
"at org.elasticsearch.bootstrap.Bootstrap.init(Bootstrap.java:397) ~[elasticsearch-7.12.0.jar:7.12.0]",
"at org.elasticsearch.bootstrap.Elasticsearch.init(Elasticsearch.java:159) ~[elasticsearch-7.12.0.jar:7.12.0]",
"... 6 more"] }
uncaught exception in thread [main]
ElasticsearchException[failed to bind service]; nested: AccessDeniedException[/usr/share/elasticsearch/data/nodes];
Likely root cause: java.nio.file.AccessDeniedException: /usr/share/elasticsearch/data/nodes
at java.base/sun.nio.fs.UnixException.translateToIOException(UnixException.java:90)
at java.base/sun.nio.fs.UnixException.rethrowAsIOException(UnixException.java:106)
at java.base/sun.nio.fs.UnixException.rethrowAsIOException(UnixException.java:111)
at java.base/sun.nio.fs.UnixFileSystemProvider.createDirectory(UnixFileSystemProvider.java:388)
at java.base/java.nio.file.Files.createDirectory(Files.java:694)
at java.base/java.nio.file.Files.createAndCheckIsDirectory(Files.java:801)
at java.base/java.nio.file.Files.createDirectories(Files.java:787)
at org.elasticsearch.env.NodeEnvironment.lambda$new$0(NodeEnvironment.java:265)
at org.elasticsearch.env.NodeEnvironment$NodeLock.<init>(NodeEnvironment.java:202)
at org.elasticsearch.env.NodeEnvironment.<init>(NodeEnvironment.java:262)
at org.elasticsearch.node.Node.<init>(Node.java:352)
at org.elasticsearch.node.Node.<init>(Node.java:278)
at org.elasticsearch.bootstrap.Bootstrap$5.<init>(Bootstrap.java:217)
at org.elasticsearch.bootstrap.Bootstrap.setup(Bootstrap.java:217)
at org.elasticsearch.bootstrap.Bootstrap.init(Bootstrap.java:397)
at org.elasticsearch.bootstrap.Elasticsearch.init(Elasticsearch.java:159)
at org.elasticsearch.bootstrap.Elasticsearch.execute(Elasticsearch.java:150)
at org.elasticsearch.cli.EnvironmentAwareCommand.execute(EnvironmentAwareCommand.java:75)
at org.elasticsearch.cli.Command.mainWithoutErrorHandling(Command.java:116)
at org.elasticsearch.cli.Command.main(Command.java:79)
at org.elasticsearch.bootstrap.Elasticsearch.main(Elasticsearch.java:115)
at org.elasticsearch.bootstrap.Elasticsearch.main(Elasticsearch.java:81)
For complete error details, refer to the log at /usr/share/elasticsearch/logs/elasticsearch.log
異常二:echo “http.host:0.0.0.0” ==》echo “http.host: 0.0.0.0”;“:”后面有個空格!
異常三:因虛擬內(nèi)存太少
導致,處理:sudo sysctl -w vm.max_map_count=262144
二、安裝kibana
拉取鏡像
docker pull kibana
1、mkdir -p /mydata/elasticsearch/kibana/config/ 2、vim /mydata/elasticsearch/kibana/config/kibana.yml 配置以下內(nèi)容: server.name: kibana server.host: "0" elasticsearch.hosts: [ "http://192.168.170.132:9200" ] xpack.monitoring.ui.container.elasticsearch.enabled: true (192.168.170.132為自己的虛擬機ip地址,根據(jù)自己的地址進行修改。) 3、docker run -d --name=kibana --restart=always -p 5601:5601 -v /mydata/elasticsearch/kibana/config/kibana.yml:/usr/share/kibana/config/kibana.yml kibana:7.4.2
到此這篇關于Docker搭建es和kibana的文章就介紹到這了,更多相關Docker搭建es和kibana內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
Docker容器中Mysql數(shù)據(jù)的導入/導出詳解
服務器在使用了 Docker 后,對于備份和恢復數(shù)據(jù)庫的事情做下記錄,下面這篇文章主要給大家介紹了Docker容器中Mysql數(shù)據(jù)導入/導出的相關資料,文中通過示例代碼介紹的非常詳細,需要的朋友可以參考下2018-09-09Docker創(chuàng)建enrollment token錯誤異常解析及解決方案
部署完kibana,需要通過enrollment token方式來連接elasticsearch,此時需要在elasticsearch中創(chuàng)建enrollment token,這篇文章主要介紹了Docker創(chuàng)建enrollment token錯誤異常解析及解決方案,需要的朋友可以參考下2024-04-04docker?pull?mysql報missing?signature?key錯誤解決辦法
這篇文章主要給大家介紹了關于docker?pull?mysql報missing?signature?key錯誤的解決辦法,docker pull mysql命令用于從Docker Hub下載MySQL鏡像,需要的朋友可以參考下2023-11-11