zoukankan      html  css  js  c++  java
  • Docker安装Elasticsearch

    今天尝试在docker下安装elasticsearch各种报错与总结

    安装过程

      docker images看了一下里边是有elasticsearch镜像的所以不用下载了,如果没有docker pull elasticsearch

      docker run -d elasticsearch试了一下没问题可以启动成功

      真是工作中我们需要挂在虚拟路径

    docker run -d --name es_gy -p 9200:9200
    -e "discovery.type=single-node"
    -e ES_JAVA_OPTS="-Xms64m -Xmx512m"
    -v /usr/local/gyserver/db/elasticsearch/plugins:/usr/share/elasticsearch/plugins
    -v /usr/local/gyserver/db/elasticsearch/data:/usr/share/elasticsearch/data
    -v /usr/local/gyserver/db/elasticsearch/conf:/usr/share/elasticsearch/config
    elasticsearch:7.6.2

      哎呀命令运行成功了,但是服务一会儿就停掉了,看来是报错了

      docker logs es_gy (es_gy 为镜像名,也可以用镜像id,docker ps -a 可以看到)

      日志有点长不太想看,既然不带参数可以启动成功那么肯定是某一行参数出现了问题那么挨个尝试吧,最终发现

    -v /usr/local/gyserver/db/elasticsearch/data:/usr/share/elasticsearch/data
    -v /usr/local/gyserver/db/elasticsearch/conf:/usr/share/elasticsearch/config

      增加这两行就无法正常启动了,仔细查看了这两行命令仅仅是做了虚拟路径挂在理论上不应该出现什么问题啊

    分析

      我们在Linux环境中安装elasticsearch是需要为elasticsearch创建用户及授权的,那么docker要挂在虚拟路径是不是也存在权限问题呢,试一下看看(chown -R elasticsearch.root *)

      更改权限后data目录成功了,但是config 仍然不行

      睡了一觉突然想起来docker安装其他的mysql啊redis好像都只挂在了config文件而不是路径不知道单独挂载文件试下是否可行于是乎(如果想挂载文件夹需要创建config下的所有配置文件)

    docker run -d --name es_gy -p 9200:9200
    -e "discovery.type=single-node"
    -e ES_JAVA_OPTS="-Xms64m -Xmx512m"
    -v /usr/local/gyserver/db/elasticsearch/plugins:/usr/share/elasticsearch/plugins
    -v /usr/local/gyserver/db/elasticsearch/data:/usr/share/elasticsearch/data
    -v /usr/local/gyserver/db/elasticsearch/config/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml
    elasticsearch:7.6.2

      好像成功了!!!!!

      修改一下宿主机的配置文件然后去看看docker容器里的配置文件有没有修改!!咦没有同步修改。。。为什么?

      重启下试试 docker restart es_gy 

      再来!!修改成功配置文件通不过去了!!!接下来就可以尽情的玩耍了!

    总结:

      config文件夹不能是空空的 进行挂载是因为es启动时需要读这些配置,读不到启动直接报错了,而data文件夹是启动以后创建文件,只要有权限就可以创建

  • 相关阅读:
    1、PHP入门二维数组与循环
    Nginx 配置反向代理后,页面中取绝对URL地址的问题显示代理端口
    苹果手机上点击WEUI日期控件不容易点中
    ios 不支持-,-时间。
    Newtonsoft.Json添加项
    Baidu地图Map api直接加https不起作用
    腾讯云cos封装
    linux连接工具隧道模式
    微信调试工具测试时有时候复制URL没有corpid解决
    WEUI控件JS用法
  • 原文地址:https://www.cnblogs.com/lch1990/p/15189196.html
Copyright © 2011-2022 走看看