docker部署ElasticSearch相关问题解决

1.内存不足,启动失败

原因是es需求大,jvm一般不足,需要修改配置

sudo sysctl -w vm.max_map_count=262144

 

2.Kibana server is not ready yet

1.关闭防火墙(学习的时候最好把防火墙关掉)

实际环境要配置防火墙规则。不可能真的关闭防火墙

//查看防火墙状态

systemctl status firewalld.service

//暂时关闭防火墙

systemctl stop firewalld

 

3.安装IK中文分词插件

分词插件最好下载到本地,拷贝到容器内直接安装,要不速度太慢

复制命令:docker cp 

只要把插件解压在指定目录即可

/usr/share/elasticsearch/plugins/ik

解压完成,重启容器

docker restart 容器id

因为容器停止,插件就需要重新安装。所以安装完成之后,最好就不要再重启容器

也可以在安装完成之后,制作自己已安装好插件的镜像。

进入容器命令

docker exec -it 容器ID bash (ps:并不需要全名,只需要唯一,哪怕一两个字母也行)

容器内直接安装命令:

elasticsearch-plugin install https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v6.5.4/elasticsearch-analysis-ik-6.5.4.zip

在ES启动完成之时:(localhost是你安装机器的IP)

http://localhost:9200/测试ES

docker部署ElasticSearch相关问题解决

当出现如上信息表示ES安装没问题。

具体可以去后台看一下日志输出

命令:docker logs -f 容器id

在确保ES安装没问题的前提下

再访问http://localhost:5601/,如果kibana安装没问题会显示界面。

但kibana这特别容易出问题:

1.首先确认版本是否全部保持一致。

2.其次看查看防火墙相关问题。学习就直接关最好,排除一个明显又很容易被人遗忘的大坑。

3.这两个软件启动都不快,适时地的耐心等待,因为本人就是因为没有耐心等待而被误导。(启动时长真的感人)

4.至于网上让进容器内修改kibana配置文件,路径/usr/share/kibana/config/kibana.yml根本是乱弹琴。实测,跟这个没有关系,希望不要被误导

 

5.docker-compose下.yml配置文件

version: '3.8'
services:
  elasticsearch:
    restart: always
    image: daocloud.io/library/elasticsearch:6.5.4
    container_name: elasticsearch
    ports:
      - 9200:9200
   # environment:
   #   - ES_JAVA_OPTS=-Xms512m -Xmx512m
  kibana: 
    image: daocloud.io/library/kibana:6.5.4
    restart: always
    container_name: kibana
    ports:
      - 5601:5601
    environment: 
      - elasticsearch.url= http://localhost:9200
    depends_on:
      - elasticsearch