Elasticsearch基础篇(二):Elasticsearch在windows和liunx上的安装部署

news2025/4/7 5:06:52

Elasticsearch简介

  • 前言
  • 1. Windows环境部署Elasticsearch
    • 1.1 下载并解压Elasticsearch压缩包
    • 1.2 命令行启动elasticsearch
    • 1.3 验证是否成功启动elasticsearch
    • 1.4 关闭Elasticsearch
    • 1.5 在Windows上安装Elasticsearch作为服务
  • 2. Liunx环境部署Elasticsearch
    • 安装 Elasticsearch 7.17.11 并配置
    • 1. 下载es数据库并上传到服务器
    • 2. 创建 Elasticsearch 用户和组
    • 3. 系统配置
      • 3.1 修改文件句柄数和线程数
      • 3.2 修改虚拟内存
      • 3.3 关闭交换空间(Swap)
    • 4. 修改 Elasticsearch 配置
    • 5. 设置目录权限
    • 6. 启动 Elasticsearch 服务
      • startes-single.sh
      • stopes-single.sh
    • 7. 开放防火墙端口
      • CentOS
      • Ubuntu

前言

本文基于官方文档:Installing Elasticsearch
基于官方给出的几种不同环境不同的安装方式,本文将会选择在

  • Install Elasticsearch with .zip on Windows
    使用.zip文件在Windows上安装Elasticsearch

  • Install Elasticsearch from archive on Linux or MacOS
    在Linux或macOS上从存档文件安装Elasticsearch

  • Install Elasticsearch with Docker (此种方式待定)
    使用Docker安装Elasticsearch

在这里插入图片描述

1. Windows环境部署Elasticsearch

  • 本文参考: Install Elasticsearch with .zip on Windows

  • Download Elasticsearch v7.9.3 : Elasticsearch v7.9.3

1.1 下载并解压Elasticsearch压缩包

在这里插入图片描述

Unzip it with your favourite unzip tool. This will create a folder called elasticsearch-7.9.3, which we will refer to as %ES_HOME%. In a terminal window, cd to the %ES_HOME% directory, for instance:

将解压目录作为es的home目录,在 elasticsearch-7.9.3文件夹地址栏输入cmd 进入命令行
在这里插入图片描述

1.2 命令行启动elasticsearch

  • 启动elasticsearch

    Running Elasticsearch from the command line.Elasticsearch can be started from the command line as follows:
    从命令行运行Elasticsearch,可以按以下方式从命令行启动Elasticsearch:

    .\bin\elasticsearch.bat
    
  • 启动页面
    在这里插入图片描述

  • 启动成功页面
    在这里插入图片描述

1.3 验证是否成功启动elasticsearch

Checking that Elasticsearch is running
You can test that your Elasticsearch node is running by sending an HTTP request to port 9200 on localhost:
检查Elasticsearch是否正在运行
可以通过向本地主机的端口9200发送HTTP请求来测试您的Elasticsearch节点是否正在运行:

win+r输入cmd回车后输入下列请求url

curl -X GET "localhost:9200/?pretty"

表示启动成功
在这里插入图片描述
或者在浏览器地址栏输入:localhost:9200
在这里插入图片描述

1.4 关闭Elasticsearch

  • Ctrl+C停止Elasticsearch

    By default, Elasticsearch runs in the foreground, prints its logs to STDOUT, and can be stopped by pressing Ctrl-C.
    默认情况下,Elasticsearch在前台运行,将日志打印到标准输出(STDOUT),可以通过按下Ctrl-C来停止它。

    在这里插入图片描述

  • 验证是否已经关闭(直接关闭上面的命令行窗口也可以停止es)
    在这里插入图片描述

1.5 在Windows上安装Elasticsearch作为服务

Elasticsearch can be installed as a service to run in the background or start automatically at boot time without any user interaction. This can be achieved through the elasticsearch-service.bat script in the bin\ folder which allows one to install, remove, manage or configure the service and potentially start and stop the service, all from the command-line.
Elasticsearch可以安装为服务,在后台运行或在启动时自动启动,而无需任何用户交互。这可以通过bin\文件夹中的elasticsearch-service.bat脚本实现,该脚本允许您从命令行安装、删除、管理或配置服务,并且还可以潜在地启动和停止服务。

e:\elasticsearch-7.9.3\bin>elasticsearch-service.bat

Usage: elasticsearch-service.bat install|remove|start|stop|manager [SERVICE_ID]

在这里插入图片描述

The script requires one parameter (the command to execute) followed by an optional one indicating the service id (useful when installing multiple Elasticsearch services).
该脚本需要一个参数(要执行的命令),后面可以跟一个可选参数来指示服务ID(在安装多个Elasticsearch服务时很有用)

以下是elasticsearch-service.bat脚本可用的命令及其描述:

命令描述
install安装Elasticsearch作为服务
remove移除已安装的Elasticsearch服务(如果已启动则停止服务)
start启动Elasticsearch服务(如果已安装)
stop停止Elasticsearch服务(如果已启动)
manager打开用于管理已安装服务的GUI界面
  • 指定服务名安装
    安装为服务,服务ID(务必唯一):elasticsearch-9200-test
    elasticsearch-service.bat install elasticsearch-9200-test
    
  • 命令行启动或停止服务
    • 启动服务
      elasticsearch-service.bat start elasticsearch-9200-test
      
      在这里插入图片描述
    • 停止服务
      elasticsearch-service.bat stop elasticsearch-9200-test
      
      在这里插入图片描述
  • 服务页面启动或停止服务
    win+r回车输入services.msc进入服务列表,右击选择启动或者停止
    在这里插入图片描述
  • 设置为开机自启
    右击服务名,点击属性,选择启动类型为自动
    在这里插入图片描述

2. Liunx环境部署Elasticsearch

安装 Elasticsearch 7.17.11 并配置

本文介绍如何在 Linux 操作系统上下载、安装 Elasticsearch 7.17.11,并进行必要的配置。在centos或者是unbuntu中配置启动的流程基本一致,开放端口处的脚本不相同。

1. 下载es数据库并上传到服务器

首先,访问 Elasticsearch 下载页面 并下载 Elasticsearch 7.17.11
在这里插入图片描述
点击 “下载” 并将下载的文件上传到服务器指定目录中
在这里插入图片描述

在服务器上,使用以下命令解压 Elasticsearch:

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

在这里插入图片描述

2. 创建 Elasticsearch 用户和组

创建一个名为 “es” 的用户和一个名为 “es” 的群组,然后将用户添加到该群组中:

# 新建群组es
 groupadd es
# 新建用户es并指定群组为es
 useradd -g es es
# 设置用户密码 
 passwd es  
# usermod 将用户添加到某个组group
 usermod -aG root es

3. 系统配置

3.1 修改文件句柄数和线程数

为了防止 Elasticsearch 用户拥有的可创建文件描述符权限过低而导致错误,需要修改文件句柄数和线程数。编辑 /etc/security/limits.conf 文件并添加以下内容:

# 文件句柄
es  soft nofile 65536
es  hard nofile 65536
# 线程
es  soft nproc 4096
es  hard nproc 4096

保存退出后,需要重新启动系统

以上配置是为了解决:

报错问题:max file descriptors [4096] for elasticsearch process is too low, increase to at least [65535]
问题描述:elasticsearch用户拥有的可创建文件描述的权限太低,至少需要65536;

3.2 修改虚拟内存

编辑 /etc/sysctl.conf 文件并添加以下内容:

vm.max_map_count=262144

保存退出后,刷新配置文件:

sysctl -p

验证是否修改成功:

sysctl vm.max_map_count

以上配置是为了解决:
报错问题:max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]

3.3 关闭交换空间(Swap)

官方建议:把内存的一半给Lucene+不要超过32G+关闭swap
ES建议要关闭 swap 内存交换空间,禁用swapping。因为当内存交换到磁盘上,一个100微秒的操作可能变成 10毫秒,然后100 微秒的操作时延累加起来,可以看出 swapping 对于性能的影响是致命的

vim /etc/fstab

注释含有swap一行
在这里插入图片描述
注释前:
在这里插入图片描述

保存退出后需要系统重启!

注释后:
在这里插入图片描述

4. 修改 Elasticsearch 配置

编辑 Elasticsearch 配置文件 conf/elasticsearch.yml 并根据你的需求进行配置,以下是一些示例配置项:

# 禁用了 es 的机器学习功能(Machine Learning)减少资源消耗
xpack.ml.enabled: false
# 设置 Elasticsearch 集群的名称
cluster.name: es-single
# 设置当前 Elasticsearch 节点的名称
node.name: node
# 数据目录
path.data: /home/es/path/node/data
# 日志目录
path.logs: /home/es/path/node/logs
# 当前主机的 IP
network.host: 192.168.0.10
# 暴露的 HTTP 端口
http.port: 11700
# 暴露的 Transport 端口
transport.port: 11710
# 设置节点发现的种子主机列表
discovery.seed_hosts: ["192.168.0.10:11710"]
# 设置初始的主节点列表,新节点将联系这些主节点以加入集群
cluster.initial_master_nodes: ["node"]

5. 设置目录权限

设置 Elasticsearch 数据目录所属的用户和组:

chown -R es:es /mnt/data/elasticsearch-7.17.11

6. 启动 Elasticsearch 服务

注意当前目录是在 ../elasticsearch-7.17.11

创建启动和停止 Elasticsearch 服务的脚本:

startes-single.sh

#!/bin/bash
cd "$(dirname "$0")"
# -d:后台(daemon)方式运行 Elasticsearch
./bin/elasticsearch -d -p pid

stopes-single.sh

#!/bin/bash
cd "$(dirname "$0")"
if [ -f "pid" ]; then
  pkill -F pid
fi

给这两个脚本赋予执行权限:

chmod 755 startes-single.sh stopes-single.sh
chown es:es startes-single.sh stopes-single.sh

然后,以 Elasticsearch 用户身份启动 Elasticsearch 服务:

su - es
cd /mnt/data/elasticsearch-7.17.11
./startes-single.sh

7. 开放防火墙端口

CentOS

# 查看防火墙状态
systemctl status firewalld
# 查看开放的端口
firewall-cmd --query-port=9200/tcp
# 添加端口
firewall-cmd --zone=public --add-port=9200/tcp --permanent
# 重载防火墙
firewall-cmd --reload
# 再次查看端口是否已经开放
firewall-cmd --query-port=9200/tcp

Ubuntu

# 查看防火墙状态
sudo ufw status
# 开放端口 9200
sudo ufw allow 9200/tcp
# 查看已添加的规则
sudo ufw status numbered
# 查看防火墙状态
sudo ufw status

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

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

相关文章

Python 爬虫 / web 面试常见问题

嗨喽,大家好呀~这里是爱看美女的茜茜呐 👇 👇 👇 更多精彩机密、教程,尽在下方,赶紧点击了解吧~ python源码、视频教程、插件安装教程、资料我都准备好了,直接在文末名片自取就可 爬虫面试常见…

Excel技巧之【锁定工作簿】

Excel工作簿是Excel工作区中一个或多个工作表的集合,我们知道Excel可以设置锁定工作表,防止意外或被他人修改,但可能有小伙伴不知道,Excel工作簿也同样可以设置锁定,防止更改。 那工作簿锁定后会怎么样呢?…

Mysql——三、SQL语句(上篇)

Mysql 一、SQL语句基础1、SQL简介2、SQL语句分类3、SQL语句的书写规范 二、数据库操作三、MySQL 字符集1、变量2、utf8和utf8mb4的区别 四、数据库对象五、SELECT语句1、简单的SELECT语句2、SQL函数2.1 聚合函数2.2 数值型函数2.3 字符串函数2.4 日期和时间函数2.5 流程控制函数…

Spring结合自定义注解实现 AOP 切面功能

Spring结合自定义注解实现 AOP 切面功能 Spring AOP 注解概述Aspect 快速入门execution 切点表达式 拦截指定类的方法Pointcut("annotation(xx)") 拦截拥有指定注解的方法环绕通知 实现开关目标方法案例1:自定义注解切面实现统一日志处理1.自定义日志注解…

Python3中类的高级语法及实战

Python3中类的高级语法及实战 Python3(基础|高级)语法实战(|多线程|多进程|线程池|进程池技术)|多线程安全问题解决方案 一: 类定义语法 通过下面的实例,你将会了解到如下的内容体系: (1)类静态属性 (2)类动态属性 (3)类初始化过程: __init__(self)被执行&am…

java对象半初始化问题是怎么回事

文章目录 一、前言1. 什么是Java对象半初始化2. 对象半初始化问题引发的影响 二、对象半初始化问题详解1. Java对象创建过程 2. 对象半初始化问题产生的原因三、实例分析:对象半初始化问题的表现1. 单线程环境下的半初始化2. 多线程环境下的半初始化 四、解决方案及…

Java 基于 SpringBoot 的校园疫情防控系统

博主介绍:✌程序员徐师兄、7年大厂程序员经历。全网粉丝30W、csdn博客专家、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ 文章目录 1 简介2.主要技术3 需求分析4系统设计4.1功能结构4.2 数据库设计4.2.1 数据库E/R图4.2.2 数据库表…

预编译(1)

目录 预定义符号: 使用: 结果: 预编译前后对比: #define定义常量: 基本语法: 举例1: 结果: 预编译前后对比: 举例2: 预编译前后对比: 注…

嵌入式软硬件

在这里插入图片描述

APP渗透测试

APP反抓包突破 抓包失败分析 工具证书未配置 app不使用HTTP/S协议 反模拟器 1.使用真机进行抓包 2.用模拟器模拟真机 3.逆向删除反模拟器代码打包重新测试 反证书 SSL证书绑定分为单向校验和双向校验,单向校验就是客户端校验服务端的证书,双向…

回调函数的用途

一、函数指针 在讲回调函数之前,我们需要了解函数指针。 我们都知道,C语言的灵魂是指针,我们经常使用整型指针,字符串指针,结构体指针等 int *p1; char *p2; STRUCT *p3; //STRUCT为我们定义的结构体但是好像我们一…

【CTFHUB】SSRF绕过方法之靶场实践(二)

SSRF POST请求 提示信息: 这次是发一个HTTP POST请求.对了.ssrf是用php的curl实现的.并且会跟踪302跳转.加油吧骚年 首先测试了http的服务请求,出现对话框 输入数值后提示:只能接受来自127.0.0.1的请求 右键查看源码发现key值 通过file协…

k8s+kubeedge+sedna安装的全套流程

一,环境准备 把两台虚拟机的ip地址设置成静态的IP地址,否则ip地址会变 虚拟机配置静态IP(NAT模式)_nat子网的准入_阿祖,收手吧的博客-CSDN博客​​​​​​ 节点IP软件 云节点192.168.133.139kubernetescloudcore边…

与初至波相关的常见误解

摘要: 初至波是指检波器首次接收到的波. 对它的误解会使我们失去重要的信息. 1. 波从震源到检波器的传导过程 从震源产生波以后, 有些波通过地面直接传导到检波器, 这些称为直达波 (面波);有些在地层中传播,遇到两种地层的分界面时 产生波的反射,在原来地层中形成一种新波, …

【算法——双指针】LeetCode 15 三数之和

题目描述: 解题思路:双指针 首先,按升序对数组进行排序。然后,我们可以用如下步骤求解: 初始化一个空的结果集result,用于存储找到的和为0的三元组。 遍历整个数组,直到倒数第三个元素&#xff…

基于APP数据爬取的运行环境

前提 数据爬取本就是“道高一尺,魔高一丈”;越往后,爬取越接近于真实,真实包含了真实的运行环境(不再是简单地伪造请求、User-Agent和Cookie等)和真实的操作流程。本文对APP的运行环境做了简单梳理以供参考…

python爬虫基于管道持久化存储操作

文章目录 基于管道持久化存储操作scrapy的使用步骤1.先转到想创建工程的目录下:cd ...2.创建一个工程3.创建之后要转到工程目录下4.在spiders子目录中创建一个爬虫文件5.执行工程setting文件中的参数 基于管道持久化存储的步骤:持久化存储1:保…

【Linux学习】05-1Linux上安装部署各类软件

Linux(B站黑马)学习笔记 01Linux初识与安装 02Linux基础命令 03Linux用户和权限 04Linux实用操作 05-1Linux上安装部署各类软件 文章目录 Linux(B站黑马)学习笔记前言05-1Linux上安装部署各类软件JDK安装部署Tomcat安装部署maven…

Matlab绘图函数subplot、tiledlayout、plot和scatter

一、绘图函数subplot subplot(m,n,p)将当前图窗划分为 mn 网格,并在 p 指定的位置创建坐标区。MATLAB按行号对子图位置进行编号。第一个子图是第一行的第一列,第二个子图是第一行的第二列,依此类推。如果指定的位置已存在坐标区,…

ahk系列——ahk_v2实现win10任意界面ocr

前言: 不依赖外部api接口,界面简洁,翻译快速,操作简单, 有网络就能用 、还可以把ocr结果非中文翻译成中文、同样可以识别中英日韩等60多个国家语言并翻译成中文,十分的nice 1、所需环境 windows10及其以上…