前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Centos 7 安装系列(10):ElasticSearch 8.6.2

Centos 7 安装系列(10):ElasticSearch 8.6.2

原创
作者头像
用户10449202
发布2023-04-17 20:21:24
2510
发布2023-04-17 20:21:24
举报
文章被收录于专栏:Centos 操作手册

@TOC

一、系统环境

操作系统:Centos 7

已配置环境:空

二、解压安装

2.1 解压压缩包

上传压缩包到/opt 目录下

代码语言:c++
复制
cd /opt

解压并创建数据目录

代码语言:text
复制
tar -zxvf elasticsearch-8.6.2-linux-x86_64.tar.gz
mv elasticsearch-8.6.2 elasticsearch
mkdir /opt/elasticsearch/data

2.2 修改配置文件

代码语言:text
复制
cd /opt/elasticsearch/config/
cp elasticsearch.yml elasticsearch.yml.cp
vi elasticsearch.yml

在文件末尾添加以下配置:

代码语言:text
复制
cluster.name: test-elasticsearch
node.name: es-node0
path.data: /opt/elasticsearch/data
path.logs: /opt/elasticsearch/logs
network.host: 0.0.0.0
cluster.initial_master_nodes: ["es-node0"]
在这里插入图片描述
在这里插入图片描述

2.3 添加操作用户

es不允许使用root用户操作,需要单独添加用户,并给es 文件夹赋权

代码语言:text
复制
useradd es
chown -R es:es /opt/elasticsearch/

2.4 启动

后台启动 ES

代码语言:c++
复制
su es
cd /opt/elasticsearch/bin/
./elasticsearch -d

此时没法正常启动ES ,报错了。

在这里插入图片描述
在这里插入图片描述

对于【max file descriptors 4096 for elasticsearch process is too low, increase to at least 65535】

修改配置

代码语言:text
复制
exit
vi /etc/security/limits.conf

在文件末尾添加以下内容:

代码语言:c++
复制
* soft nofile 65536
* hard nofile 131072
* soft nproc 2048
* hard nproc 4096

对于【max virtual memory areas vm.max_map_count 65530 is too low, increase to at least 262144】

代码语言:text
复制
vi /etc/sysctl.conf

添加以下内容:

代码语言:c++
复制
 vm.max_map_count=262145

刷新配置后重启ES

代码语言:text
复制
sysctl -p
su es
cd /opt/elasticsearch/bin/
./elasticsearch -d
在这里插入图片描述
在这里插入图片描述

2.5 开放端口

因为防火墙开启的缘故,需要开放ES 的端口

代码语言:c++
复制
exit
firewall-cmd --zone=public --add-port=9200/tcp --permanent
firewall-cmd --reload
在这里插入图片描述
在这里插入图片描述

但是,此时访问es 还是会失败。

在这里插入图片描述
在这里插入图片描述

再次查看配置文件,会发现配置文件中末尾多了些安全相关的配置

代码语言:c++
复制
vi elasticsearch.yml
在这里插入图片描述
在这里插入图片描述

修改以下内容:

代码语言:c++
复制
xpack.security.enabled: false

关闭es ,重新启动

代码语言:c++
复制
ps -ef|grep elastic
kill 2896
在这里插入图片描述
在这里插入图片描述
代码语言:c++
复制
su es
cd /opt/elasticsearch/bin/
./elasticsearch -d

此时访问ES ,正常。

访问地址: http://192.168.88.159:9200/ 健康检查: http://192.168.88.159:9200/_cluster/health?pretty=true 集群详细信息: http://192.168.88.159:9200/_cluster/state?pretty

在这里插入图片描述
在这里插入图片描述

2.6 开机自启动配置

查看当前的开机启动服务

代码语言:text
复制
chkconfig --list
在这里插入图片描述
在这里插入图片描述

在/etc/init.d目录下创建启动文件

代码语言:text
复制
exit;
vi /etc/init.d/elasticsearch

添加内容如下

代码语言:text
复制
#!/bin/bash
#chkconfig: 2345 63 37
#description: elasticsearch
#processname: elasticsearch-8.6.2
export ES_HOME=/opt/elasticsearch
case $1 in
        start)
                su es<<!
                cd $ES_HOME
                ./bin/elasticsearch -d -p pid
                exit
!
                echo "elasticsearch is started"
                ;;
        stop)
                ##也可以根据ps命令获取elasticsearch进程的pid
                ##es_pid=`ps aux|grep elasticsearch | grep -v 'grep elasticsearch' | awk '{print $2}'`
                ##kill -9 $es_pid

                pid=`cat $ES_HOME/pid`
                kill -9 $pid
                echo "elasticsearch is stopped"
                ;;
        restart)
                pid=`cat $ES_HOME/pid`
                kill -9 $pid
                echo "elasticsearch is stopped"
                sleep 1
                su es<<!
                cd $ES_HOME
                ./bin/elasticsearch -d -p pid
                exit
!
                echo "elasticsearch is started"
        ;;
    *)
        echo "start|stop|restart"
        ;;
esac
exit 0

注意⚠️:

1、脚本中自动完成了用户的切换,在es 用户下启动 ES

2、采用 ./bin/elasticsearch -d -p pid 命令启动,会在目录下生成 pid 文件,服务stop 时可以直接读取pid 文件获取pid 。

说明:

每个被 chkconfig 管理的服务需要在对应的 init.d 下的脚本加上两行或者更多行的注释。

第一行告诉 chkconfig 缺省启动的运行级以及启动和停止的优先级。如果某服务缺省不在任何运行级启动,那么使用 - 代替运行级。

第二行对服务进行描述,可以用 \ 跨行注释。

#chkconfig: 2345 63 37 指的是指定 kibana 服务在 2、3、4、5的 level 等级下脚本执行顺序是63,1、6的 level 等级下脚本执行顺序是37。

增加脚本的可执行权限

代码语言:text
复制
chmod +x /etc/init.d/elasticsearch

把 ES 服务添加到 chkconfig 列表

代码语言:text
复制
chkconfig --add elasticsearch

设置 ES 服务自启动

代码语言:text
复制
chkconfig elasticsearch on

查看 ES 服务自启动状态

代码语言:text
复制
chkconfig --list elasticsearch
在这里插入图片描述
在这里插入图片描述

如果2~5都是on,就表明会自动启动了

服务启动 service elasticsearch start 服务停止 service elasticsearch stop 服务重启 service elasticsearch restart

2.7 设置用户名密码认证

注意:因为 ES 已经启动,且不是使用上面脚本的命令启动,故而想要使用上面三条命令,需得先关闭原本的 ES 程序。

ps -ef|grep elastic

kill 3142

在这里插入图片描述
在这里插入图片描述

启动 ES

代码语言:c++
复制
service elasticsearch start

修改配置

代码语言:text
复制
vi /opt/elasticsearch/config/elasticsearch.yml

修改以下内容

xpack.security.enabled: true http.cors.enabled: true http.cors.allow-origin: "*" http.cors.allow-headers: Authorization

在这里插入图片描述
在这里插入图片描述

重置 ES 中用户elastic 的密码:

代码语言:text
复制
service elasticsearch restart
cd /opt/elasticsearch/bin/
./elasticsearch-reset-password -u elastic
y
在这里插入图片描述
在这里插入图片描述

此时访问 http://192.168.88.159:9200/ 会没有响应,需要将 http 改为 https ,或者修改配置禁用ssl :

代码语言:c++
复制
vi elasticsearch.yml
在这里插入图片描述
在这里插入图片描述

三、总结

本文内容:

在空白的 Centos 7 系统中,安装部署 ElasticSearch 8.6 ,同时设置开机自启和密码安全策略。

我是陈冰安,在知识宇宙中摸爬滚打,分享个人所得,也期待志同道合。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一、系统环境
  • 二、解压安装
    • 2.1 解压压缩包
      • 2.2 修改配置文件
        • 2.3 添加操作用户
          • 2.4 启动
            • 2.5 开放端口
              • 2.6 开机自启动配置
                • 2.7 设置用户名密码认证
                • 三、总结
                相关产品与服务
                Elasticsearch Service
                腾讯云 Elasticsearch Service(ES)是云端全托管海量数据检索分析服务,拥有高性能自研内核,集成X-Pack。ES 支持通过自治索引、存算分离、集群巡检等特性轻松管理集群,也支持免运维、自动弹性、按需使用的 Serverless 模式。使用 ES 您可以高效构建信息检索、日志分析、运维监控等服务,它独特的向量检索还可助您构建基于语义、图像的AI深度应用。
                领券
                问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档