docker下安装elasticsearch、kibana、analysis-ik
docker+es+kibana+ik
1、修改配置
#可以不修改,主要是针对于内存不足问题
vi /etc/sysctl.conf # 追加 vm.max_map_count=262144 # 退出保存后执行以下命令让参数生效 sysctl -p
2、安装docker
运行es容器,若没有该镜像则自动下载
docker run --name elasticsearch -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" -d elasticsearch:7.4.0
注意:可能elasticsearch无法启动则大部分情况为内存问题导致,执行以下命令指定jvm内存
(如果执行上面的那条命令,再执行这个命令可能会报错,因为名字同名。或者删除上面那个创建的容器再执行下面的这条,二者选其一。不建议改容器名字,改了后面我kibana启动不了,这个坑我已经踩过了!)
docker run --name elasticsearch -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" -e "ES_JAVA_OPTS=-Xms256m -Xmx512m" -d elasticsearch:7.4.0
2.1、配置跨域
首先进入容器。
docker exec -it es的id /bin/bash
修改elasticsearch.yml配置文件
这里使用vim和vi命令,都提示"没有发现这个命令",这是因为Docker容器内部没有安装。所以,这里需要进行安装。
apt-get update # 获取最新的软件包 apt-get install vim # 下载
依次使用上面的命令即可安装成功,然后对"elasticsearch.yml"这个文件修改,增加如下内容。
cluster.name: "qfcwx-cluster" network.host: 0.0.0.0 http.cors.enabled: true http.cors.allow-origin: "*"
如果配置不成功,可看另一篇教程
3、命令查看elasticsearch容器是否启动
如果没有问题,应该已经启动了
docker ps
4、进入es容器安装ik分词器并配置跨域
- 进入容器
docker exec -it elasticsearch bash
- 配置跨域
(这路一定要进入容器配置跨域,还有安装下面的分词器都要在容器里面操作,安装完了再退出容器,否则会报错。这个坑我已经试过了,你们就不要再骚操作了)
vi /usr/share/elasticsearch/config/elasticsearch.yml # 追加以下内容 http.cors.enabled: true http.cors.allow-origin: "*"
- 安装ik分词器(安装过程有提示就输入y)
- 这里因为是从GitHub上面下载的,可能很慢很忙!耐心等待,学习之路是寂寞而又难耐的
cd /usr/share/elasticsearch/plugins/ elasticsearch-plugin install https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v7.4.0/elasticsearch-analysis-ik-7.4.0.zip
注意:elasticsearch和ik分词器必须为同一个版本,否则会出现不可描述的错误
查看对应的版本:https://github.com/medcl/elasticsearch-analysis-ik/tags?after=v5.6.13
5、退出并重启容器
exit
docker restart elasticsearch
6、运行kibana,若没有该镜像则自动下载
docker run --name kibana --link elasticsearch:elasticsearch -p 5601:5601 -d kibana:7.4.0
至此docker+es+kibana+ik!

浙公网安备 33010602011771号