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.mzph.cn/news/42861.shtml

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

相关文章

查看 Linux 内核版本的几种方法

uname -a uname -srm uname -r 分拆:Linux 5.13.0-19-generic x86 64 5-内核版本 13-主修订版本 0-19 -次要修订版本 过查看 /proc/version 文件确认 /proc 目录包含虚拟文件,其中包含有关系统内存,CPU内核,已安装文件系统等的信…

020-从零搭建微服务-认证中心(九)

写在最前 如果这个项目让你有所收获,记得 Star 关注哦,这对我是非常不错的鼓励与支持。 源码地址(后端):https://gitee.com/csps/mingyue 源码地址(前端):https://gitee.com/csps…

【C#】条码管理操作手册

前言:本文档为条码管理系统操作指南,介绍功能使用、参数配置、资源链接,以及异常的解决等。思维导图如下: 一、思维导图 二、功能操作–条码打印(客户端) 2.1 参数设置 功能介绍:二维码图片样…

Windows定时任务计划无法显示任务程序界面的问题解决

笔者这两天写了一个python脚本程序,用来自动从公司的主数据系统获取数据,并按格式编制成excel。脚本程序编写一切顺利,运行结果很是完美,笔者很是舒心。但在最后一步,用上班的电脑每天早上定时运行它时,出了…

JAVA设计模式总结之23种设计模式

一、什么是设计模式 设计模式(Design pattern)是一套被反复使用、多数人知晓的、经过分类编目的、代码设计…

【Git】Git中的钩子

Git Book——Git的自定义钩子 Git中的钩子分为两大类: 1、客户端钩子:由诸如提交和合并这样的操作所调用 2、服务端钩子:由诸如接收被推送的提交这样的联网操作 客户端钩子: 提交工作流钩子 pre-commit:在提交信息前…

ahooks.js:一款强大的React Hooks库及其API使用教程(三)

一、ahooks.js简介二、ahooks.js安装三、继续ahooks.js API的介绍与使用教程41. useAsyncEffect42. useDebounceEffect43. useDebounceFn44. useThrottleFn45. useThrottleEffect46. useDeepCompareEffect47. usePrevious48. useRafState49. useSafeState50. useGetState 一、a…

开源和自研——机器人

双足机器人: MPC技术:封闭性非常高。没有开源方案可抄。 因为开源,不需要从0构建。 这也是前两年,国外一开源华为就遥遥领先。 射频芯片/射频天线:技术封闭。华为虽然做通信,但却没有攻破。 鸿蒙&#…

计算复杂度基础

1. 抽象问题 抽象问题包括决策问题和优化问题 注意:描述中,I的缩写是Instance,S的缩写是Solution。 2. 决策问题 3. 优化问题 将一个优化问题转换为决策问题后,不会变的更难。 \color {green}将一个优化问题转换为决策问题后&…

【C++】int a;和int *p=new int;有什么区别?

2023年8月19日,周六早上 int a; 和 int *p new int; 之间有以下区别: 1. 内存分配方式:int a; 是在栈上分配内存,而 int *p new int; 是在堆上动态分配内存。 2. 生命周期:int a; 的生命周期与其所在的作用域相同&…

Python绘图系统6:自定义坐标列表控件

文章目录 自定义坐标列表控件显示和隐藏加载按钮坐标设置控件的显示和隐藏源代码 Python绘图系统: 基础:将matplotlib嵌入到tkinter 📈简单的绘图系统 📈数据导入📈三维绘图系统自定义控件:坐标设置控件&a…

【Spring Boot】JdbcTemplate数据连接模板 — JdbcTemplate入门

JdbcTemplate入门 本节从基础的部分开始介绍什么是JDBC、什么是JdbcTemplate,然后介绍Spring Boot项目如何使用JdbcTemplate操作数据库。 1.JdbcTemplate简介 1.1 什么是JDBC JDBC(Java Data Base Connectivity,Java数据库连接&#xff0…

【二叉树】100. 相同的树

100. 相同的树 解题思路 深度优先遍历首先写的就是递归结束条件当两个节点都是null 直接返回true当只有其中一个节点是null 返回false当两个节点的值不相等的时候 直接false然后两棵树的左节点 两个树的右节点 /*** Definition for a binary tree node.* public class TreeN…

android resoure资源图片颜色值错乱

最近androidstudio开发,添加一些颜色值或者drawable资源文件时,运行app,颜色值或者图片对应不上,暂时找不到原因,望告知。 暂时解决方法:

链游再进化 Web3版CSGO来袭

过去几年,游戏开发者们一直希望借Web3这个价值流通网络,改造传统游戏的经济系统,将虚拟资产的掌管权交给用户,让资产自由地在市场流通。 Web3游戏发展史上,涌现过CryptoKitties、Axie Infinity两大爆款,但…

【C++深入浅出】初识C++中篇(引用、内联函数)

目录 一. 前言 二. 引用 2.1 引用的概念 2.2 引用的使用 2.3 引用的特性 2.4 常引用 2.5 引用的使用场景 2.6 传值、传引用效率比较 2.7 引用和指针的区别 三. 内联函数 3.1 内联函数的概念 3.2 内联函数的特性 一. 前言 上期说道,C是在C的基础之上&…

onvif中imaging setting图像画质总结!

前言: 大家好,今天给大家来分享一篇关于图像质量的内容,这个内容是我在做onvif中的imaging setting的时候,关注到里面有关于: brightness(亮度)color saturation(色彩饱和度)contrast(对比度)sharpness(锐度)white balance(白平衡…

C语言刷题指南(二)

📙作者简介: 清水加冰,目前大二在读,正在学习C/C、Python、操作系统、数据库等。 📘相关专栏:C语言初阶、C语言进阶、C语言刷题训练营、数据结构刷题训练营、有感兴趣的可以看一看。 欢迎点赞 &#x1f44d…

TDI(Time Delay Integration)

TDI(Time Delay Integration)是一种特殊的图像采集技术,常用于线阵CCD(Charge-Coupled Device)相机。TDI技术可以在保持高分辨率的同时增强图像的信噪比(Signal-to-Noise Ratio, SNR)&#xff0…

kubesphere 集成 sonar

文章目录 安装 helm通过 helm 安装 sonar配置 SonarQube 服务器创建 SonarQube 管理员令牌SonarQube 配置添加到 ks-installer创建 Webhook 服务器将 SonarQube 服务器添加至 Jenkins将 sonarqubeURL 添加到 KubeSphere 控制台重启服务 为新项目创建 SonarQube Token 官方文档&…