Docker安装ElasticSearch

1.安装ElasticSearch

1
docker pull ElasticSearch:7.4.0

2.启动ElasticSearch

这里因为我的阿里云内存比较小,所以只设置256m的JVM内存空间。
官网标准的建议是把 50% 的可用内存作为 Elasticsearch的堆内存

1
2
docker network create mynetwork --driver=bridge
docker run -p 9200:9200 -p 9300:9300 -e ES_JAVA_OPTS="-Xms256m -Xmx256m" -e "http.host=0.0.0.0" -e "transport.host=0.0.0.0" -e "xpack.security.enabled=false" -d --name ES -d --network mynetwork elasticsearch:7.4.0

2.1 修改elasticsearch.yml

1
2
network.host: 47.98.131.180
重启ES

3.安装IK分词器

IK所有版本下载(找到自己ElasticSearch对应的版本,比如我这里用的是7.4.0,所以IK分词器版本也要是7.4.0,要不然会报错)

1
https://github.com/medcl/elasticsearch-analysis-ik/releases

3.1 在线安装

3.1.1 进入容器

1
docker exec -it ES /bin/bash

3.1.2 在线下载并安装

1
./bin/elasticsearch-plugin install https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v7.4.0/elasticsearch-analysis-ik-6.5.4.zip

3.2 离线安装

3.2.1 将压缩包移动到容器中

1
docker cp /tmp/elasticsearch-analysis-ik-7.4.0.zip elasticsearch:/usr/share/elasticsearch/plugins

3.2.2 进入容器

1
docker exec -it ES /bin/bash

3.2.3 创建目录

1
mkdir /usr/share/elasticsearch/plugins/ik

3.2.4 将文件压缩包移动到ik中

1
mv /usr/share/elasticsearch/plugins/elasticsearch-analysis-ik-7.4.0.zip /usr/share/elasticsearch/plugins/ik

3.2.5 进入目录

1
cd /usr/share/elasticsearch/plugins/ik

3.2.6 解压并删除压缩包

1
2
3
unzip elasticsearch-analysis-ik-7.4.0.zip

rm -rf elasticsearch-analysis-ik-7.4.0.zip

3.3 退出并重启镜像

1
2
exit
docker restart elasticsearch

4.安装kibana

这里要选择和elasticsearch同一版本的kibana

1
docker pull kibana:7.4.0

4.1 启动kibana

1
docker run --name kibana -e ELASTICSEARCH_URL=http://47.98.131.180:9200 -p 5601:5601 -d kibana:7.4.0

但是我这里出现了错误Kibana server is not ready yet
解决方法:

1
2
修改kibana容器中的kibana.yml
修改elasticsearch.url为elasticsearch的地址

4.2 设置中文

1
2
3
修改kibana容器中的kibana.yml
修改i18n.locale: "zh-CN"
重启即可

测试kibana

1
浏览器访问http://47.98.131.180:5601/即可