elasticsearch及Kibana的docker安装

最近因为工作需要又一次用到elasticsearch,由于elasticsearch中的内容较为复杂,并且一直没有机会进行系统性的学习,所以,趁着摸鱼,准备通过docker搭建elasticsearch 以及Kibana。

docker镜像选择

最新的es镜像在哪里

安装前,简单在网上看了一些教程,基本上拉取镜像的过程都是直接略过,或者简单提到 docker pull elasticsearch,但是在我实际拉取过程中,发现拉取速度极慢,且尝试多次,都以失败告终,起初以为是个网络原因,docker-hub访问慢,所以配置了阿里和网易的镜像源进行尝试,发现依然没有解决问题。最终产看elastic 官网,发现elastic的镜像并没有在dockerhub上托管,而是在elastic自己的仓库。

elasticsearch | Docker @ Elastic

从官方提供的地址下载,可以较快的把镜像下来。并且供选择的版本也很全面。

配置docker 映射目录及docker脚本

  • 使用docker启动elasticsearch 需要 创建映射的目录(方便后期修改配置文件,安装插件等等)。这里我创建了三个目录,分别为
/data/elasticsearch/config --用于保存配置文件
/data/elasticsearch/data --用于保存数据
/data/elasticsearch/plugins --用于保存es的插件(如中文分词插件等)
  • 在创建完目录后,需要在config文件夹中添加配置文件elasticsearch.yml(这个配置文件仅限测试使用,因为没有添加密码相关的验证)

    http.cors.enabled: true
    http.cors.allow-origin: "*"
    http.host: 0.0.0.0
    xpack.security.enabled: false
    
    
  • docker启动命令

    在进行到这一步的时候,基本上就没有什么坑了,可以通过常规的docker run进行启动了。

    docker run --name es -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" -e ES_JAVA_OPTS="-Xms84m -Xmx512m" -v /dockerdata/elasticsearch/config/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml -v /dockerdata/elasticsearch/data:/usr/share/elasticsearch/data -v /dockerdata/elasticsearch/plugins:/usr/share/elasticsearch/plugins -d docker.elastic.co/elasticsearch/elasticsearch:8.8.1-amd64
    

    这里需要注意的是,目录的映射以及elasticsearch镜像的名称。

    然后可以通过docker logs -f 容器id查看启动的情况了。

  • 启动测试

    通过浏览器访问127.0.0.1:9200,能够看到es的配置文件,则表示elasticsearch启动成功。

安装Kibana

Kibana的安装较为简单,需要主要的是,kibana的版本需要和elasticsearch的版本保持一致,es的版本我选择的是8.8.1,依然通过elastic官网提供的docker镜像进行下载即可。

  • 启动命令

    kibana的安装过程没有完全按照官网的教程,对一些过程进行了化简。

    • 首先通过 docker inspect es 命令,查看es的详细信息,这里主要是为了看到es的ip。

      "Networks": {
                      "bridge": {
                          "IPAMConfig": null,
                          "Links": null,
                          "Aliases": null,
                          "NetworkID": "58f9093734c66242089d49d7dc60ddbb427a8df9eb92ebb13c871c6073bd17f6",
                          "EndpointID": "c7a5ea6c0d42ee538c571ac3506c56530f08e8bf884605295515e1c4bbbded42",
                          "Gateway": "172.17.0.1",
                          "IPAddress": "172.17.0.3",
                          "IPPrefixLen": 16,
                          "IPv6Gateway": "",
                          "GlobalIPv6Address": "",
                          "GlobalIPv6PrefixLen": 0,
                          "MacAddress": "02:42:ac:11:00:03",
                          "DriverOpts": null
                      }
                  }
              }
          }
      

      其中,IPAddress对应的值,就是es的ip,后续在kibana的启动命令中需要用到。

    • 启动脚本

      docker run --name kibana -p 5601:5601 -e ELASTICSEARCH_HOSTS=http://172.17.0.3:9200 -d kibana:8.8.1这里 hosts的地址,就是刚才的IPAddress对应的es地址。

      一开始想着在同一个机器上进行安装,可以通过127.0.0.1:9200进行连接,发现无法连接到es,导致kibana最终启动失败。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值