docker安装elasticsearch+可视化kibana
- 写在前面
- es安装:docker安装elasticsearch
- es搜索:安装elasticsearch插件IK分词器
- es可视化:docker安装kibana
- 最后
写在前面
从自己知道es开始到写这篇文章差不多也有5年左右的时间了吧,之前总感觉es是大数据相关的东西很高大上,从来没有正面的去接触或者深入的了解下,或者说是自己从心底就有点胆怯,不敢去了解和学习它。最近不管是工作还是面试都问到过这个东西,我才感觉到自己必须要去了解这个东西了。经过自己搜索一些文章和摸索着自己搭建一个简单的es之后,我们就可以先把它当成一个非关系型数据库去看待就行了(当然往深处研究它肯定还是要自己多摸索和学习),一想到非关系型数据库,一下就想到redis,mongoDB,这两个自己都经常用,然后就慢慢克服自己的心理压力吧,一点点从了解到简单的会用,也算是自己成长的一个过程吧。废话不多说,下面写下过程吧,
es安装:docker安装elasticsearch
简单说下,es是一个搜索引擎。。。。。(简单吧)
1.查看镜像
docker search elasticsearch
2.下载镜像
下载最新镜像
docker pull elasticsearch
或者指定版本下载
docker pull elasticsearch:7.6.1
注意一下:这里指定版本是因为后面的kibana和IK已经后面项目中用的时候需要相应的版本对应上,要不就会报错,这是个坑。
拉取完成之后执行启动命令,首次启动需要指定一些参数:
docker run --name es7.6 \
-p 9200:9200 -p 9300:9300 \
-e "discovery.type=single-node" \
-e ES_JAVA_OPTS="-Xms64m -Xmx512m" \
-v /mydata/elasticsearch/config/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml \
-v /mydata/elasticsearch/data:/usr/share/elasticsearch/data \
-v /mydata/elasticsearch/plugins:/usr/share/elasticsearch/plugins \
-d elasticsearch:7.6.1
说明:
–name: 指定名称,以后再启动,重启都可以直接用名称;
-p: 指定映射端口;
-e “discovery.type=single-node” :单例启动;
-e ES_JAVA_OPTS=“-Xms64m -Xmx512m”:设置es占用的内存,省的以后用冒了;
-v /mydata/elasticsearch/config/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml:
指定配置文件(内容稍后补充);
-v /mydata/elasticsearch/data:/usr/share/elasticsearch/data:指定映射的数据存储位置;
-v /mydata/elasticsearch/plugins:/usr/share/elasticsearch/plugins:指定映射插件存放位置;
-d elasticsearch:7.6.1 :这个应该是指定启动版本。
测试访问一下:http://IP地址:9200
一个简单的自己测试用的es搭建成功了。
以后再启动或停止,重启就直接start,stop,restart就行
docker start es7.6
docker stop es7.6
docker restart es7.6
一个学习用的es就这么愉快的安装完成了。
es搜索:安装elasticsearch插件IK分词器
为啥要安装这个呢,因为搜索要用~
首先进入es容器:
docker exec -it es7.6 /bin/bash
我是使用在线安装的
./bin/elasticsearch-plugin install https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v7.6.1/elasticsearch-analysis-ik-7.6.1.zip
版本也要和es保持一致。
es可视化:docker安装kibana
安装kibana的大致步骤也是一样的,版本也要和es保持一致,
首先拉取镜像
docker pull kibana:7.6.1
首次启动
docker run --name kibana-e ELASTICSEARCH_HOSTS=http://172.17.0.4:9200-p 5601:5601-d kibana:7.6.1
这里要注意ELASTICSEARCH_HOSTS这个参数,这个参数指定的是es的地址,ip不是实体服务器的地址,而是通过docker查询出来的es的ip地址,如果填写错误就会报错:“Kibana server is not ready yet”
查看IP命令:
docker inspect --format '{{ .NetworkSettings.IPAddress }}' es容器ID
然后进入kibana容器,编辑配置文件
docker exec -it kibana的容器 /bin/sh
使用vi 修改文件内容
vi /usr/share/kibana/config/kibana.yml
输入以下内容
server.name: kibana
server.host: "0"
#elasticsearch.hosts: [ "http://elasticsearch:9200" ]
elasticsearch.hosts: [ "http://自己的elasticsearch的IP:9200" ]
xpack.monitoring.ui.container.elasticsearch.enabled: true
#设置kibana中文显示
i18n.locale: zh-CN
这里的elasticsearch.hosts也是刚刚听过命令查出来的ip。
然后保存退出容器,重启kibana。
docker restart kibana
访问测试一下:http://IP地址:5601
还有个es可视化客户端:ElasticHD也挺好用,linux,windows,mac版本的都有。
想下载的话看下这个:
https://blog.csdn.net/feiying0canglang/article/details/126348055
最后
这样一个简单的自己能用的es就搭建完成了,自己也能简单的使用了。后续会继续写一个demo,记录一下在项目中如何使用es。
最后希望大家别想我一样,遇到自己没有接触的领域就先胆怯,要先去简单的尝试一下,说不定就是很简单的东西呢,试一下又要不了自己的老命是吧。。。
如果写的有什么问题,希望多多指正。