1. es 安裝
docker pull elasticsearch:7.12.0
2.創(chuàng)建對(duì)應(yīng)的映射文件目錄
mkdir -p /root/tools/elasticsearch/config
mkdir -p /root/tools/elasticsearch/data
mkdir -p /root/tools/elasticsearch/plugins
3. 修改配置文件讓其他機(jī)器可以訪問
[root@basenode ~]# echo "http.host: 0.0.0.0" >> /root/tools/elasticsearch/config/elasticsearch.yml
[root@basenode ~]#
3.1 增加跨域配置
/root/tools/elasticsearch/config
[root@basenode config]# vi elasticsearch.yml
http.host: 0.0.0.0
http.cors.enabled: true
http.cors.allow-origin: "*"
4. 創(chuàng)建容器
docker run --name elasticsearch -p 9200:9200 \
-e "discovery.type=single-node" \
-e ES_JAVA_OPTS="-Xms84m -Xmx512m" \
-v /root/tools/elasticsearch/config/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml \
-v /root/tools/elasticsearch/data:/usr/share/elasticsearch/data \
-v /root/tools/elasticsearch/plugins:/usr/share/elasticsearch/plugins \
-d elasticsearch:7.12.0
[root@basenode ~]# docker run --name elasticsearch -p 9200:9200 \
> -e "discovery.type=single-node" \
> -e ES_JAVA_OPTS="-Xms84m -Xmx512m" \
> -v /root/tools/elasticsearch/config/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml \
> -v /root/tools/elasticsearch/data:/usr/share/elasticsearch/data \
> -v /root/tools/elasticsearch/plugins:/usr/share/elasticsearch/plugins \
> -d elasticsearch:7.12.0
95ee90ad2096eab048fd14f154041852689fb8bf1cb8b00bd327bb21f482a2e2
[root@basenode ~]#
5. 賦值權(quán)限
[root@basenode elasticsearch]# chmod -R 777 /root/tools/elasticsearch
不賦值權(quán)限會(huì)報(bào)錯(cuò)
ncaught 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
6. 訪問
http://192.168.1.180:9200/
es9200.png
7. kibana 的安裝
[root@basenode ~]# docker pull kibana:7.12.0
7.1 創(chuàng)建文件夾
mkdir -p /root/tools/kibana/config
7.2 創(chuàng)建文件
[root@basenode ~]# cd /root/tools/kibana/config/
[root@basenode config]# ll
總用量 0
[root@basenode config]# vi kibana.yml
#Kibana的映射端口
server.port: 5601
#網(wǎng)關(guān)地址
server.host: "0.0.0.0"
#Kibana實(shí)例對(duì)外展示的名稱
server.name: "kibana-180"
#Elasticsearch的集群地址耸三,也就是說所有的集群IP
elasticsearch.hosts: ["http://192.168.1.180:9200"]
#設(shè)置頁面語言仪壮,中文使用zh-CN胳徽,英文使用en
i18n.locale: "zh-CN"
xpack.monitoring.ui.container.elasticsearch.enabled: true
7.3 創(chuàng)建網(wǎng)絡(luò)映射
[root@basenode config]# docker network create es-net
7.4 創(chuàng)建容器
docker run -d -p 5601:5601 -v /root/tools/kibana/config/kibana.yml:/usr/share/kibana/config/kibana.yml --network es-net --name kibana kibana:7.12.0
7.5 訪問地址
192.168.1.180:5601/app/home
es-elastic.png
8. 安裝 head
docker pull mobz/elasticsearch-head:5
8.1 啟動(dòng)head 容器
docker run -d --name elasticsearch-head -p 9100:9100 mobz/elasticsearch-head:5
8.2 訪問head 并且連接
ES-head.png