几句命令搞定一个es:docker安装elasticsearch+可视化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。
然后保存退出容器。
这里提一下,有些容器内没有vi命令,可以在宿主机上编辑好之后通过docker的复制命令将文件覆盖到容器内

docker cp /local/path/to/file 容器名称:/path/to/file

将文件从容器中复制到宿主机

docker cp 容器名称:/path/to/file /local/path/to/file

然后重启kibana。

docker restart kibana

访问测试一下:http://IP地址:5601

后续查个图

还有个es可视化客户端:ElasticHD也挺好用,linux,windows,mac版本的都有。
想下载的话看下这个:
https://blog.csdn.net/feiying0canglang/article/details/126348055

最后

这样一个简单的自己能用的es就搭建完成了,自己也能简单的使用了。后续会继续写一个demo,记录一下在项目中如何使用es。
最后希望大家别想我一样,遇到自己没有接触的领域就先胆怯,要先去简单的尝试一下,说不定就是很简单的东西呢,试一下又要不了自己的老命是吧。。。
如果写的有什么问题,希望多多指正。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值