首页 > 其他分享 >Elasticsearch 本地单机生产配置

Elasticsearch 本地单机生产配置

时间:2024-03-06 14:22:06浏览次数:23  
标签:跨域 单机 vi 配置 elasticsearch 本地 Elasticsearch root es

本地安装

创建启动用户

elasticsearch不能由root用户启动
安全性:以root用户身份启动Elasticsearch会增加系统受到攻击的风险。Elasticsearch的进程可能会受到来自外部的恶意攻击,如果以root用户身份启动,攻击者可能会获取到root权限,从而对系统造成严重的损害。
最小权限原则:根据最小权限原则,任何程序都应该以最低权限来运行。以root用户身份启动Elasticsearch意味着它拥有了系统上的最高权限,这可能导致意外的权限问题和系统不稳定。

# 创建es
adduser es

# 设置密码
passwd es

# 切换到es用户
su es

下载

curl -L -O https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.10.2-linux-x86_64.tar.gz

解压安装

tar -zxf elasticsearch-7.10.2-linux-x86_64.tar.gz

基础配置

进入elasticsearch-root/config目录,进行基础配置,包括集群名、节点名、文件存储目录等。

cd /elasticsearch-root/config
vi elasticsearch.yml

# 集群名字
cluster.name: es-cluster

# 单节点
discovery.type: single-node

# 节点名字
node.name: node-1

bootstrap.memory_lock: true

# 数据文件存储目录,可以设置多个地址,逗号分隔
# 默认为/elasticsearch-root/data,可不配置
#path.data: /path/to/data

# 日志文件存储目录
# 默认为/elasticsearch-root/logs,可不配置
#path.logs: /path/to/logs

网络配置

根据实际网络环境,进行网络配置。假设现在只有一个网络接口A,IP地址为176.22.6.101,http通信端口9200,transport通信端口9300。

编辑elasticsearch.yml,新增以下配置

# 用于指定节点监听的网络接口地址。这个配置项定义了节点用于通信的网络接口地址,
# 包括HTTP REST接口、内部节点之间的通信接口、跨集群通信接口等。
# 0.0.0.0表示监听本机上所有的网络接口,可以指定为ip地址、主机名等
network.host: 0.0.0.0

# 集群与外部客户端通信端口,使用http协议
http.port: 9200

# 集群内部通信端口,使用es特定的传输协议。
# 这种内部通信是集群中各个节点之间进行数据传输、协调和协作的基础,比如复制数据、协调分片分配等
transport.port: 9300

跨域配置

如果需要跨域访问,编辑elasticsearch.yml,新增以下配置

# 允许跨域访问
http.cors.enabled: true

# 指定允许跨域请求的来源。当浏览器发起跨域请求时,会在请求头中包含Origin字段,指示请求的来源地址
# 在使用一些浏览器插件连接es时需要设置以允许访问,若没有需求则不配置
http.cors.allow-origin: "*"

# 指定允许跨域请求的自定义请求头,从而允许跨域请求中包含指定的自定义请求头
http.cors.allow-headers: "Authorization"

JVM配置

JVM有两种配置方式,一是修改config目录下面的jvm.options文件;而是在config/jvm.options.d目录下新建配置文件。这里使用第二种,只修改Xms、Xmx这两个堆内存配置。

cd elasticsearch-root/config/jvm.options.d
vi jvm.options

#​ 设置启动堆内存和最大堆内存,推荐将两个堆内存设置相同、各节点尽量一致,大小为可用物理内存的一半,但是最大不超过30GB。
# 超过30GB的堆内存可能会导致垃圾回收的停顿时间过长,因为垃圾回收需要处理更大的内存空间。
# 这可能会对es的性能和稳定性和产生负面影响。
-Xms4g
-Xmx4g

系统配置

切换到root账号,给es用户单独修改系统资源配置,elasticsearch启动时会检查系统配置,如果不符合要求无法启动。

文件打开数量限制

vi /etc/security/limits.conf

# 新增如下配置
es - nofile 65536

创建线程数限制

vi /etc/security/limits.conf

# 新增如下配置
es - nproc 4096

启用内存锁定

vi elasticsearch.yml

# 新增如下配置
bootstrap.memory_lock: true

vi /etc/security/limits.conf

# 新增如下配置
es - memlock unlimited

虚拟内存区域限制

vi /etc/sysctl.conf

# 新增如下配置
vm.max_map_count=262144

刷新配置

sysctl -p

查看虚拟内存区域数量限制

sysctl vm.max_map_count

启动实例

通过es用户启动elasticsearch

cd elasticsearch-root/bin && ./elasticsearch -d

访问实例

http://127.0.0.1:9200/

image

标签:跨域,单机,vi,配置,elasticsearch,本地,Elasticsearch,root,es
From: https://www.cnblogs.com/cd-along/p/18022185

相关文章

  • php把微信图片链接保存到本地
    <?php$headimg="http://thirdwx.qlogo.cn/mmopen/vi_32/CW96JibTBRccMbXlDhTm6bGbO7eXAwIqCP0UiaQukLnfyFaVs9PVM9gLS8libx2GuH2kz6bNfp2GZQccYKKFr5BCA/132";/*PHP远程下载微信头像存到本地,本地图片转base64*$url微信头像链接*$path要保存图片的目录*$userid......
  • SpringBoot整合Caffeine本地缓存
    一、Caffeine性能二、Caffeine配置注意:1、weakValues和softValues不可以同时使用。2、maximumSize和maximumWeight不可以同时使用。3、expireAfterWrite和expireAfterAccess同事存在时,以expireAfterWrite为准。三、软引用和弱引用软引用:如果一个对象只具有......
  • AI时代:本地运行大模型vllm
    https://docs.vllm.ai/en/latest/index.html高吞吐量、高内存效率的LLMs推理和服务引擎(快速搭建本地大模型,且openAIAPI兼容)vLLMisafastandeasy-to-uselibraryforLLMinferenceandserving.vLLMisfastwith:State-of-the-artservingthroughputEfficientman......
  • elasticsearch知识点总结
    主要记录疑惑点和容易混淆的地方type和fields区别type是废弃功能,为了简化数据模型和提高性能,不再使用,底层的lucene无此概念。详见https://www.ddkk.com/zhuanlan/search/elasticsearch/1/12.htmlfiels跟type不是一个维度的东西,fiels是字段(term)的属性,主要用来定义一个字段不同......
  • 单机取证
    任务编号在取证镜像中的文件名镜像中原文件Hash码(MD5,不区分大小写)evidence1sys.dlld3c5335367e17b966a13e2663235a1ffevidence2没找到evidence3hack.png1308b0d65360eba6a47224733f13ca84evidence4sea.png1c990420fc307c7bd2b65396c5e5e13fev......
  • PHP远程下载微信头像存到本地
    <?php$headimg="http://thirdwx.qlogo.cn/mmopen/vi_32/CW96JibTBRccMbXlDhTm6bGbO7eXAwIqCP0UiaQukLnfyFaVs9PVM9gLS8libx2GuH2kz6bNfp2GZQccYKKFr5BCA/132";/*PHP远程下载微信头像存到本地,本地图片转base64*$url微信头像链接*$path要保存图片的目录*$userid用户唯......
  • CentOS 7单机部署 Redis 主从复制
    下面是一个完整的、步骤明确的指南,包括如何在CentOS7上以非root用户(在本例中为appworker,属于appworkergroup组)安装和配置Redis主从复制,设置目录权限,以及进行基本的连接测试和维护操作。1.环境准备创建用户和组sudogroupaddappworkergroup#创建一个名为appw......
  • Js下载返回是二进制保存到本地文件
    //创建一个新的XMLHttpRequest对象varxhr=newXMLHttpRequest();//监听XMLHttpRequest对象的加载完成事件xhr.addEventListener('load',function(){//如果请求成功完成if(xhr.status===200){//获取到二进制文件内容varblob=......
  • 在Docker中,本地的镜像文件都存放在哪里?
    在Docker中,镜像(Images)保存在本地文件系统中,具体的保存位置取决于您使用的操作系统。以下是一些常见操作系统的Docker镜像保存位置:Linux:默认情况下,Docker镜像保存在/var/lib/docker/目录下。当您使用dockerpull命令从DockerHub或私有镜像仓库中拉取镜像时,Docker会自动将镜......
  • Linux下挂在samba 文件夹到本地
    在Linux中,可以使用mount命令来打开SMB(ServerMessageBlock)共享。sudomount-tcifs//服务器IP地址/共享目录路径/本地挂载点-ousername=用户名,password=密码其中,需要将"//服务器IP地址/共享目录路径"替换为实际的SMB共享路径;"/本地挂载点"替换为希望在本地创建的文件夹作......