• ElasticSearch 学习(docker,传统方式安装、安装遇到的问题解决,)


    目录

    简介

    什么是ElasticSearch

    安装

    传统方式安装

    开启远程访问

    Docker方式安装

    Kibana

    简介

    安装

    传统方式安装

    Docker方式安装

    compose方式安装


    简介

    什么是ElasticSearch

      ElasticSearch 简称 ES ,是基于Apache Lucene构建的开源搜索引擎,是当前最流行的企业级搜索引擎Lucene本身就可以被认为迄今为止性能最好的一款开源搜索引擎工具包,但是lucene的API相对复杂,需要深厚的搜索理论。很难集成到实际的应用中去。ES是采用java语言编写,提供了简单易用的RestFul API,开发者可以使用其简单的RestFul API,开发相关的搜索功能,从而避免lucene的复杂性

     

    安装

    • 传统方式安装 下载安装包---> 平台 window macos linux

    • Docker 方式安装 推荐

    传统方式安装

    1. # 0.环境准备
    2. - centos7.x+、ubuntu、windows、macos
    3. - 安装jdk11.0+ 并配置环境变量 jdk8
    4. # 1.下载ES
    5. - https://www.elastic.co/cn/start
    6. # 2.安装ES不用使用root用户,创建普通用户
    7. # 添加用户名
    8. $ useradd ***
    9. # 修改密码
    10. $ passwd ***
    11. # 普通用户登录
    12. # 3.解压缩ES安装包
    13. $ tar -zxvf elasticsearch-7.14.0-linux-x86_64.tar.gz
    14. # 4.查看ES解压包中目录结构
    15. - bin 启动ES服务脚本目录
    16. - config ES配置文件的目录
    17. - data ES的数据存放目录
    18. - jdk ES提供需要指定的jdk目录
    19. - lib ES依赖第三方库的目录
    20. - logs ES的日志目录
    21. - modules 模块的目录
    22. - plugins 插件目录
    23. # 5.启动ES服务
    24. [mqm@localhost ~]$ ./elasticsearch-7.14.0/bin/elasticsearch

     - 这个错误时系统jdk版本与es要求jdk版本不一致,es默认需要jdk11以上版本,当前系统使用的jdk8,需要从新安装jdk11才行!
    - 解决方案:
        1.安装jdk11+ 配置环境变量、
        2.ES包中jdk目录就是es需要jdk,只需要将这个目录配置到ES_JAVA_HOME环境变即可、

    1. # 6.配置环境变量
    2. $ vim /etc/profile
    3. - export ES_JAVA_HOME=指定为ES安装目录中jdk目录
    4. - source /etc/profile
    5. # 7.从新启动ES服务
    6. # 8.ES启动默认监听9200端口,访问9200
    7. $ curl http://localhost:9200

     

    开启远程访问
    1. # 1.默认ES无法使用主机ip进行远程连接,需要开启远程连接权限
    2. - 修改ES安装包中config/elasticsearch.yml配置文件
    3. $ vim elasticsearch.yml

     # 2.重新启动ES服务
    - ./elasticsearch
    - 启动出现如下错误:
        `bootstrap check failure [1] of [4]: max file descriptors [4096] for elasticsearch process is too low, increase to at least [65535]
        `bootstrap check failure [2] of [4]: max number of threads [3802] for user [chenyn] is too low, increase to at least [4096]
        `bootstrap check failure [3] of [4]: max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]
        `bootstrap check failure [4] of [4]: the default discovery settings are unsuitable for production use; at least one of [discovery.seed_hosts, discovery.seed_providers

     # 3.解决错误-1

    $ vim /etc/security/limits.conf

    # 在最后面追加下面内容
    *               soft    nofile          65536
    *               hard    nofile          65536
    *               soft    nproc           4096
    *               hard    nproc           4096
    # 退出重新登录检测配置是否生效:
    ulimit -Hn
    ulimit -Sn
    ulimit -Hu
    ulimit -Su

    # 3.解决错误-2

    #进入limits.d目录下修改配置文件。
    $ vim /etc/security/limits.d/20-nproc.conf
    # 修改为 
    启动ES用户名 soft nproc 4096

    # 3.解决错误-3

    # 编辑sysctl.conf文件
    $ vim /etc/sysctl.conf
    vm.max_map_count=655360 #centos7 系统
    vm.max_map_count=262144 #ubuntu 系统
    # 执行以下命令生效:
    $ sysctl -p

    # 3.解决错误-4

    # 编辑elasticsearch.yml配置文件
    $ vim conf/elasticsearch.yml
    cluster.initial_master_nodes: ["node-1"] 

     # 4.重启启动ES服务,并通过浏览器访问

    {
      "name": "localhost.localdomain",
      "cluster_name": "elasticsearch",
      "cluster_uuid": "OWh3xLYwR-6lZ_fQNhVY3A",
      "version": {
        "number": "7.14.0",
        "build_flavor": "default",
        "build_type": "tar",
        "build_hash": "dd5a0a2acaa2045ff9624f3729fc8a6f40835aa1",
        "build_date": "2021-07-29T20:49:32.864135063Z",
        "build_snapshot": false,
        "lucene_version": "8.9.0",
        "minimum_wire_compatibility_version": "6.8.0",
        "minimum_index_compatibility_version": "6.0.0-beta1"
      },
      "tagline": "You Know, for Search"
    }

     

    Docker方式安装

    # 1.获取镜像
    - docker pull elasticsearch:7.14.0
    ​
    # 2.运行es
    - docker run -d -p 9200:9200 -p 9300:9300  -e "discovery.type=single-node"  elasticsearch:7.14.0
    ​
    # 3.访问ES
    - http://10.15.0.5:9200/

    Kibana

    简介

      Kibana Navicat是一个针对Elasticsearch mysql开源分析及可视化平台,使用Kibana可以查询、查看并与存储在ES索引的数据进行交互操作,使用Kibana能执行高级的数据分析,并能以图表、表格和地图的形式查看数据。

    安装

    传统方式安装

    ​
    # 1. 下载Kibana
    - https://www.elastic.co/downloads/kibana
    ​
    # 2. 安装下载的kibana
    - $ tar -zxvf kibana-7.14.0-linux-x86_64.tar.gz 
      
    # 3. 编辑kibana配置文件
    - $ vim /Kibana 安装目录中 config 目录/kibana/kibana.yml
    ​
    # 4. 修改如下配置
    - server.host: "0.0.0.0"                        # 开启kibana远程访问
    - elasticsearch.hosts: ["http://localhost:9200"]   #ES服务器地址
    ​
    # 5. 启动kibana
    - ./bin/kibana
    ​
    # 6. 访问kibana的web界面  
    - http://10.15.0.5:5601/   #kibana默认端口为5601    

    Docker方式安装

    # 1.获取镜像
    - docker pull kibana:7.14.0
    ​
    # 2.运行kibana
    - docker run -d  --name kibana -p 5601:5601 kibana:7.14.0
    ​
    # 3.进入容器连接到ES,重启kibana容器,访问
    - http://**********:5601
    ​
    # 4.基于数据卷加载配置文件方式运行
    - a.从容器复制kibana配置文件出来
    - b.修改配置文件为对应ES服务器地址
    - c.通过数据卷加载配置文件方式启动
      `docker run -d -v /root/kibana.yml:/usr/share/kibana/config/kibana.yml  --name kibana -p 5601:5601 kibana:7.14.0

    compose方式安装

    version: "3.8"
    volumes:
      data:
      config:
      plugin:
    networks:
      es:
    services:
      elasticsearch:
        image: elasticsearch:7.14.0
        ports:
          - "9200:9200"
          - "9300:9300"
        networks:
          - "es"
        environment:
          - "discovery.type=single-node"
          - "ES_JAVA_OPTS=-Xms512m -Xmx512m"
        volumes:
          - data:/usr/share/elasticsearch/data
          - config:/usr/share/elasticsearch/config
          - plugin:/usr/share/elasticsearch/plugins
    ​
      kibana:
        image: kibana:7.14.0
        ports:
          - "5601:5601"
        networks:
          - "es"
        volumes:
          - ./kibana.yml:/usr/share/kibana/config/kibana.yml
    # kibana配置文件 连接到ES
    server.host: "0"
    server.shutdownTimeout: "5s"
    elasticsearch.hosts: [ "http://elasticsearch:9200" ]monitoring.ui.container.elasticsearch.enabled: true
    
  • 相关阅读:
    opencv车牌识别<二>
    【Builder模式】C++设计模式——构建器
    算法——动态规划
    洛谷 P2812 校园网络(强连通分量, 缩点)
    蓝桥杯官网练习题(0的个数)
    解读服装行业生命周期
    python--gdal:tif图像坐标/投影坐标/经纬度转换(理清i和j的顺序)
    柔性数组 +结构体中数组名与指针的区别
    输出比较功能中的pwm以及其他功能的区分
    Java8 巨强大的新特性 lambda表达式
  • 原文地址:https://blog.csdn.net/qq_63438013/article/details/136610982