Elasticsearch单机部署(Linux)

ops/2024/10/18 17:55:03/

1. 准备环境

本文中Elasticsearch版本为7.12.0,JDK版本为1.8.0,Linux环境部署。

扩展:

(1)查看Elasticsearch对应的常用的jdk版本如下:(详情可看官网的支持一览表)

Elasticsearch and JVM

Oracle/OpenJDK**/AdoptOpenJDK 1.8.0Oracle/OpenJDK**
11
Oracle/OpenJDK**/Temurin
17
Elasticsearch 5.0.x-6.8.x
Elasticsearch 7.0.x-7.17.x
Elasticsearch 8.0.x-8.13.x
(2)JDK1.8在Linux服务器上的安装步骤如下:  JDK部署(Linux)icon-default.png?t=N7T8https://blog.csdn.net/qq_39512532/article/details/135133353

2. 软件下载

Elasticsearch软件官网下载地址:https://www.elastic.co/cn/downloads/past-releases#elasticsearch


3. 上传服务器并解压缩

将 elasticsearch-7.12.0-linux-x86_64.tar.gz压缩包上传到Linux服务器的自定义路径 /opt/software 下

解压缩Elasticsearch压缩包到 自定义路径 /opt/module下:

[root@linux100 software]# tar -zxvf elasticsearch-7.12.0-linux-x86_64.tar.gz -C /opt/module

解压后的Elasticsearch的目录结构如下:

目录含义
bin可执行脚本目录
config配置目录
jdk内置JDK目录
lib类库
logs日志目录
modules模块目录
plugins插入目录

4. 创建用户

创建Linux新用户 es,并修改Elasticsearch文件拥有者。

# 新增es用户
[root@linux100 ~]# useradd es # 设置es用户密码
[root@linux100 ~]# passwd es          
更改用户 es 的密码 。
新的 密码:
重新输入新的 密码:
passwd:所有的身份验证令牌已经成功更新。#修改文件夹所有者
[root@linux100 ~]# chown -R es:es /opt/module/elasticsearch-7.12.0  
[root@linux100 ~]# ll
总用量 4
drwxr-xr-x.  9  es     es      155 3月  18 2021 elasticsearch-7.12.0
drwxr-xr-x. 13 hadoop hadoop  218 12月  4 19:53 hadoop-3.1.3
drwxrwxr-x.  8 hadoop hadoop 4096 11月 21 16:11 jdk1.8.0_391

扩展:如果设置用户有问题时,可通过userdel命令删除用户

[root@linux100 ~]# userdel -r es

5. 修改配置文件

(1)修改主配置文件elasticsearch.yml

[root@linux100 ~]# cd /opt/module/elasticsearch-7.12.0/config[root@linux100 config]# vim elasticsearch.yml

在配置文件中加入以下内容:

# 集群名称,一个 Elasticsearch 集群有一个唯一的名字标识,默认就是elasticsearch

cluster.name: elasticsearch

# 节点名称,如果未设置,默认为随机生成的名称
node.name: node-1

# 数据存储路径

path.data: /path/to/data

# 日志文件路径

path.logs: /path/to/logs

# 网络绑定地址,监听的IP地址,默认为 localhost
network.host: 192.168.243.100

# HTTP接口端口,默认为9200
http.port: 9200

#初始主节点的名称或ID,可放集群中可知的node.name
cluster.initial_master_nodes: ["node-1"]

(2)修改配置文件/etc/security/limits.conf

[root@linux100 config]# vim /etc/security/limits.conf

在配置文件中加入以下内容:

# 每个进程可以打开的文件数的限制
es soft nofile 65536
es hard nofile 65536

(3)修改配置文件/etc/security/limits.d/20-nproc.conf

[root@linux100 config]# vim /etc/security/limits.d/20-nproc.conf

在配置文件中加入以下内容:

# 每个进程可以打开的文件数的限制
es soft nofile 65536
es hard nofile 65536

# 操作系统级别对每个用户创建的进程数的限制
* hard nproc 4096
# 注:* 带表 Linux 所有用户名称

(4)修改配置文件/etc/sysctl.conf

[root@linux100 config]# vim /etc/sysctl.conf

在配置文件中加入以下内容:

# 一个进程可以拥有的 VMA(虚拟内存区域)的数量,默认值为 65536
vm.max_map_count=655360

(5)重新加载

[root@linux100 config]# sysctl -p

6. 启动软件

使用es用户启动软件:

[root@linux100 ~]# su es
[es@linux100 ~]$ cd /opt/module/elasticsearch-7.12.0/
[es@linux100 elasticsearch-7.12.0]$ bin/elasticsearch

7.关闭防火墙

查看防火墙状态:systemctl status firewalld

暂时关闭防火墙:systemctl stop firewalld
永久打开防火墙:systemctl enable firewalld.service 
永久关闭防火墙:systemctl disable firewalld.service
 

防火墙的详细操作可参考下文:

Centos7 防火墙详细操作(Linux)icon-default.png?t=N7T8https://blog.csdn.net/qq_39512532/article/details/131229204

8. 测试软件 

在浏览器中输入地址:http://192.168.243.100:9200/

9. 问题处置

 启动预警提示:usage of JAVA_HOME is deprecated, use ES_JAVA_HOME


解决方案:在配置环境变量的地方加上ES_JAVA_HOME配置就不会再预警了。

有些人在/etc/profile中配置,有些人在/etc/profile.d/路径下创建自定义文件配置环境变量。这里采用的是在/etc/profile.d/路径下创建自定义文件my_env.sh配置环境变量:

1[root@hadoop100 ~]$ vim /etc/profile.d/my_env.sh 

添加如下红框内容:


http://www.ppmy.cn/ops/9978.html

相关文章

iOS - Runloop在实际开发中的应用

文章目录 iOS - Runloop在实际开发中的应用1. 控制线程生命周期(线程保活)2. 解决NSTimer在滑动时停止工作的问题2.1. 案例2.2 解决 3. 监控应用卡顿4. 性能优化 iOS - Runloop在实际开发中的应用 1. 控制线程生命周期(线程保活)…

开源啦!一键部署免费使用!Kubernetes上直接运行大数据平台!

市场上首个K8s上的大数据平台,开源啦! 智领云自主研发的首个 完全基于Kubernetes的容器化大数据平台 Kubernetes Data Platform (简称KDP) 开源啦🚀🚀 开发者只要准备好命令行工具,一键部署 Hadoop,Hi…

【前端】node.js常用命令

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言一、node是什么二、node.js常用命令三、总结 前言 随着开发语言及人工智能工具的普及,使得越来越多的人能够上手操作执行一些简单命令,…

milvus querynode启动源码分析

querynode启动源码分析 结构体 // QueryNode implements QueryNode grpc server // cmd\components\query_node.go type QueryNode struct {ctx context.Contextsvr *grpcquerynode.Server }// Server is the grpc server of QueryNode. type Server struct {querynode typ…

怎么通过Javascript脚本实现远程控制一路开关

怎么通过Javascript脚本实现远程控制一路开关呢? 本文描述了使用Javascript脚本调用HTTP接口,实现控制一路开关。一路开关可控制一路照明、排风扇等电器。 可选用产品:可根据实际场景需求,选择对应的规格 序号设备名称1智能WiFi…

3D开发工具HOOPS助力CAM软件优化制造流程

在现代制造业中,计算机辅助制造(CAM)软件的发展已成为提高生产效率和产品质量的关键。为了满足不断增长的需求和日益复杂的制造流程,CAM软件需要具备高效的CAD数据导入、云端协作、移动应用支持以及丰富的文档生成能力。 Tech So…

【Ansible】04

【Ansible】03 任务块 block任务块 使用 block 可以将多个任务合并为一个组可以将整个 block任务组 , 一起控制是否要执行 # 如果webservers组中的主机系统发行版是Rocky,则安装并启动nginx [rootpubserver ansible]# vim block1.yml --- - name: block tasksho…

微软刚开源就删库的WizardLM-2:MT-Bench 榜单评测超越GPT-4,7B追平Qwen1.5-32B

前言 微软最近发布的WizardLM-2大型语言模型因其先进的技术规格和短暂的开源后突然撤回,引起了科技界的广泛关注。WizardLM-2包括三个不同规模的模型,分别是8x22B、70B和7B,均展现了在多语言处理、复杂对话、推理和代理任务上的卓越能力。 H…