Elasticsearch 7.10.2安装 Linux版

Elasticsearch 7.10.2安装 Linux版

这期不谈技术只做安装,因为这个7版本的安装如果没有文档指引的话属实麻烦,会出很多问题

零、前夕准备

  1. 首先你要有一台linux的虚拟机或者云服务器,如果你是云服务器的话一定要在安全组中打开9200和9300端口,不然外部访问不到你的Elasticsearch
  2. 对应的防火墙也要关闭
  3. 防止9200和9300端口占用,如果你是新系统的话这个基本可以忽略
  4. 有点linux基础,你要是linux都不会,告诉我要在linux上安装东西,那我欢迎你去看我的linux基础博客 链接:https://blog.csdn.net/qq_44769485/article/details/108476233

一、jdk环境

因为Elasticsearch 是基于java的,所以必须要有java的开发环境

我相信都学到搜索引擎了jdk大家应该都会装了,不会的话看我之前的Linux安装jdk的博客,链接:https://blog.csdn.net/qq_44769485/article/details/113619207

二、安装Elasticsearch

这个我按照官方帮助文档中的安装教程给你们演示一下,亲测有效!

wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.10.2-linux-x86_64.tar.gz
wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.10.2-linux-x86_64.tar.gz.sha512
shasum -a 512 -c elasticsearch-7.10.2-linux-x86_64.tar.gz.sha512 
tar -xzf elasticsearch-7.10.2-linux-x86_64.tar.gz

安装完成之后进入目录

cd elasticsearch-7.10.2/bin/

先不要着急启动,由于es5之后为了安全不允许root用户操作,所以我们要创建一个新的非root用户

//创建用户组
groupadd es_action 
//在es_g用户组下添加一个用户,用户名为myes,密码为123
useradd 用户名为myes -g es_action -p 123 
//赋予elasticsearch目录的权限
chown -R myes:es_action elasticsearch-7.10.2/

注意:如果你这时候启动肯定还是会报错的(由于是成功之后发的博客,错误信息我就不罗列了,按照我的去改跟定能运行成功的)

三、Elasticsearch相关配置修改

config/elasticsearch.yml

  • 这里需要设置一个节点名称(如果不设置也会有默认的节点,但是不利于第二部配置)
  • 设置集群初始主节点,在7之后好像是必须要开这个设置了,反正我没开就报错了
  • 开启ip不拦截,这个跟启动无关,只是会让你从外部访问不到这个es而已
# ---------------------------------- Cluster -----------------------------------
#
# Use a descriptive name for your cluster:
#
#cluster.name: my-application
#设置集群初始主节点!!!!
cluster.initial_master_nodes: ["node1"] 
#
# ------------------------------------ Node ------------------------------------
#
# Use a descriptive name for the node:
#
#节点名称(自己设置)!!!!
node.name: node1
#
# Add custom attributes to the node:
#
#node.attr.rack: r1
`无关部分省略`
# ---------------------------------- Network -----------------------------------
#
# Set the bind address to a specific IP (IPv4 or IPv6):
#
#设置所有ip都能访问!!!!
network.host: 0.0.0.0
#
# Set a custom port for HTTP:
#
#设置默认http端口,默认9200就行!!!!
http.port: 9200
#
# For more information, consult the network module documentation.

config/jvm.options

  • 这个配置虽然不影响启动,但是会占用很多内存

  • es启动的时候会向系统申请指定容量的jvm内存,默认是1g对于一般学习来讲太大了,我们给他调一下

#找到两个属性,默认是1g,给他改成指定的就行,我将他设置为128m
-Xms1g  ->  -Xms128m
-Xmx1g  ->  -Xmx128m

四、系统相关配置

  • 因为elasticsearch启动需要申请内存和线程个数

  • 首先我们先查看一下elasticsearch的(单个用户)最大线程个数

    [root@localhost elasticsearch-7.10.2]# ulimit -Hn
    4096
    [root@localhost elasticsearch-7.10.2]# ulimit -Sn
    1024
    这里可以看到默认硬资源限制是4096,软资源限制是1024
    `硬限制:是指对资源节点和数据块的绝对限制,在任何情况下都不允许用户超过这个限制`
    `软限制在一定时间范围内(默认为一周,在/usr/include/sys/fs/ufs_quota.h文件中设置)超过软限制的额度。`
    
  • 然后我们编辑/etc/security/limits.conf文件,修改一下配置,如果没有就添加上

    * soft nofile 65536
    * hard nofile 65536
    * soft nproc 4096
    * hard nproc 4096
    
  • 这时候我们再启动还会报一个最大虚拟内存太低的错误

  • 最后我们进入/etc/sysctl.conf在文件的最后一行加入

    vm.max_map_count=262144
    
  • 退出最后执行以下命令,这个命令为永久修改,不然你在启动就改回去了

    sysctl -p 
    

五、启动Elasticsearch

  • 终于到最后一步了,跳转elasticsearch-7.10.2/bin目录启动elasticsearche
#这里要注意一下,切换回刚才你创建的非root用户再执行启动
[root@localhost bin]# su myes
[myes@localhost bin]$ ./elasticsearche
  • 没有报error则启动完成

  • 然后访问一下 ip:9200 (ip是你的服务器ip)

  • 如果页面展示为

    {
           
      "name" : "node1",
      "cluster_name" : "elasticsearch",
      "cluster_uuid" : "dfgnmdexuedsrgw-xartf-w",
      "version" : {
           
        "number" : "7.10.2",
        "build_flavor" : "default",
        "build_type" : "tar",
        "build_hash" : "1d2asdasd1sa23d1as2d1dsa2d1sa32d",
        "build_date" : "2021-01-13T00:42:12.435326Z",
        "build_snapshot" : false,
        "lucene_version" : "8.7.0",
        "minimum_wire_compatibility_version" : "6.8.0",
        "minimum_index_compatibility_version" : "6.0.0-beta1"
      },
      "tagline" : "You Know, for Search"
    }
    

恭喜你成功了!!!

你可能感兴趣的:(Elasticsearch,linux,elasticsearch,大数据,java)