docker+es+kibana和springboot中使用es
本次和大家分享的主要是docker搭建es和springboot操作es的内容,也便于工作中或将来使用方便,因此从搭建es环境开始到代码插入信息到es中;主要节点如下:
- elasticsearch启动
- mobz/elasticsearch-head启动
- kibana启动
- springboot操作es
1.elasticsearch启动
我本机环境是windows10,要挂载es的配置文件需要在本机上创建配置文件,因此这里创建配置文件C:UsersAdministratoreses-master.yml,配置文件内容如:
#集群名称 cluster.name: "shenniu_elasticsearch" #本节点名称 node.name: master #是否master节点 node.master: true #是否存储数据 node.data: true #head插件设置 http.cors.enabled: true http.cors.allow-origin: "*" http.port: 9200 transport.tcp.port: 9300 #可以访问的ip network.bind_host: 0.0.0.0
这里配置一个es的cluster的master节点,集群名称shenniu_elasticsearch,有了配置下面就是启动es命令:
docker pull elasticsearch docker run -d --name es-master -p 9200:9200 -p 9300:9300 -v C:/Users/Administrator/es/es-mast er.yml:/usr/share/elasticsearch/config/elasticsearch.yml elasticsearch
启动完后在浏览器浏览 http://192.168.183.9:9200/ 得到如下成功信息:
2.mobz/elasticsearch-head启动
elasticsearch-head做为es集群状态查看插件工具,用起来还是挺方便的,启动命令如:
docker pull mobz/elasticsearch-head docker run -d -p 9100:9100 --name mobz-es mobz/elasticsearch-head
然后在浏览器录入 http://192.168.183.9:9100/ ,能够看到插件的操作界面,其中包含了索引,数据,基本查询等功能很是方便
为了博客内容充实性,这里我添加了一些日志到es中,通过head工具能够看到如:
3.kibana启动
kibana是专门针对es内容的一款查看工具,和elasticsearch-head不同的是前者主要是内容显示,通常有elk的组合,这里同样通过docker来启动下
docker pull kibana docker run --name kibana -e ELASTICSEARCH_URL=http://192.168.183.9:9200 -p 5601:5601 -d kibana
这里需要配置关联的es的地址,否则kibana界面无法正常使用,倘若es停了,kibana界面也会变成如下
如果es和kibana都正常的话,就能够进入到如下界面
4.springboot操作es
要说springboot中使用es有很多方式,这里使用的是它集成的包,通过maven添加如下依赖:
<!--es--> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-elasticsearch</artifactId> </dependency>
然后需要在配置文件中增加关于es的的相关配置,由于这里采用的是resposity操作es,所以这里需要设置为启动状态:
spring: data: elasticsearch: cluster-name: shenniu_elasticsearch cluster-nodes: 192.168.183.9:9300 repositories: enabled: true
cluster-name对应的是上面启动es时集群配置的名称,cluster-nodes对应集群访问的ip和端口;一般往es中存储的都是对象形式,所以这里需要定义一个实体类,这里是 MoEsLog:
@Document(indexName = "eslog") public class MoEsLog { private String message; public String getMessage() { return message; } public void setMessage(String message) { this.message = message; } private String dateTime; public String getDateTime() { return dateTime; } public void setDateTime(String dateTime) { this.dateTime = dateTime; } @Id private String _id; }
通过注解@Document里面的indexName来创建es索引名,然后通过继承ElasticsearchRepository来使用里面的增删改查方法,这里创建一个es工厂接口如:
@Repository public interface IEsRepository extends ElasticsearchRepository<MoEsLog, String> { }
到此基本的配置和底层的工厂接口都完成了,剩下的就是怎么调用和简单的封装了,这里以save方法为例:
@Service public class EsLogServiceImpl implements EsLogService { @Autowired private IEsRepository esRepository; @Override public void addEsLog(String message) { Executors.newFixedThreadPool(10).submit(new Runnable() { @Override public void run() { SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSSZ"); MoEsLog esLog = new MoEsLog(); esLog.setMessage(message); esLog.setDateTime(simpleDateFormat.format(new Date())); esRepository.save(esLog); } }); } @Override public <T> void addEs(T t) { addEsLog(JsonUtil.toJson(t)); } }
值得主要的是里面对datetime属性赋值的是一个时间字符串,格式如:yyyy-MM-dd'T'HH:mm:ss.SSSZ,这里匹配es的时间格式,不出意外的运行程序后,能够在kibana中看到如下信息:
这里再转到9100端口的mobz/elasticsearch-head界面,也能够看到如下的记录:
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
【四】Docker中安装MySql
下载mysql镜像 【docker pull mysql/mysql-server:5.7.21】 持久数据和配置更改和初始化脚本 ################################################# Docker容器如果被删除或者损坏了,那么数据和配置就没拉。 查看官方说明https://dev.mysql.com/doc/refman/5.7/en/docker-mysql-more-topics.html官网文章说有两种方法保存数据和配置。 其中一种方法是在运行容器时绑定容器之外的主机目录和配置文件路径。 这样即时容器被删除但容器之外的文件还在。 以下这些文字直接引用的官方的: 下面命令将创建一个MySQL社区服务器容器并绑定数据目录和服务器配置文件和初始化脚本: docker run --name=mysql1 \ --mount type=bind,src=/path-on-host-machine/my.cnf,dst=/etc/my.cnf \ --mount type=bind,src=/path-on-host-machine/datad...
- 下一篇
Elasticsearch-通过Kibana查看索引数据
引言 当数据存储到Elasticsearch后,我们希望能方便的通过界面进行查询,有两个工具能够满足我们的需要,一个是Elasticsearch-head插件,另一个是Kibana,笔者认为两个工具各有千秋,大家可以自行体会,不过就安装步骤来说,Elasticsearch-head真心麻烦,本文主要介绍如何部署Kibana,并使用Kibana来查看Elasticsearch中的索引数据。 部署Kibana 下载Kibana 在Kibana官方网站找到下载链接,找到和Elasticsearch适配的版本,我之前Elasticsearch安装的是6.4.2版本,所以我下载的是6.4.2的Linux 64位版本。 download kibana 解压压缩文件 运行如下命令解压 tar zxvf kibana-6.4.2-linux-x86_64.tar.gz 修改配置 运行如下命令修改Kibana配置文件【kibana.yml】 vi kibana-6.4.2-linux-x86_64/config/kibana.yml 这个配置文件里面包含了Kibana和访问Elasticsear...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- Docker快速安装Oracle11G,搭建oracle11g学习环境
- CentOS8编译安装MySQL8.0.19
- MySQL8.0.19开启GTID主从同步CentOS8
- SpringBoot2全家桶,快速入门学习开发网站教程
- CentOS8,CentOS7,CentOS6编译安装Redis5.0.7
- CentOS7,CentOS8安装Elasticsearch6.8.6
- Red5直播服务器,属于Java语言的直播服务器
- CentOS8安装MyCat,轻松搞定数据库的读写分离、垂直分库、水平分库
- SpringBoot2整合MyBatis,连接MySql数据库做增删改查操作
- CentOS6,CentOS7官方镜像安装Oracle11G