1、下载安装包

wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.16.3-linux-x86_64.tar.gz


官网: https://www.elastic.co

下载页面: https://www.elastic.co/cn/downloads/elasticsearch

注意事项:Elasticsearch7 开始推荐Java最低版本Java11

2、安装

# 解压安装包
tar -zxvf elasticsearch-7.16.3-linux-x86_64.tar.gz
# 创建目录文件夹
mkdir /usr/local/elasticsearch
# 将解压出来的es安装包文件夹放到 上面创建的目录下面去
mv ~/elasticsearch-7.16.3 /usr/local/elasticsearch

3、添加用户(ES 不能使用root用户启动)

# 新增 elastic 分组
groupadd elastic
# 新增 elastic用户并加入到 elastic 分组
useradd -g elastic elastic
# 设置elastic用户权限
chown -R elastic:elastic /usr/local/elasticsearch/elasticsearch-7.16.13/
# 查看文件夹里面拥有者和拥有组
pwd && ll

image-20220216143927892

4、启动与停止

# 切换到elastic 用户
su elastic
# 进入到 elasticsearch 的bin目录下面去
cd /usr/local/elasticsearch/elasticsearch-7.16.3/bin
# 启动
sh elasticsearch

5、报错与解决

image-20220216144248361

上述错误是因为, ES 在 7.x以后 Java的最低版本要求是Java11了。我们可以切换到内置版本的JDK。 所以通过修改ES内置的配置文件就可以解决这个问题了。

# 编辑bin下面的elasticsearch文件
vim /usr/local/elasticsearch/elasticsearch-7.16.3/bin/elasticsearch-env

定位到下图所示的位置

image-20220216153403337

大致的意思是

  • 先去找内置的 ES_JAVA_HOME 环境变量,如果有则使用 ES_JAVA_HOME的环境变量所对应的JAVA。

  • 如果没有ES_JAVA_HOME 环境变量, 则查看JAVA_HOME 环境变量。(此时就会出现Java8 不能使用的问题(JAVA_HOME 指向的是Java8版本))

    # 报错
    Future versions of Elasticsearch will require Java 11; your Java version from [/usr/local/jdk1.8.0_271/jre] does not meet this requirement.Consider switching to a distribution of Elasticsearch with a bundled JDK. If you are already using a distribution with a bundled JDK, ensure the JAVA_HOME environment variable is not set.
    

解决方法:

  • 在 /etc/profile 文件里面添加 ES_JAVA_HOME环境变量
# 从 elastic 用户 切换到 root用户,使用exit命令退出
exit
# 编辑 /etc/profile
vim /etc/profile

# 在文件末尾添加如下信息
# es java home setting
export ES_JAVA_HOME=/usr/local/elasticsearch/elasticsearch-7.16.3/jdk
# 保存
# :wq!  保存

# 配置生效
source /etc/profile

image-20220216154219897

重新启动

su elastic
cd /usr/local/elasticsearch/elasticsearch-7.16.3/bin
./elasticsearch

注意此时还会没有报错信息的情况下被killed,这是因为内存不够导致的

image-20220216154451847

解决方法: 修改jvm.options

#  进入到文件夹
cd /usr/local/elasticsearch/elasticsearch-7.16.3/config
# 编辑文件
vim jvm.options
################################
# 添加如下配置信息(这里根据你实际可用内存是多少决定JVM内存,我这里1.0G可用,所以我使用的512M)
#添加两行已配置你的jvm内存大小,此处建议为服务器内存的一半,但不要超过32G
-Xmx512m
-Xms512m
#################################

image-20220216154809909

再次执行启动命令

su elastic #  如果当前是 root用户则执行切换用户,如果不是则不用执行
# 进入文件夹
cd /usr/local/elasticsearch/elasticsearch-7.16.3/bin
# 启动es
./elasticsearch

image-20220216154852530

看到这里es就启动成功了。

6、测试

curl localhost:9200 
{
  "name" : "VM-16-15-centos",
  "cluster_name" : "elasticsearch",
  "cluster_uuid" : "7gv_6ON9ThetiehwzOSLMg",
  "version" : {
    "number" : "7.16.3",
    "build_flavor" : "default",
    "build_type" : "tar",
    "build_hash" : "4e6e4eab2297e949ec994e688dad46290d018022",
    "build_date" : "2022-01-06T23:43:02.825887787Z",
    "build_snapshot" : false,
    "lucene_version" : "8.10.1",
    "minimum_wire_compatibility_version" : "6.8.0",
    "minimum_index_compatibility_version" : "6.0.0-beta1"
  },
  "tagline" : "You Know, for Search"
}

image-20220216155123838

至此es可以正常启动,

7、后台启动

但是还有一个问题,我们希望后台启动,以及开机自启动,如何操作呢?

# 关闭上面启动的es
# 查看es的PID
lsof -i:9200 
# kill 掉 es
kill -9 13854

image-20220216155426404

# 切换到 elastic 用户 重启es,
su elastic #  如果当前是 root用户则执行切换用户,如果不是则不用执行
# 进入文件夹
cd /usr/local/elasticsearch/elasticsearch-7.16.3/bin
# 启动es  -d 是后台启动
./elasticsearch -d
posted on 2022-02-16 16:01  QzkRainPig  阅读(600)  评论(0编辑  收藏  举报