Elasticsearch下载安装配置

这篇具有很好参考价值的文章主要介绍了Elasticsearch下载安装配置。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一、什么是Elasticsearch?

       ES是一个开源分布式搜索引擎可以用来实现搜索、日志统计、分析、系统监控,ES易于扩展,可以轻松的扩展到上百台服务器,处理PB(1PB = 1024TB,1TB = 1024GB)级别的数据。ES自身携带分布式管理功能,但仅支持JSON文件模式。

二、下载安装步骤

(一)、安装elasticsearch容器

1.拉镜像 docker pull 镜像尽量大于 7.12.1

docker pull elasticsearch:7.12.1

2.拉取es 网络

        docker network create es-network

3.找到usr在usr目录创建文件夹elasticsearch,进去在创建plugins、data文件夹

.        Elasticsearch下载安装配置,elasticsearch,大数据,搜索引擎

4.在usr目录修改权限

Elasticsearch下载安装配置,elasticsearch,大数据,搜索引擎

5.创建容器(elasticsearch )

        ps: 如果运行不了检查是否有多余空格

docker run -d \
--name elasticsearch \
--net=es-network \
-p 9200:9200 \
-p 9300:9300 \
-e "discovery.type=single-node" \
-e xpack.security.authc.api_key.enabled=true  \
-e "ES_JAVA_OPTS=-Xms50m -Xmx512m" \
-v es-data:/usr/elasticsearch/data \
-v es-plugins:/usr/elasticsearch/plugins \
docker.elastic.co/elasticsearch/elasticsearch:7.12.1

docker run -d \                              //后台运行
--name elasticsearch \                // 给容器起一个别名
--net=es-network \                        //指定容器连接到名为 es-network 的网络上
-p 9200:9200 \                             //主机与容器之间的端口映射,9200用于程序调用使用
-p 9300:9300 \                          //主机与容器之间的端口映射,9300用于es集群之间的通信
-e "discovery.type=single-node" \        //配置单节点启动发现的环境变量
-e xpack.security.authc.api_key.enabled=true  \         //启动api秘钥认证功能
-e "ES_JAVA_OPTS=-Xms50m -Xmx512m"\

                //指定java虚拟机最小堆内存最小50M,最大512M
-v es-data:/usr/elasticsearch/data \                //挂载数据目录卷
-v es-plugins:/usr/elasticsearch/plugins \        //挂载插件目录卷
docker.elastic.co/elasticsearch/elasticsearch:7.12.1        //指定运行的镜像:版本

 6.校验是否安装成功

curl http://localhost:9200

Elasticsearch下载安装配置,elasticsearch,大数据,搜索引擎

7.给es设置访问密码

        7.1:进入容器(elasticsearch)找到    /usr/share/elasticsearch/config

docker exec -it 2df4aaf8e08b /bin/bash

        Elasticsearch下载安装配置,elasticsearch,大数据,搜索引擎

        7.2:通过vi编辑elasticsearch.yml文件

        在后面添加

http.cors.enabled: true
http.cors.allow-origin: "*"
http.cors.allow-headers: Authorization
xpack.security.enabled: true
xpack.security.transport.ssl.enabled: true

        Elasticsearch下载安装配置,elasticsearch,大数据,搜索引擎

  7.3:ctrl + p + q  回到宿主机再重启ES容器

docker restart 2df4aaf8e08b

7.4:再次进入容器

docker exec -it 2df4aaf8e08b /bin/bash

然后运行这个,设置密码(输入多次,建议一致)

./bin/elasticsearch-setup-passwords interactive

7.5:再次回到宿主机再重启ES容器

校验是否成功  

http:// ip :9200

Elasticsearch下载安装配置,elasticsearch,大数据,搜索引擎

(二)、安装kibana容器

1.拉取kibana镜像 :版本和elasticsearch一致

                docker pull kibana:7.12.1

2.创建网络

        docker network create kibana-network

3.执行容器创建命令

docker run -d \
--name kibana \
--net=kibana-network \
-e ELASTICSEARCH_HOSTS=http://es的服务器ip地址:9200 \
-p 5601:5601 \
docker.elastic.co/kibana/kibana:7.12.1

docker run -d \
--name kibana \
--net=kibana-network \
-e ELASTICSEARCH_HOSTS=http://es的服务器ip地址:9200 \
-p 5601:5601 \
docker.elastic.co/kibana/kibana:7.12.1

4.开放 5601 端口

5.校验安装成功访问 http://ip:5601

Elasticsearch下载安装配置,elasticsearch,大数据,搜索引擎

6.进入kibana容器

docker exec -it 容器id /bin/bash

7.找到  /usr/share/kibana/config  这个目录下的kibana.yml文件

Elasticsearch下载安装配置,elasticsearch,大数据,搜索引擎

8.修改配置文件

        vim kibana.yml

         在最后一行回车加入

i18n.locale: "zh-CN"
elasticsearch.username: "elastic"
elasticsearch.password: "密码"

9.退出容器,重启容器

10.  访问 http://ip:5601

三、ES理论

3.1名词解析

1.索引:

        在ES中一个索引对应一组相关文档的存储单元,可以被看作是一种类似于数据库中表结构,

   用于存储相类似的文档,每个文档都属于一个索引,索引中的文档用来被搜索或分析。

2.索引分片:

        索引分片是将一个完整的索引分成多个的过程,每个分片本身就是一个独立的索引,拥有自       己的设置、映射、文档。ES通过将索引,划分为多个分片来允许大规模数据存储,并且能够水       平扩展,每个分片可以分布在集群的不同节点上,默认情况下每个索引包含五个主分片。

3.索引副本:

         索引副本是每个分片的一个复制品,用于提供冗余和故障的恢复,副本分布在不同的节点上,从而增加了系统的可靠性和容错能力。       

3.2ElasticSearch核心概念

    1.节点

        节点是集群中的单个服务器,用于存储数据并参与集群的索引和搜索功能。每个节点都有自己的名称和唯一标识符,

     2.集群

        集群是由一个或多个节点组成的一组服务器,它们共同存储项目的整个数据,集群提供了可用性和横向扩展性。

     3.分片和复制

        分片是将索引中的数据分割成多个部分,用于提高性能和扩展性,每个分片可以被存储在集群中的一个或多个节点上。

        复制是为了数据的高可用性和容错性,每个分片都会有一个或多个副本分片,这些分片会被存储在不同的节点上。

     4.索引:

          索引是用于存储数据的地方,类似于关系型数据库中的数据库,他是一种用于存储相似性质的文档的数据结构。

    5.类型

        类型在ES 6.0之前用于组织索引内部文档的一种方式,在ES 7.0版本之后已经被废弃,推荐使用单一索引多字段代替。

    6.文档

        文档是ES中的基本数据单元,类似于关系型数据库的行,每个文档都是一个JSON对象,它们被存储在索引中并可以被搜索。

    7.字段

        字段是ES中文档的组成部分,类似于关系型数据库中的列,每个字段都有自己的数据类型(比如 文本型、数值型等),并且包含特定的数据。

    8.映射

        映射定义了索引中的每个字段的数据类型和属性,它相当于关系型数据库中的模式,告诉ES 如何处理索引的每个字段。

3.3 创建索引

PUT /my_es
{
  "settings": {
    "number_of_shards": 2,
    "number_of_replicas": 2
  }, 
  "mappings": {
    "properties": {
      "title":{"type":"text"},
      "content":{"type":"text"},
      "author":{"type": "text"},
      "time":{"type": "date"}
    }
  }
}

PUT /my_es  // 索引名(数据库名)
{
  "settings": {
    "number_of_shards": 2,     //主分片
    "number_of_replicas": 2    // 副分片
  }, 
  "mappings": {
    "properties": {
      "title":{"type":"text"  // 设置类型},   //属性
      "content":{"type":"text"},
      "author":{"type": "text"},
      "time":{"type": "date"}
    }
  }
}

3.4 添加文档

POST /my_es/_doc
{
  "title":"无故凶人",
  "content":"一女子无缘无故凶人给出的理由居然你别给我讲话",
  "author":"manyue",
  "time":"2023-12-18T10:30:01"

}

  语法规则:

_doc : 用于早期的ES版本中,同一个索引中单独集合映射类型从8.X版本开始已全面配齐。

_index : 创建新索引。   index 是创建一个命名空间,将相关文档聚集在一起。

_create :创建新索引。   create 是创建一个新的文档,并将其添加到指定索引中

_update : 用于更新文档中的一部分内容。

_delete : 删除文档。

3.5 查找文档

GET /my_es/_search

3.6 条件查询

GET /my_es/_search
{
  "query": {"match": {
    "title": "白象"    //  "字段":"查找内容"
  }}
}

 3.7 多条件查询

GET /taobao_goods/_search
{
  "query": {
    "bool": {      // 多条件查询的一种方式
      "must": [        //必须满足以下条件相当于sql 中的 AND
        {"match": {"name": "白象"}},
        {"match": {"description": "酸"}}
      ]
    }
  }
}

        1. must : 必须都匹配相当于逻辑中的 AND

        2. must_not : 必须条件都不匹配 相当于逻辑中的 not 

        3.should : 表示条件可以匹配 ,但不是必须相当于逻辑上的or

        4.filter : 表示条件必须匹配,常用于过滤操作

 3.8 返回结果

{
  "took" : 1,   // 操作花费的毫秒数,请求耗时
  "timed_out" : false,    // 是否超时
  "_shards" : {            //分片信息(包含了成功的分片数量,和失败的分片数量)
    "total" : 2,            // 总分片数 (总命中数)
    "successful" : 2,        // 搜索成功的分片数
    "skipped" : 0,            //没有搜索或跳过的分片数
    "failed" : 0            // 搜索失败的分片数
  },
  "hits" : {        // 搜索结果集
    "total" : {        // 返回多少数据
      "value" : 1,        // 一共 一条数据
      "relation" : "eq"    // 过滤语法
    },
    "max_score" : 0.5753642,    // 最高匹配得分
    "hits" : [        
      {
        "_index" : "taobao_goods",    // 索引名
        "_type" : "_doc",            // 文档类型(8.0已弃用)
        "_id" : "h3jtgIwBqohmmXpgoXch",    // id (唯一标识符)
        "_score" : 0.5753642,        //  匹配度得分
        "_source" : {                // 实际内容
          "id" : "3",            
          "name" : "白象牛肉面",
          "description" : "好吃",
          "price" : "4.5",
          "stock" : "27"
        }
      }
    ]
  }
}

3.9 更新内容(修改数据)

_doc : 覆盖方式完成更新(8.0之后移除)

_update : 非覆盖方式完成更新

POST /taobao_goods/_doc/h3jtgIwBqohmmXpgoXch
{
  "price":"3" 
}

//这种写法会重写原有数据结构(慎用)

 ps :  h3jtgIwBqohmmXpgoXch  _id(唯一标识符) 

POST /taobao_goods/_update/h3jtgIwBqohmmXpgoXch
{
  "doc":{
      "price":"3"
  }
  
}

// 这种只会修改对应的字段   
// 如果没有这个字段会直接添加这个字段

4.0 删除文档

// 通过 ES id 删除
DELETE /taobao_goods/_doc/hnjtgIwBqohmmXpgKHfX    // (_id)

// 通过 mysql id 删除
POST /taobao_goods/_delete_by_query
{
  "query":{
    "match":{"id":"3"}
  }
}

// 删除所有
POST /taobao_goods/_delete_by_query
{
  "query":{
    "match_all":{}
  }
}

可视化工具

es-client: ES查询客户端,elasticsearch可视化工具

ES 核心思想

Elasticsearch下载安装配置,elasticsearch,大数据,搜索引擎文章来源地址https://www.toymoban.com/news/detail-773028.html

到了这里,关于Elasticsearch下载安装配置的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包