• Elasticsearch使用系列ES简介和环境搭建


    Elasticsearch使用系列-ES简介和环境搭建

    Elasticsearch使用系列-ES增删查改基本操作+ik分词

    Elasticsearch使用系列-基本查询和聚合查询+sql插件

    Elasticsearch使用系列-.NET6对接Elasticsearch

    Elasticsearch使用系列-Docker搭建Elasticsearch集群

    一、简介

      Elasticsearch是一个基于Lucene的搜索服务器。它提供了一个分布式多用户能力的全文搜索引擎,基于RESTful web接口。Elasticsearch是用Java语言开发的,并作为Apache许可条款下的开放源码发布,是一种流行的企业级搜索引擎。根据DB-Engines的排名显示,Elasticsearch是最受欢迎的企业搜索引擎,其次是Apache Solr,也是基于Lucene。

    能解决问题:全文索引,大数据量秒查询,PB级别数据搜索,毫秒级响应,支持结构化查询,完整api接口,自动备份,集群稳定,扩容方便

    使用场景示例:商城,文章类网站,单表数据量太大,日志系统储存,报表统计查询慢。

    二、Windows搭建ES

    1.安装java jdk,安装java11以上。

    下载地址:https://www.oracle.com/java/technologies/downloads

    下载后直接双击安装,不需要配环境变量。

    2.下载ES,官网:https://www.elastic.co/cn/downloads/elasticsearch

    如果要下载前面的版本,这个地址:https://www.elastic.co/cn/downloads/past-releases#elasticsearch

     现在下载的是当前7.x的最新版本7.16.3

    下载完解压后进入到config目录的jvm.options,修改配置,把默认的4g改成512m,这里是本地测试使用不需要这么高内存。

    Xmx:能够使用的最大内存数。

    Xms:用来设置程序初始化的时候内存栈的大小。

    修改config目录下的elasticsearch.yml文件。

    network.host填上自己的ip,如果不改,只能用localhost和127.0.0.1访问ES,也可以填0.0.0.0,这样暴露全部的网络地址都可以访问。

     然后回到bin目录,双击elasticsearch.bat启动。

     启动成功后,浏览器输入 http://ip:9200看是否成功,如果出现下面就是搭建成功了。

    三、Linux搭建ES

    这里用的是CentOS7.9

    1.安装 java jdk

    官网: https://www.oracle.com/java/technologies/downloads/

     

     这里用rpm包的方式安装,下载下来上传到Linux服务器,或直接在linux服务器下载,这里选择后者。

    先建一个文件夹存放es文件,这里的目录为/home/es

    #创建es目录
    mkdir /home/es
    #进入es目录
    cd /home/es

    下载es的rpm和安装

    #下载elasticsearch rpm包文件
    wget https://download.oracle.com/java/17/latest/jdk-17_linux-x64_bin.rpm
    #授权限
    chmod +x jdk-17_linux-x64_bin.rpm#安装
    rpm -ivh jdk-17_linux-x64_bin.rpm

    安装完成,查看java版本

    java -version

    到这里java sdk安装完成了,上面的rpm文件也可以删除了。

    2.调高jvm线程数限制,不然启动es会报错

    #修改sysctl.conf
    vi /etc/sysctl.conf
    
    #修改max_map_count调大,如果没有这个设置,则新增一行
    vm.max_map_count=262144
    
    #改完保存后, 执行下面命令让sysctl.conf文件生效
    sysctl -p

    3.修改limits.conf文件

    不然启动时会报这个错误: max file descriptors [4096] for elasticsearch process is too low, increase to at least [65535]

    #修改文件
    vi /etc/security/limits.conf

    在后面增加这两行,如果有就不用了:

    * soft nofile 65536
    * hard nofile 65536

    修改完文件后在使用命令修改一遍

    ulimit -n 65536

    4.下载ES

    官网:https://www.elastic.co/cn/downloads/elasticsearch

     下载上传到linux服务器,或直接在linux服务器下载,这里选择后者。

    #下载es压缩包
    wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.16.3-linux-x86_64.tar.gz
    #解压
    tar -zxvf elasticsearch-7.16.3-linux-x86_64.tar.gz

    解压完后的文件夹 elasticsearch-7.16.3

    进入解压的目录看一下结构

    5.修改配置文件 elasticsearch.yml

    #修改配置文件
    vi config/elasticsearch.yml

    6.创建一个普通用户

    因为es默认不能通过root用户启动,所以需要建一个普通用户

    #创建一个名为elastic的用户
    adduser elastic
    #修改用户elastic的密码
    passwd elastic

    把/home/es 目录下的权限给elastic用户

    #给es用户迭代权限
    chgrp -R elastic  /home/es
    chown -R elastic  /home/es
    #把es目录权限变为可读可执行
    chmod 777 /home/es

    切换为elastic 用户

    #把当前登录用户切换为elastic用户
    su elastic

    从root用户变成了elastic用户

     7.启动es

    #进入es文件目录
    cd elasticsearch-7.16.3
    #启动es -d表示后台启动
    bin/elasticsearch -d

     看到这个界面就是安装成功啦!如果局域网访问不到,看防火墙是否没关。

     

    四、Docker搭建ES

    1.先安装docker环境

    参考:https://www.cnblogs.com/wei325/p/15139701.html

    2.新建elasticsearch.yml配置文件

    新建elasticsearch.yml配置文件并上传到主机目录用于配置文件挂载,方便后面修改,这里上传到/home/es目录。

    具体有什么其它配置可以参考前面两种安装方式里面的elasticsearch.yml文件,是一样的。

    http.host: 0.0.0.0
    #跨域
    http.cors.enabled:  true 
    http.cors.allow-origin:  "*"

    位置如下:

     3.docker 拉取es镜像

    #拉取镜像,指定版本号
     docker pull elasticsearch:7.16.3

     

     4.把镜像启动为容器

    docker run -d -p 9200:9200 -p 9300:9300 --name es -e ES_JAVA_OPTS="-Xms128m -Xmx256m" -v /home/es/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml elasticsearch:7.16.3
    #9200是对外端口,9300是es内部通信端口
    #-e ES_JAVA_OPTS="-Xms128m -Xmx256m"  Xms初始化时内存栈大小,Xms程序限制占用内存
    #-v 把配置文件挂载到es的docker里的配置文件

    查看启动的容器

     搭建完成,浏览器打开 http://ip:9200看到下面的界面就搭建成功了。

  • 相关阅读:
    HTML2
    HTML1
    MySQL进阶part4
    pymysql模块
    MySQL进阶part3
    MySQL进阶part2
    MySQL进阶part1
    java IO中的乱码问题
    解决在IDEA中无法使用Scanner输入的问题
    IDEA配置xml文件头报错:URI is not registered (Settings | Languages & Frameworks | Schemas and DTDs)
  • 原文地址:https://www.cnblogs.com/wei325/p/15825802.html
Copyright © 2020-2023  润新知