docker安装elasticsearch、elasticsearch-head以及restful api 使用

ElasticStack:
分布式的搜索引擎
分布式的文档存储引擎。
支持PB级数据(比较高级的存储单位 1PB = 1024tB)。
基于lucene开发

ElasticStack 的组成:
ElasticSearch的组成: 开源的分布式搜索引擎。 特点: 分布式,令配置,自动发现,索引自动分片,索引副本机制,restful风格接口,多

数据源,自动搜索负载等。
LOgstash: 基于java 是一个开源收集 处理的工具
kibana 基于nodejs。 可以为以上两个提供日志分析的web界面,可以汇总,分析和搜索重要数据日志(这里用elasticsearch-head)
beats采集系统监控数据的代理agent,是在被监控服务器上以客户端形式运行的数据收集器的统称。

下载安装:
…/
配置:
vim conf/elasticsearch.yml
network.host:192.168.47.0 #绑定的地址 如果这个地址不是127.0.0.1或者localhost的话,就会被认为是生产环境,对环境的要求会非常高,测试环境不一定能够满足。一般要修改两处配置
vim conf/jvm.options
-Xms128m #机器的缓存空间
-Xmx128m
vim /etc/sysctl.conf
vm.max_map_count=655360 #单个进程中的最大线程数

启动服务: (自己安装的话启动的不能使用root账户,需要自己创建一个用户)
    cd bin ./elasticsearch

docker安装elasticsearch:
启动docker服务:systemctl start docker
docker pull elasticsearch:6.5.4
创建容器:docker run -e ES_JAVA_OPTS="-Xms256m -Xmx256m" -d -p 9200:9200 -p 9300:9300 --name es 93109ce1d590(9310993109ce1d590是docker里elastise的镜像id)
启动: docker elasticsearch
查看日志: docker logs
停止: docker stop 93109ce1d590
jps 查看docker 有的进程
进入elasticsearch容器内部: docker exec -it (容器id) bash
退出容器: exit

安装elasticsearch-head:
从docker 上拉取。 运行
elasticsearch修改跨域后重启
vi /config/elastisearch.yml 添加:
http.cors.enabled: true
http.cors.allow-origin: “*”
docker只能进入运行中的容器,如果配置错误导致容器无法启动,那么可以删除这个容器 重新创建容器配置。

**配置完成后,分别启动  elasticsearch-head   与 elasticsearch** 

在这里插入图片描述

基本概念:
索引index(关系型数据库):时ela中数据的逻辑存储,,可以看作mongodb的一个集合,索引的结构是为了快速有效的全文索引准备的,特别是不存储原始值
文档docoument(数据库的行):存在elasticsearch 中的主要实体。一个文档相当于数据库表中的一行记录
映射:所有文档写进索引钱都会进行分析,如何将输入的文本分割为词条,哪些词条会被过滤等行为。
每个文档有不同结构
一个索引对象可以存储很多不同用途的对象
同一属性中的相同字段类型必须相同,比如这个文档里tittle叫是字段,那么别的文档里面的tittle也必须是字段。
type(数据库的表):类型 对象
shard: index 会被拆分为多个shard 每个shard 就会存放这个index的一部分数据,这些shard 会散落在多台服务器上
replica: shard的副本 防止节点宕机时数据丢失,提供了高可用性,提升了搜索这类请求的吞吐量和性能, replica 和shard一般不会放在同一个服务器上。


document数据格式:
面向文档的搜索分析引擎
在kibana简单的集群管理命令:
GET /_cat/health?v
green:每个索引的primary shard active 都是active状态的
yellow 每个索引的primary shard 都是active 装填的,但是replica shard 不是active 状态,处于不可用的状态
red 不是所有索引的primary shard 都是active状态的,部分索引有数据丢失了


在Elasticsearch中,提供了功能丰富的RESTful API的操作,包括基本的CRUD、创建索引、删除索引等操作
创建非结构化索引: put请求 http://127.0.0.1:9200/index
删除索引: DELETE http://127.0.0.1:9200/index
插入数据: POST http:// 127.0.0.1:9200/{索引}/{类型}/{id}
不指定id插入数据: POST http:// 127.0.0.1:9200/{索引}/{类型},自动生成id
DSL(Domain Specific Language 特定区域语言)搜索: 构建更复杂 强大的查询,以json请求体的形式出现。
POST http://172.16.55.185:9200/haoke/user/_search 查询所有
#请求体
{
“query” : {
“match” : { #match只是查询的一种
“age” : 20
}
}
}

    POST http://172.16.55.185:9200/haoke/user/_search   查询 年纪大于30 并且是男性
    #请求数据
    {
      "query": {
        "bool": {
          "filter": {
    
            "range": {
              "age": {
                "gt": 30
             }
           }
         },
          "must": {
            "match": {
              "sex": "男"
           }
         }
       }
     }
    }


高亮显示:  POST http://172.16.55.185:9200/haoke/user/_search
{
  "query": {
    "match": {
      "name": "张三 李四"

   }
 },
  "highlight": {
    "fields": {
      "name": {}
       }
     }
    }

聚合: 支持聚合操作, 类似SQL中的grop by操作 
POST http://172.16.55.185:9200/haoke/user/_search
{
  "aggs": {
    "all_interests": {
      "terms": {
        "field": "age"
     }
   }
 }
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值