Elasticsearch 7.10.2安装 Linux版
这期不谈技术只做安装,因为这个7版本的安装如果没有文档指引的话属实麻烦,会出很多问题
零、前夕准备
- 首先你要有一台linux的虚拟机或者云服务器,如果你是云服务器的话一定要在安全组中打开9200和9300端口,不然外部访问不到你的Elasticsearch
- 对应的防火墙也要关闭
- 防止9200和9300端口占用,如果你是新系统的话这个基本可以忽略
- 有点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" }
恭喜你成功了!!!