zoukankan      html  css  js  c++  java
  • Elasticsearch安装

    Elasticsearch安装

    liunx 安装

    下载

    登录你的服务器,作者在这里准备了一台云服务器,创建一个目录,将Elasticsearch下载到你的服务器上。

    # 创建目录 es
    mkdir es 
    # 进入es目录
    cd /es
    # 下载es
    wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.8.0-linux-x86_64.tar.gz

    如下图,正在进行下载。可能会有点慢。

    减压

    下载完成后,在你的es目录下会有一个压缩包elasticsearch-7.8.0-linux-x86_64.tar.gz,如下图

    我们执行下面的这条命令进行减压,减压处理啊一个文件夹elasticsearch-7.8.0

     tar -zxvf elasticsearch-7.8.0-linux-x86_64.tar.gz 

    进入到elasticsearch-7.8.0我们看一下目录结构

    目录介绍:

    • bin:该目录放置的是一些操作Elasticsearch的脚本文件,包括启动脚本文件
    • config:这个目录下有一个很重要的文件elasticsearch.yml,这个是配置es的文件,后面我们配置集群就是在这文件中进行的
    • jdk:elasticsearch自带的jdk
    • lib: elasticsearch依赖的一些jar
    • logs: 日志文件存放的目录
    • modules:模块库
    • plugins:存放插件的目录,后面我们用到的插件直接放在这个目录下就好了

    启动

    正常情况下我们只需要进入到bin目录下,执行如下命令,一个es节点就启动成功了,但是如果你是一台新的服务器,就会遇到很多问题。

    sh elasticsearch

    JDk版本问题

    上面这条命令输入以后,首先报的错误就是jdk的版本问题。因为作者使用的是es最新的版本7.8的版本,这个版本默认的jdk是11,因为作者服务器上的版本的1.8的jdk,所以会报如下的错误:

    future versions of Elasticsearch will require Java 11; your Java version from [/usr/lib/jvm/java-1.8.0-openjdk-headless-1.8.0.181-3.b13.el7_5.x86_64] does not meet this requirement

    问题搞明白了后,我们就需要在服务器上安装JDK11,具体安装步骤如下:

    • 删除服务器上的JDk1.8,找到你的jdk安装的路径,执行如下的命令,查找安装目录

      # 查找jdk
      rpm -qa|grep jdk
      # 卸载
      yum -y remove java-1.8.0-openjdk-headless-1.8.0.181-3.b13.el7_5.x86_64
      # 验证
      java -version
    • 搜索JDK11,执行如下命令,可以看到搜索的结果

      # 搜索JDK11
      yum search java-11-openjdk
    • 安装JDK11,执行如下命令进行安装

      # 安装
      yum install java-11-openjdk-headless.x86_64
    • 验证

      java -version
      #输出如下,说明安装成功
      openjdk version "11.0.8" 2020-07-14 LTS
      OpenJDK Runtime Environment 18.9 (build 11.0.8+10-LTS)
      OpenJDK 64-Bit Server VM 18.9 (build 11.0.8+10-LTS, mixed mode, sharing)

      配置环境变量

      编辑profile文件,

       # 编辑文件
       vi /etc/profile

      配置如下信息

       JAVA_HOME=/usr/lib/jvm/java-11-openjdk-11.0.8.10-0.el7_8.x86_64
       JRE_HOME=$JAVA_HOME/jre
       CLASS_PATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib
       PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin
       export JAVA_HOME JRE_HOME CLASS_PATH PATH

      或者使用es自带的jdk,下面我们来配置一下,进入到/bin目录下找到elasticsearch-env找到JAVA编辑配置如下内容

      JAVA =/es/elasticsearch-7.8.0/jdk/bin/java
      JAVA_TYPE="JAVA_HOME"

      由于是在执行sh elasticsearch命令还是会报错,所以我们需要创建一个新的用户

    创建用户

    有以上的问题可以知道,es是不允许使用root用户进行启动的,因此我们需要创建一个普通的用户

     #添加用户 triumphxx
     useradd triumphxx
     #设置密码 根据提示输入俩次密码
     passwd triumphxx123
     #设置用户权限
     visudo
     #添加如下内容,在root ALL=(ALL)  ALL  下面增加新用户的信息
     triumphxx  ALL=(ALL)  ALL 

    更改文件权限

     chown -R triumphxx:triumphxx elasticsearch-7.8.0

    继续启动

     # 切换用户到triumphxx
     su triumphxx
     # 启动
     sh elasticsearch

    根据输出的日志我们还需要修改如下的配置文件/elasticsearch-7.8.0/bin/elasticsearch-env,/etc/sysctl.conf,/elasticsearch-7.8.0/config/jvm.options,/elasticsearch-7.8.0/config/elasticsearch.yml

    根据启动es启动的报错日志,我们需要修改文件lasticsearch-env的俩个符号问题

     把  done  < (env) 修改改为   done <<< 'env'

    修改jvm.options文件中的内容如下

    # 原来的1g
    -Xms1g
    -Xmx1g
    # 修改为256m
    -Xms256m
    -Xmx256m

    ysctl.conf文件中添加如下内容

    vm.max_map_count = 262144

    以及需要创建的俩个目录:/path/to/data,/path/to/logs,这俩个目录的配置是在elasticsearch.yml文件中,如下:

    # 数据目录
    path.data: /path/to/data
    # 日志目录
    path.logs: /path/to/logs

    创建完成后,我们需要切换到root用户下将目录的权限授权给启动es的用户triumphxx,执行如下俩条命令进行授权

    chown -R triumphxx:triumphxx /path/to/data/
    chown -R triumphxx:triumphxx /path/to/logs/

    以上这些配置小伙伴们不必担心不会配置,因为在你启动es的时候,日志里都会进行详细的说明,只要大家,按着提示找到对应的文件进行修改添加配置即可。

    验证

    查看es输出的日志,有如下内容,说明启动成功

    访问

    在浏览器输入ip:端口输出如下内容,说明我们的es已经完全启动起来了

    {
      "name" : "node-1",
      "cluster_name" : "es",
      "cluster_uuid" : "P2_t8-aPS_iB_7trNLztMg",
      "version" : {
        "number" : "7.8.0",
        "build_flavor" : "default",
        "build_type" : "tar",
        "build_hash" : "757314695644ea9a1dc2fecd26d1a43856725e65",
        "build_date" : "2020-06-14T19:35:50.234439Z",
        "build_snapshot" : false,
        "lucene_version" : "8.5.1",
        "minimum_wire_compatibility_version" : "6.8.0",
        "minimum_index_compatibility_version" : "6.0.0-beta1"
      },
      "tagline" : "You Know, for Search"
    }

    mac os 安装

    mac安装是基于docker来进行安装。如果小伙伴们没有docker需要先行安装dockerdocker安装教程

    由于docker默认的的镜像仓库是国外的,受网络限制,所以小伙伴们,可以去注册一个 国内的镜像仓库 网易云镜像仓库->点击前往

    找到镜像中心,搜索你要下载的镜像进行复制镜像地址,进行下载。

    到你的终端执行如下命令,进行下载

    # 下载镜像
     docker pull hub.c.163.com/library/elasticsearch:latest

    看到如下,内容表示,镜像已经下载完成

    查看你的镜像,执行如下命令,可以看到我们的本地镜像仓库,已经有了es的镜像

    docker images

    启动

    执行如下命令进行启动,具体命令参数就不多说了,前面的docker系列文章有介绍,大家可以去一下

    docker run -d -p9200:9200 hub.c.163.com/library/elasticsearch

    验证

    在浏览器输入http://localhost:9200/,返回如下内容,表示启动成功

    {
      "name" : "v9Lxequ",
      "cluster_name" : "elasticsearch",
      "cluster_uuid" : "7tziSgTMROaSHHu3X_ozIA",
      "version" : {
        "number" : "5.5.2",
        "build_hash" : "b2f0c09",
        "build_date" : "2017-08-14T12:33:14.154Z",
        "build_snapshot" : false,
        "lucene_version" : "6.6.0"
      },
      "tagline" : "You Know, for Search"
    }

    小结

    好啦,小伙伴们,我们具体主要讨论的是在俩个环境上装我们的Es,云服务器上安装的部分稍微说的多了一点,原因是我们可能安装不同的ES版本,会遇到各式各样的问题,希望小伙伴们都能够解决。后续我们就会进行实战环节,让我们就实际的来操作es

  • 相关阅读:
    Linux内核通杀提权漏洞CVE-2016-5195
    Android APP安全评估工具 Drozer
    (转)手机安全测试
    微信公众号获取的图片不能正常显示的问题
    android开发时gen和bin目录的SVN管理(转)
    处理千万级以上的数据提高查询速度的方法(转)
    Java遍历JSON
    Java反射得到属性的值和设置属性的值(转)
    java如何得到GET和POST请求URL和参数列表(转)
    Oracle Database 11G R2 标准版 企业版 下载地址(转)
  • 原文地址:https://www.cnblogs.com/triumph-wyp-com/p/13544229.html
Copyright © 2011-2022 走看看