• ElasticSearch(一)概念介绍及环境搭建


    一、什么是ElasticSearch:

      Elasticsearch (ES)是一个基于Lucene构建的开源、分布式、RESTful 接口全文搜索引擎。Elasticsearch 还是一个分布式文档数据库,其中每个字段均是被索引的数据且可被搜索,它能够扩展至数以百计的服务器存储以及处理PB级的数据。它可以在很短的时间内在储、搜索和分析大量的数据。它通常作为具有复杂搜索场景情况下的核心发动机。 Elasticsearch就是为高可用和可扩展而生的。可以通过购置性能更强的服务器来完成。 官网:https://www.elastic.co/downloads/elasticsearch 中文社区https://es.xiaoleilu.com/

      ES的优势:横向可扩展性:只需要增加台服务器,做一点儿配置,启动一下Elasticsearch就可以并入集群。 分片机制提供更好的分布性:同一个索引分成多个分片(sharding), 这点类似于HDFS的块机制;分而治之的方式可提升处理效率。 高可用:提供复制( replica) 机制,一个分片可以设置多个复制,使得某台服务器在宕机的情况下,集群仍旧可以照常运行,并会把服务器宕机丢失的数据信息复制恢复到其他可用节点上。

      ES应用场景:大型分布式日志分析系统ELK elasticsearch(存储日志)+logstash(收集日志)+kibana(展示数据) 大型电商商品搜索系统、网站站内搜索、网盘搜索引擎等。

      ES存储结构:Elasticsearch是文件存储,Elasticsearch是面向文档型数据库,一条数据在这里就是一个文档,用JSON作为文档序列化的格式,比如下面这条用户数据:

      {

        "name" : "yushengjun",

        "sex" : 0,

         "age" : 25

      }

      ES与关系型数据库的比较:

      关系数据库     ⇒ 数据库 (会员数据库)⇒ 表 (用户表) ⇒ 行                      ⇒ 列(Columns)

       Elasticsearch ⇒ 索引(Index)                   ⇒ 类型(type) ⇒ 文档(Docments) ⇒ 字段(Fields)

    二、ES环境搭建

      都是在Linux上操作

      1、Linux系统上必须安装JDK8.0以上版本(ES是Java语言写的,需要JDK支持)

       2、解压ES到一个目录,一般放在usr下

        解压后目录:

      3、修改配置文件,进入config文件夹

        (1)、jvm.options文件,里面就有修改内存的(默认内存占用是1G,ES很吃内存的)

        (2)、elasticsearch.yml文件(集群、端口号、IP地址)都是在这里面修改的。

        先改这两个,进行试验,之后用到什么改什么

    9300与9200区别:

      9300端口: ES节点之间通讯使用

      9200端口: ES节点 和 外部 通讯使用

      9300是TCP协议端口号,ES集群之间通讯端口号

      9200端口号,暴露ES RESTful接口端口号

    三、启动ElasticSearch

      进入es的bin目录,./elasticsearch进行启动,但是会报错误,错误解决办法如下:

      第一个错误,不能用root账户进行启动:

      创建一个分组

        groupadd esmayikt

        useradd esyushengjun -g esmayikt -p 123456

        chown -R esyushengjun:esmayikt  elasticsearch-6.4.3

        su esyushengjun   ##切换用户

      第二个错误,修改文件的时候,进入root账户进行修改:

      第三个错误,需要在这个文件(limits.conf)中加上4行代码(在root账户进行修改)

      vi /etc/security/limits.conf

      * soft nofile 65536

      * hard nofile 131072

      * soft nproc 2048

      * hard nproc 4096

     

      最后重新启动服务器(shutdown -r now),并在es账户中重新启动es;

    四、访问ElasticSearch

      1、关闭防火墙:systemctl stop firewalld.service

      2、在浏览器中输入在elasticsearch.yml中设置的IP地址,和9200端口号

     

  • 相关阅读:
    区块链
    黑帽内容整理
    编程语言
    编程语言
    PHP
    安全体系建设-OWASP
    burp
    编程语言-Python-GUI
    加解密
    结合自己的程序对thinkphp模板常量的理解
  • 原文地址:https://www.cnblogs.com/soft2018/p/10201441.html
Copyright © 2020-2023  润新知