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!

 

posted @ 2020-10-20 01:17  枫了个彬  阅读(61)  评论(0)    收藏  举报