前言

  Elasticsearch是一个基于Apache Lucene(TM)的开源搜索引擎。无论在开源还是专有领域,Lucene可以被认为是迄今为止最先进、性能最好的、功能最全的搜索引擎库。但是,Lucene只是一个库。想要使用它,你必须使用Java来作为开发语言并将其直接集成到你的应用中,更糟糕的是,Lucene非常复杂,你需要深入了解检索的相关知识来理解它是如何工作的。Elasticsearch也使用Java开发并使用Lucene作为其核心来实现所有索引和搜索的功能,但是它的目的是通过简单的RESTful API来隐藏Lucene的复杂性,从而让全文搜索变得简单。

  不过,Elasticsearch不仅仅是Lucene和全文搜索,我们还能这样去描述它:

  -分布式的实时文件存储,每个字段都被索引并可被搜索
  -分布式的实时分析搜索引擎
  -可以扩展到上百台服务器,处理PB级结构化或非结构化数据

  而且,所有的这些功能被集成到一个服务里面,你的应用可以通过简单的RESTful API、各种语言的客户端甚至命令行与之交互。

  ElasticSearch-head 是一个web端的ElasticSearch管理工具。

安装

一、docker安装Elasticsearch

1.docker拉取Elasticsearch镜像

https://www.docker.elastic.co/ 选择适用的版本。这里选择6.3.2

docker pull docker.elastic.co/elasticsearch/elasticsearch:6.3.2

如果docker pull error,请添加国内镜像加速源,参考:https://www.cnblogs.com/jxd283465/p/11571943.html

 # 拉取镜像
[root@localhost ~]# docker pull docker.elastic.co/elasticsearch/elasticsearch:6.3.2
6.3.2: Pulling from elasticsearch/elasticsearch
7dc0dca2b151: Pull complete
72d60ff53590: Pull complete
ca55c9f7cc1f: Pull complete
822d6592a660: Pull complete
22eceb1ece84: Pull complete
30e73cf19e42: Pull complete
f05e800ca884: Pull complete
3e6ee2f75301: Pull complete
Digest: sha256:8f06aecf7227dbc67ee62d8d05db680f8a29d0296ecd74c60d21f1fe665e04b0
Status: Downloaded newer image for docker.elastic.co/elasticsearch/elasticsearch:6.3.2
# 查看镜像
[root@localhost ~]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
17 docker.elastic.co/elasticsearch/elasticsearch 6.3.2 96dd1575de0f 14 months ago 826MB

2.运行容器

docker run -d --name es -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" docker.elastic.co/elasticsearch/elasticsearch:6.3.2

-p 9200 9300:映射虚拟机端口到宿主机端口

  9200 http协议,为elasticsearch默认端口,用于外部通讯。

  9300 tcp协议,用于集群之间通信。.

-e 设置elasticsearch为单节点启动

 # 启动容器
[root@localhost ~]# docker run -d --name es -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" docker.elastic.co/elasticsearch/elasticsearch:6.3.2
af895f4ddc62a981c72217f547a2a67fea9695b5b113c4317a1965cc76153bd4
# 查看容器
[root@localhost ~]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
af895f4ddc62 docker.elastic.co/elasticsearch/elasticsearch:6.3.2 "/usr/local/bin/dock…" 4 seconds ago Up 3 seconds 0.0.0.0:9200->9200/tcp, 0.0.0.0:9300->9300/tcp es

3.设置跨域

 # 进入es容器,es为容器的name,bash为命令行
[root@localhost ~]# docker exec -it es bash
# 查看文件
[root@af895f4ddc62 elasticsearch]# ls
LICENSE.txt README.textile config lib modules
NOTICE.txt bin data logs plugins
# 进入elasticsearch的配置文件夹
[root@af895f4ddc62 elasticsearch]# cd config
[root@af895f4ddc62 config]# ls
elasticsearch.keystore ingest-geoip log4j2.properties roles.yml users_roles
elasticsearch.yml jvm.options role_mapping.yml users
# 修改elasticsearch的配置文件
[root@af895f4ddc62 config]# vi elasticsearch.yml
# 增加跨域配置
http.cors.enabled: true
http.cors.allow-origin: "*"
# :wq保存
# exit退出容器
[root@af895f4ddc62 config]# exit
exit
# 重启es容器
[root@localhost ~]# docker restart es
es
# curl "http://localhost:9200"

{
"name" : "rSLhlFi",
"cluster_name" : "docker-cluster",
"cluster_uuid" : "QTLXwiz_Sx-udJAofc2RIQ",
"version" : {
"number" : "6.3.2",
"build_flavor" : "default",
"build_type" : "tar",
"build_hash" : "053779d",
"build_date" : "2018-07-20T05:20:23.451332Z",
"build_snapshot" : false,
"lucene_version" : "7.3.1",
"minimum_wire_compatibility_version" : "5.6.0",
"minimum_index_compatibility_version" : "5.0.0"
},
"tagline" : "You Know, for Search"
}

二、docker安装Elasticsearch-head

1.docker search elasticsearch-head搜索镜像

  • docker search elasticsearch-head

2.拉取 mobz/elasticsearch-head 镜像

  • docker pull mobz/elasticsearch-head:5

3.运行容器

  • docker run -d --name es_admin -p 9000:9100 mobz/elasticsearch-head:5

由于我宿主机9100端口被占用,所以这里将容器的9100端口映射到宿主机的9000端口

4.访问elasticsearch-head

浏览器打开http://192.168.8.10:9000/

【linux】【elasticsearch】docker部署elasticsearch及elasticsearch-head的更多相关文章

  1. Docker 安装入门 Centos Linux安装Docker 部署mysql

    这次购买了阿里云云服务器,并且安装了Centos 7.5 学习使用Docker, 确认版本信息 Docker 运行在 CentOS 7 上,要求系统为64位.系统内核版本为 3.10 以上. Dock ...

  2. Linux使用docker部署nacos

    官网地址:https://nacos.io/zh-cn/docs/quick-start-docker.html 先把sql文件导入到mysql中 我也放了基础的sql /* * Copyright ...

  3. 利用 docker 部署 elasticsearch 集群(单节点多实例)

    文章目录 1.环境介绍 2.拉取 `elasticserach` 镜像 3.创建 `elasticsearch` 数据目录 4.创建 `elasticsearch` 配置文件 5.配置JVM线程数量限 ...

  4. Docker部署Elasticsearch集群

    http://blog.sina.com.cn/s/blog_8ea8e9d50102wwik.html Docker部署Elasticsearch集群 参考文档: https://hub.docke ...

  5. 【原创】运维基础之Docker(2)通过docker部署zookeeper nginx tomcat redis kibana/elasticsearch/logstash mysql kafka mesos/marathon

    通过docker可以从头开始构建集群,也可以将现有集群(配置以及数据)平滑的迁移到docker部署: 1 docker部署zookeeper # usermod -G docker zookeeper ...

  6. Docker部署ELK 7.0.1集群之Elasticsearch安装介绍

    elk介绍这里不再赘述,本系列教程多以实战干货为主,关于elk工作原理介绍,详情查看官方文档. 一.环境规划 主机名 IP 角色 节点名 centos01 10.10.0.10 es node-10 ...

  7. Docker Compose部署 EFK(Elasticsearch + Fluentd + Kibana)收集日志

    简述 本文用于记录如何使用Docker Compose部署 EFK(Elasticsearch + Fluentd + Kibana) 收集Docker容器日志,使用EFK,可以无侵入代码,获得灵活, ...

  8. (1)ElasticSearch搭配Kibana在linux环境的部署

    1.简介 这个章节主要介绍ElasticSearch+Kibana两个组件在linux环境的部署步骤,以及在部署过程中遇到问题解决,暂就不涉及集群部署知识点,后面章节再详细讲解这块.下面让我们来简单了 ...

  9. 如何通过 Docker 部署 Logstash 同步 Mysql 数据库数据到 ElasticSearch

    在开发过程中,我们经常会遇到对业务数据进行模糊搜索的需求,例如电商网站对于商品的搜索,以及内容网站对于内容的关键字检索等等.对于这些高级的搜索功能,显然数据库的 Like 是不合适的,通常我们采用 E ...

  10. docker 部署 elasticsearch + elasticsearch-head + elasticsearch-head跨域问题 + IK分词器

    0.  docker pull 拉取elasticsearch + elasticsearch-head 镜像 1.  启动elasticsearch Docker镜像 docker run -di ...

随机推荐

  1. 常用Feed流架构实现

    业务中很多需求都会用到类似feed流的架构. 例如 微信朋友圈 微博 动态 1对N消息. 一般feed流的架构实现有下面几种. 假如现在的业务场景是微博,然后当前的数据情况是: 用户A关注了用户B和C ...

  2. springboot中的外界jar的引入:

    <!-- 小米推送jar配置Start --> <dependency> <groupId>com.xiao.mi.push</groupId> < ...

  3. 史上最全面的SignalR系列教程-6、SignalR 实现聊天室

    1.概述 通过前面几篇文章对SignalR的详细介绍.我们知道Asp.net SignalR是微软为实现实时通信的一个类库.一般情况下,SignalR会使用JavaScript的长轮询(long po ...

  4. SpringBoot第二十四篇:应用监控之Admin

    作者:追梦1819 原文:https://www.cnblogs.com/yanfei1819/p/11457867.html 版权声明:本文为博主原创文章,转载请附上博文链接! 引言   前一章(S ...

  5. nvm的安装与配置和基本使用(学习总结)

    nvm是来管理node的一个工具,为了方便使用不同版本的node.js运行环境,我们应该学习如何使用他 nvm安装方式 1.下载nvm,大家可以去github上下载,但因为github的CDN被墙,访 ...

  6. Java之封装,继承,多态

    一,前言 ​ 今天总结一下关于Java的三大特性,封装,继承,多态.其实关于三大特性对于从事编程人员来说都是基本的了,毕竟只要接触Java这些都是先要认识的,接下来就系统总结一下. 二,封装 ​ 先来 ...

  7. 【linux】【qt5】【信号槽示例】

    什么叫信号槽: 信号槽是 Qt 框架引以为豪的机制之一.所谓信号槽,实际就是观察者模式.当某个事件发生之后,比如,按钮检测到自己被点击了一下,它就会发出一个信号(signal).这种发出是没有目的的, ...

  8. 微信小程序那些令人眼泪汪汪的坑儿

    前言 最近做了一个麻雀虽小,五脏俱全的微信小程序项目.一看就会,一用就废的小程序.有些坑真的坑的你两眼泪汪汪.我就爱干前人栽树后人乘凉的事儿,看到文章的你,也许是同道中人,相视一笑:亦或是小程序外围人 ...

  9. 关于工作流引擎ccflow待办分类 研究与技术实现

    关于工作流引擎待办分类 研究与技术实现 关键字:工作流引擎 BPM系统 待办类型 名词:待办 概要介绍:待办就是当前的登录人员要处理的工作,在工作流程里面的节点类型不同,业务场景不同,我们把待办分为如 ...

  10. EDU 50 E. Covered Points 利用克莱姆法则计算线段交点

    E. Covered Points 利用克莱姆法则计算线段交点.n^2枚举,最后把个数开方,从ans中减去. ans加上每个线段的定点数, 定点数用gcs(△x , △y)+1计算. #include ...