CentOS系统环境搭建(十二)——CentOS7安装Elasticsearch

centos系统环境搭建专栏🔗点击跳转

CentOS 7.9安装Elasticsearch 7.17.6

文章目录

  • CentOS 7.9安装Elasticsearch 7.17.6
    • 1.下载
    • 2.上传
    • 3.解压
    • 4.调整es占用内存
    • 5.修改es默认Java为本地Java
    • 6.修改elasticsearch配置文件
    • 7.创建用户
    • 8.Elasticsearch 后台启动与关闭
    • 9.es管理脚本
      • 9.1 关闭elasticsearch
      • 9.2 启动elasticsearch

1.下载

🔗https://www.elastic.co/downloads/past-releases/elasticsearch-7-17-6

若你是centos64位服务器,下载LINUX X86_64,下载后上传到linux服务器。

2.上传

上传至/usr/local/

image-20230815104113974

3.解压

进入/usr/local/

cd /usr/local/

执行解压

tar -zxvf elasticsearch-7.17.6-linux-x86_64.tar.gz

4.调整es占用内存

若你电脑性能强劲,这个应该可以不改。

vim /usr/local/elasticsearch-7.17.6/config/jvm.options

image-20230815105759898

修改为1g内存占用。

5.修改es默认Java为本地Java

在当前版本,已经内置jdk,不需要配置本地。这里只分享一个查找本机JDK的安装路径的方法。

方式一:用JAVA_HOME

echo $JAVA_HOME

方式二:专门为通过yum安装的jdk查找

which java
ls -lrt /usr/bin/java 
ls -lrt /etc/alternatives/java

最后查出的/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.382.b05-1.el7_9.x86_64/jre/bin/java才是jdk真正的路径。

6.修改elasticsearch配置文件

编辑elasticsearch.yml

vim /usr/local/elasticsearch-7.17.6/config/elasticsearch.yml

设置节点名称

node.name: node-1

集群名

cluster.name: my-application

设置master节点列表

cluster.initial_master_nodes: ["node-1"]

端口

http.port: 9200

允许远程访问

network.host: 0.0.0.0

到这里要特别注意!!!

这里我们需要先去/data目录下新建文件夹es7,然后去es7文件夹下新建文件夹datalogs

这一步的必要在于,如果将来你的es服务做更新升级,默认的data文件夹是存放在elasticsearch原始根目录下的,那么data文件夹里的数据就会随着升级而丢失。如果你是生产环境,这就是一个很严重的问题了。

path.data: /data/es7/data
path.logs: /data/es7/logs

7.创建用户

elasticsearch默认不允许以root账号运行

创建用户

useradd es

把文件夹分配给组用户

chown es:es -R /usr/local/elasticsearch-7.17.6
chown es:es -R /data/es7

分配权限 只有具有 root 权限的用户和es用户可以读取、写入和执行

chmod -R 700 /data/es7

增大es用户拥有的内存权限

vim /etc/sysctl.conf

在最后一行添加如下

vm.max_map_count=262144

image-20230815112702563
保存退出,刷新配置文件

sysctl -p

切换到es用户

su es

启动elasticsearch

cd /usr/local/elasticsearch-7.17.6/bin
./elasticsearch

8.Elasticsearch 后台启动与关闭

切换为es用户

su es

后台启动(重启)

sh /usr/local/elasticsearch-7.17.6/bin/elasticsearch -d

查看进程

ps aux | grep elasticsearch

执行后会看到如下

[es@VM-4-17-centos logs]$ ps aux | grep elasticsearch
es       31876  181 34.7 3856940 1312716 pts/0 Sl   11:52   0:27 /usr/local/elasticsearch-7.17.6/jdk/bin/java -Xshare:auto -Des.networkaddress.cache.ttl=60 -Des.networkaddress.cache.negative.ttl=10 -XX:+AlwaysPreTouch -Xss1m -Djava.awt.headless=true -Dfile.encoding=UTF-8 -Djna.nosys=true -XX:-OmitStackTraceInFastThrow -XX:+ShowCodeDetailsInExceptionMessages -Dio.netty.noUnsafe=true -Dio.netty.noKeySetOptimization=true -Dio.netty.recycler.maxCapacityPerThread=0 -Dio.netty.allocator.numDirectArenas=0 -Dlog4j.shutdownHookEnabled=false -Dlog4j2.disable.jmx=true -Dlog4j2.formatMsgNoLookups=true -Djava.locale.providers=SPI,COMPAT --add-opens=java.base/java.io=ALL-UNNAMED -Djava.security.manager=allow -Xms1g -Xmx1g -XX:+UseG1GC -Djava.io.tmpdir=/tmp/elasticsearch-185143932475254405 -XX:+HeapDumpOnOutOfMemoryError -XX:+ExitOnOutOfMemoryError -XX:HeapDumpPath=data -XX:ErrorFile=logs/hs_err_pid%p.log -Xlog:gc*,gc+age=trace,safepoint:file=logs/gc.log:utctime,pid,tags:filecount=32,filesize=64m -XX:MaxDirectMemorySize=536870912 -XX:G1HeapRegionSize=4m -XX:InitiatingHeapOccupancyPercent=30 -XX:G1ReservePercent=15 -Des.path.home=/usr/local/elasticsearch-7.17.6 -Des.path.conf=/usr/local/elasticsearch-7.17.6/config -Des.distribution.flavor=default -Des.distribution.type=tar -Des.bundled_jdk=true -cp /usr/local/elasticsearch-7.17.6/lib/* org.elasticsearch.bootstrap.Elasticsearch -d
es       31899  0.0  0.1  54520  4448 pts/0    Sl   11:52   0:00 /usr/local/elasticsearch-7.17.6/modules/x-pack-ml/platform/linux-x86_64/bin/controller
es       31983  0.0  0.0 112812   984 pts/0    S+   11:52   0:00 grep --color=auto elasticsearch

关闭(杀死端口)

kill 31876 31899

查看日志

tail -f /data/es7/logs/my-application.log

9.es管理脚本

但是这样仍然让我感到麻烦,es的今后的各种配置伴随要做大量的重启工作,我决心创建一个脚本,帮我完成这些复杂的事情。

9.1 关闭elasticsearch

脚本名称killes.sh,放到/usr/local/elasticsearch-7.17.6/bin/下。

#!/bin/bash# 获取Elasticsearch进程ID列表
es_pids=$(ps -ef | grep elasticsearch | grep -v grep | awk '{print $2}')# 逐个杀死Elasticsearch进程
for pid in $es_pids; dokill $pid
done

为脚本添加执行权限

chmod +x /usr/local/elasticsearch-7.17.6/bin/killes.sh

关闭elasticsearch

cd /usr/local/elasticsearch-7.17.6/bin
./killes.sh

9.2 启动elasticsearch

su es
sh /usr/local/elasticsearch-7.17.6/bin/elasticsearch -d

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/98683.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

CoordAtt注意力网络结构

源码: import torch import torch.nn as nn import math import torch.nn.functional as Fclass h_sigmoid(nn.Module):def __init__(self, inplaceTrue):super(h_sigmoid, self).__init__()self.relu nn.ReLU6(inplaceinplace)def forward(self, x):return self.…

【CASS精品教程】CAD2016+CASS11.0安装教程(附CASS11.0安装包下载)

文章目录 一、CAD2016_x64安装二、CASS11.0安装1. 安装程序2. 安装补丁3. 安装注册机三、CASS11.0下载地址一、CAD2016_x64安装 CASS11.0.0.8 支持 AutoCAD2010-2023,大家可以根据自己的情况安装对应的版本,本文以CAD2016为例,CAD安装过程略去。 二、CASS11.0安装 点击订…

基于Pytorch构建DenseNet网络对cifar-10进行分类

DenseNet是指Densely connected convolutional networks(密集卷积网络)。它的优点主要包括有效缓解梯度消失、特征传递更加有效、计算量更小、参数量更小、性能比ResNet更好。它的缺点主要是较大的内存占用。 DenseNet网络与Resnet、GoogleNet类似&#…

机器学习深度学习——transformer(机器翻译的再实现)

👨‍🎓作者简介:一位即将上大四,正专攻机器学习的保研er 🌌上期文章:机器学习&&深度学习——自注意力和位置编码(数学推导代码实现) 📚订阅专栏:机器…

【Golang系统开发】搜索引擎(2) 压缩词典

写在前面 这篇文章我们就给出一系列的数据结构,使得词典能达到越来越高的压缩比。当然,和倒排索引记录表的大小相比,词典只占据了非常小的空间。那么为什么要对词典进行压缩呢? 这是因为决定信息检索系统的查询响应时间的一个重…

Spring Boot 如何通过jdbc+HikariDataSource 完成对Mysql 操作

😀前言 本篇博文是关于Spring Boot 如何通过jdbcHikariDataSource 完成对Mysql 操作的说明,希望你能够喜欢😊 🏠个人主页:晨犀主页 🧑个人简介:大家好,我是晨犀,希望我的…

lvs-DR

lvs-DR数据包流向分析 client向目标VIP发出请求。 DIR根据负载均衡算法一台active的RS(RIR1),将RIP1所在的网卡的mac地址作为目标的mac地址,发送到局域网里。 RIRI在局域网中的收到这个帧,拆开后发现目标&#xff08…

CSRF

CSRF CSRF,跨站域请求伪造,通常攻击者会伪造一个场景(例如一条链接),来诱使用户点击,用户一旦点击,黑客的攻击目的也就达到了,他可以盗用你的身份,以你的名义发送恶意请…

Vue-6.编译器webstorm

Vue专栏(帮助你搭建一个优秀的Vue架子) Vue-1.零基础学习Vue Vue-2.Nodejs的介绍和安装 Vue-3.Vue简介 Vue-4.编译器VsCode Vue-5.编译器Idea Vue-6.编译器webstorm Vue-7.命令创建Vue项目 Vue-8.Vue项目配置详解 Vue-9.集成(.editorconfig、…

Docker搭建LNMP运行Wordpress平台

一、项目1.1 项目环境1.2 服务器环境1.3 任务需求 二、Linux 系统基础镜像三、Nginx1、建立工作目录2、编写 Dockerfile 脚本3、准备 nginx.conf 配置文件4、生成镜像5、创建自定义网络6、启动镜像容器7、验证 nginx 四、Mysql1、建立工作目录2、编写 Dockerfile3、准备 my.cnf…

Java自学到什么程度就可以去找工作了?

引言 Java作为一门广泛应用于软件开发领域的编程语言,对于初学者来说,了解到什么程度才能开始寻找实习和入职机会是一个常见的问题。 本文将从实习和入职这两个方面,分点详细介绍Java学习到什么程度才能够开始进入职场。并在文章末尾给大家安…

设计模式之迭代器模式(Iterator)的C++实现

1、迭代器模式的提出 在软件开发过程中,操作的集合对象内部结构常常变化,在访问这些对象元素的同时,也要保证对象内部的封装性。迭代器模式提供了一种利用面向对象的遍历方法来遍历对象元素。迭代器模式通过抽象一个迭代器类,不同…

【Leetcode】98. 验证二叉搜索树

一、题目 1、题目描述 给你一个二叉树的根节点 root ,判断其是否是一个有效的二叉搜索树。 有效 二叉搜索树定义如下: 节点的左子树只包含 小于 当前节点的数。节点的右子树只包含 大于 当前节点的数。所有左子树和右子树自身必须也是二叉搜索树。示例1: 输入:root = …

FT2000+低温情况下RTC守时问题

1、背景介绍 飞腾2000芯片通过I2C连接一块RTC时钟芯片(BellingBL5372)来实现麒麟信安系统下后的守时功能。目前BIOS支持UEFI功能,BIOS上电后能获取RTC时间,并将时间写入相应的UEFI变量或内存区域,操作系统上电后使用U…

antd5源码调试环境启动(MacOS)

将源码下载至本地 这里antd5 版本是5.8.3 $ git clone gitgithub.com:ant-design/ant-design.git $ cd ant-design $ npm install $ npm start前提:安装python3、node版本18.14.0(这是本人当前下载的版本) python3安装教程可参考:https://…

Vue3 用父子组件通信实现页面页签功能

一、大概流程 二、用到的Vue3知识 1、组件通信 (1)父给子 在vue3中父组件给子组件传值用到绑定和props 因为页签的数组要放在父页面中, data(){return {tabs: []}}, 所以顶部栏需要向父页面获取页签数组 先在页签页面中定义props用来接…

Docker 常规软件安装

1. 总体安装步骤 1. 搜索镜像 search 2. 拉取镜像 pull 3. 查看镜像 images 4. 启动镜像 - 端口映射 run 5. 停止容器 stop 6. 移除容器 rm 2. 安装tomcat 1. 搜索 docker search tomcat 2. 拉取 docker pull tomcat 3. 查看本地镜像 docker images tomcat 4. 创建容器实…

搭载KaihongOS的工业平板、机器人、无人机等产品通过3.2版本兼容性测评,持续繁荣OpenHarmony生态

近日,搭载深圳开鸿数字产业发展有限公司(简称“深开鸿”)KaihongOS软件发行版的工业平板、机器人、无人机等商用产品均通过OpenAtom OpenHarmony(以下简称“OpenHarmony”)3.2 Release版本兼容性测评,获颁O…

漏洞指北-VulFocus靶场专栏-中级01

漏洞指北-VulFocus靶场专栏-中级01 中级001 🌸dcrcms 文件上传 (CNVD-2020-27175)🌸step1:输入账号 密码burp suite 拦截 修改类型为 jpeg 中级002 🌸thinkphp3.2.x 代码执行🌸step1:burpsuite …

《HeadFirst设计模式(第二版)》第十一章代码——代理模式

代码文件目录: RMI: MyRemote package Chapter11_ProxyPattern.RMI;import java.rmi.Remote; import java.rmi.RemoteException;public interface MyRemote extends Remote {public String sayHello() throws RemoteException; }MyRemoteClient packa…