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

news/2024/7/7 5:49:42 标签: elasticsearch, centos, 搜索引擎, 开机自启

ElasticSearch 部署

  • 一、系统环境
  • 二、解压安装
    • 2.1 解压压缩包
    • 2.2 修改配置文件
    • 2.3 添加操作用户
    • 2.4 启动
    • 2.5 开放端口
    • 2.6 开机自启动配置
    • 2.7 设置用户名密码认证
  • 三、总结

一、系统环境

操作系统:Centos 7
已配置环境:空

二、解压安装

2.1 解压压缩包

上传压缩包到/opt 目录下

cd /opt

解压并创建数据目录

tar -zxvf elasticsearch-8.6.2-linux-x86_64.tar.gz
mv elasticsearch-8.6.2 elasticsearch
mkdir /opt/elasticsearch/data

2.2 修改配置文件

cd /opt/elasticsearch/config/
cp elasticsearch.yml elasticsearch.yml.cp
vi elasticsearch.yml

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

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 文件夹赋权

useradd es
chown -R es:es /opt/elasticsearch/

2.4 启动

后台启动 ES

su es
cd /opt/elasticsearch/bin/
./elasticsearch -d

此时没法正常启动ES ,报错了。
在这里插入图片描述

对于【max file descriptors [4096] for elasticsearch process is too low, increase to at least [65535]】
修改配置

exit
vi /etc/security/limits.conf

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

* 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]】

vi /etc/sysctl.conf

添加以下内容:

 vm.max_map_count=262145

刷新配置后重启ES

sysctl -p
su es
cd /opt/elasticsearch/bin/
./elasticsearch -d

在这里插入图片描述

2.5 开放端口

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

exit
firewall-cmd --zone=public --add-port=9200/tcp --permanent
firewall-cmd --reload

在这里插入图片描述

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

在这里插入图片描述

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

vi elasticsearch.yml

在这里插入图片描述

修改以下内容:

xpack.security.enabled: false

关闭es ,重新启动

ps -ef|grep elastic
kill 2896

在这里插入图片描述

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 开机自启动配置

查看当前的开机启动服务

chkconfig --list

在这里插入图片描述

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

exit;
vi /etc/init.d/elasticsearch

添加内容如下

#!/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。

增加脚本的可执行权限

chmod +x /etc/init.d/elasticsearch

把 ES 服务添加到 chkconfig 列表

chkconfig --add elasticsearch

设置 ES 服务自启动

chkconfig elasticsearch on

查看 ES 服务自启动状态

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

service elasticsearch start

修改配置

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 的密码:

service elasticsearch restart
cd /opt/elasticsearch/bin/
./elasticsearch-reset-password -u elastic
y

在这里插入图片描述

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

vi elasticsearch.yml

在这里插入图片描述

三、总结

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

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


http://www.niftyadmin.cn/n/233958.html

相关文章

Linux内存映射基础概念

什么是内存映射 内存映射&#xff08;Memory Mapping&#xff09;是Linux操作系统中一种重要的内存管理技术。它允许程序将一个文件或者其他对象映射到进程的虚拟地址空间中&#xff0c;从而使得程序可以像访问内存一样直接访问文件。这种技术的优势在于提高了文件访问的效率&a…

MySQL 8.0原理与实战一网打尽,甲骨文数据库专家硬刚5年之作

根据权威数据库技术排名网站DB-Engines今年4月的最新数据&#xff0c;MySQL是全球最流行的开源数据库&#xff0c;没有之一。在所有数据库排名中&#xff0c;MySQL仅次于Oracle&#xff0c;“屈居”亚军之位。但大家从截图中可以看出&#xff0c;MySQL与Oracle的得分差距已经非…

Akamai发布《互联网现状》报告,亚太恶意DNS攻击剧增

近日&#xff0c;美国知名云服务技术提供商Akamai发布全新的《互联网现状》报告&#xff0c;该报告重点介绍了域名系统&#xff08;DNS&#xff09;攻击对亚太地区企业和消费者造成的威胁。 由于互联网的大多数应用都是通过 DNS 进行的&#xff0c;这种普遍性使 DNS 成为了攻击…

免费部署属于自己的chatGPT网站,欢迎大家试玩

最近我发现了一个非常nice的部署网站的工具&#xff0c; railway&#xff0c;这个网站是国外的&#xff0c;所以部署出来的项目域名是国外的&#xff0c;并不需要担心封号&#xff0c;也不需要进行域名注册&#xff0c;部署成功之后会自动生成域名&#xff0c;在国内就能够正常…

【线程编程】线程编程之Pthreads

C语言提供了多种多线程并发的框架和库&#xff0c;其中最常用的是 POSIX线程库&#xff08;Pthreads&#xff09;。 Pthreads库提供了一套标准的API&#xff0c;使得开发者可以轻松地编写多线程并发的程序。这是一套由POSIX提出的通用的线程库,在Linux平台下被广泛支持。使用pt…

学习React与Next.js过程中的疑惑

学习React与Next.js过程中的疑惑1、为什么React中函数作为props的时候&#xff0c;会出现无限调用的情况&#xff0c;而把函数放在箭头函数中就可以解决呢&#xff1f;2、next.js与node.js有什么区别&#xff1f;3、什么是快速刷新&#xff1f;4、Hooks出现的原因是什么&#x…

Springboot 整合 Redis 进行基本操作

SpringBoot整合Redis 首先创建 Springboot 项目。 spring-data-redis针对jedis提供了如下功能&#xff1a;1.连接池自动管理&#xff0c;并提供了一个高度封装的“RedisTemplate”类2.针对jedis客户端中大量api进行了归类封装,将同一类型操作封装为operation接口ValueOperat…

第17章_反射机制

第17章_反射机制 讲师&#xff1a;尚硅谷-宋红康&#xff08;江湖人称&#xff1a;康师傅&#xff09; 官网&#xff1a;http://www.atguigu.com 本章专题与脉络 1. 反射(Reflection)的概念 1.1 反射的出现背景 Java程序中&#xff0c;所有的对象都有两种类型&#xff1a;编…