当前位置: 首页 > news >正文

ElasticSearch之网络配置

对官方文档Networking的阅读笔记。
ES集群中的节点,支持处理两类通信平面

  • 集群内节点之间的通信,官方文档称之为transport layer。
  • 集群外的通信,处理客户端下发的请求,比如数据的CRUD,检索等,官方文档称之为HTTP layer。

对于这两个平面公共的配置,配置参数可以使用network.*
针对transport layer的配置参数,可以使用transport.*
针对HTTP layer的配置参数,可以使用http.*

参数networkhttptransportremote_cluster说明
hostnetwork.hosthttp.hosttransport.hostremote_cluster.host业务的监听地址。
bind_hostnetwork.bind_hosthttp.bind_hosttransport.bind_hostremote_cluster.bind_host默认值与host相同。
publish_hostnetwork.publish_hosthttp.publish_hosttransport.publish_hostremote_cluster.publish_host默认值与host相同。
publish_portN/Ahttp.publish_porttransport.publish_portremote_cluster.publish_port
portN/Ahttp.porttransport.portremote_cluster.port业务的监听端口。
tcp.keep_alivenetwork.tcp.keep_alivehttp.tcp.keep_alivetransport.tcp.keep_aliveremote_cluster.tcp.keep_aliveTCP socket的SO_KEEPALIVE参数,默认值为true。
tcp.keep_idlenetwork.tcp.keep_idlehttp.tcp.keep_idletransport.tcp.keep_idleremote_cluster.tcp.keep_idleTCP socket的TCP_KEEPIDLE参数,默认值为-1。
tcp.keep_intervalnetwork.tcp.keep_intervalhttp.tcp.keep_intervaltransport.tcp.keep_intervalremote_cluster.tcp.keep_intervalTCP socket的TCP_KEEPINTVL参数,默认值为-1。
tcp.keep_countnetwork.tcp.keep_counthttp.tcp.keep_counttransport.tcp.keep_countremote_cluster.tcp.keep_countTCP socket的TCP_KEEPCNT参数,默认值为-1。
tcp.no_delaynetwork.tcp.no_delayhttp.tcp.no_delaytransport.tcp.no_delayremote_cluster.tcp.no_delayTCP socket的TCP_NODELAY参数,默认值为true。详细说明见wiki。
tcp.reuse_addressnetwork.tcp.reuse_addresshttp.tcp.reuse_addresstransport.tcp.reuse_addressremote_cluster.tcp.reuse_addressTCP socket的SO_REUSEADDR参数,Windows平台的默认值为false,其它平台的默认值为true。
tcp.send_buffer_sizenetwork.tcp.send_buffer_sizehttp.tcp.send_buffer_sizetransport.tcp.send_buffer_sizeremote_cluster.tcp.send_buffer_sizeTCP的发送缓冲区的大小,默认值为-1,表示使用系统的默认值。
tcp.receive_buffer_sizenetwork.tcp.receive_buffer_sizehttp.tcp.receive_buffer_sizetransport.tcp.receive_buffer_sizeremote_cluster.tcp.receive_buffer_sizeTCP的接收缓冲区的大小,默认值为-1,表示使用系统的默认值。
compressionN/Ahttp.compressiontransport.compressionN/A压缩。

transport独有的参数:

  • transport.connect_timeout
  • transport.compress
  • transport.compression_scheme
    压缩算法,可选值包括deflate或者lz4,默认值为lz4。
  • transport.ping_schedule
    指示发送业务心跳的周期,默认值为-1,表示不发送业务心跳。

http独有的参数:

  • http.max_content_length
    HTTP请求消息体的长度的最大值,默认值为100MB。

  • http.max_initial_line_length
    HTTP请求中,URL的长度的最大值,默认值为4KB。

  • http.max_header_size
    HTTP请求中,HTTP头部的总长度的最大值,默认值为16KB。

  • http.compression
    使用HTTPS时,默认取值为false,其它情况下取值为true。

  • http.compression_level
    压缩级别,取值范围为[1, 9],默认值为3。

  • http.detailed_errors.enabled
    指定是否允许在HTTP响应消息中暴露详细的错误提示信息,默认值为true。

  • http.pipelining.max_events
    HTTP请求消息队列的长度,默认值为10000。

  • http.max_warning_header_count
    HTTP响应消息中允许包含的提示信息头部的数量,默认值为-1,即不限制。

  • http.max_warning_header_size
    HTTP响应消息中允许包含的提示信息头部的长度,默认值为-1,即不限制。

  • http.client_stats.enabled
    指示是否记录HTTP通信过程中的统计数据,默认值为true。

  • http.client_stats.closed_channels.max_count
    默认值为10000。

  • http.client_stats.closed_channels.max_age
    关闭HTTP通道之后,上传统计数据的时延值,默认值为5m。

http协议CORS特性相关的参数:

  • http.cors.enabled
    是否启用对CORS的支持。
  • http.cors.allow-origin
  • http.cors.max-age
    指示缓存HTTP方法OPTIONS的返回值的时长,即超时时间,默认值为1728000,即20天。
  • http.cors.allow-methods
    HTTP请求中允许使用的方法,默认值包括:
    • OPTIONS
    • HEAD
    • GET
    • POST
    • PUT
    • DELETE
  • http.cors.allow-headers
    允许在HTTP请求消息中使用的头部,默认值包括:
    • X-Requested-With
    • Content-Type
    • Content-Length
    • Authorization
    • Accept
    • User-Agent
    • X-Elastic-Client-Meta
  • http.cors.expose-headers
    指定在HTTP响应消息中返回的头部,默认值为X-elastic-product
  • http.cors.allow-credentials
    决定头部Access-Control-Allow-Credentials是否返回,默认值为false。

remote_cluster_server独有的参数:

  • remote_cluster_server.enabled
    指示是否启用远端集群,默认值为false。

网络通信的线程模型,这部分内容在处理通信相关的故障时非常意义,后续有空时详细阅读。
导出ES进程的栈时,使用关键字transport_worker来检索,可以看到相关的线程的栈。

参考资料

  • Nodes hot threads API

相关文章:

ElasticSearch之网络配置

对官方文档Networking的阅读笔记。 ES集群中的节点,支持处理两类通信平面 集群内节点之间的通信,官方文档称之为transport layer。集群外的通信,处理客户端下发的请求,比如数据的CRUD,检索等,官方文档称之…...

【C语言进阶】系统测试与调试

1. 引言 在开始本教程的深度学习之前,我们需要了解整个教程的目标及其结构,以及为何进阶学习是提升C语言技能的关键。 目标和结构: 教程目标:本教程旨在通过系统化的学习,从单元测试、系统集成测试到调试技巧&#xf…...

多个单链表的合成

建立两个非递减有序单链表,然后合并成一个非递增有序的单链表。 注意:建立非递减有序的单链表,需要采用创建单链表的算法 输入格式: 1 9 5 7 3 0 2 8 4 6 0 输出格式: 9 8 7 6 5 4 3 2 1 输入样例: 在这里给出一组输入。例如&#xf…...

『建议收藏』ChatGPT Canvas功能进阶使用指南!

大家好,我是木易,一个持续关注AI领域的互联网技术产品经理,国内Top2本科,美国Top10 CS研究生,MBA。我坚信AI是普通人变强的“外挂”,专注于分享AI全维度知识,包括但不限于AI科普,AI工…...

Ollama 运行视觉语言模型LLaVA

Ollama的LLaVA(大型语言和视觉助手)模型集已更新至 1.6 版,支持: 更高的图像分辨率:支持高达 4 倍的像素,使模型能够掌握更多细节。改进的文本识别和推理能力:在附加文档、图表和图表数据集上进…...

gdb 调试 linux 应用程序的技巧介绍

使用 gdb 来调试 Linux 应用程序时,可以显著提高开发和调试的效率。gdb(GNU 调试器)是一款功能强大的调试工具,适用于调试各类 C、C 程序。它允许我们在运行程序时检查其状态,设置断点,跟踪变量值的变化&am…...

Java项目实战II基于Java+Spring Boot+MySQL的房产销售系统(源码+数据库+文档)

目录 一、前言 二、技术介绍 三、系统实现 四、文档参考 五、核心代码 六、源码获取 全栈码农以及毕业设计实战开发,CSDN平台Java领域新星创作者 一、前言 随着房地产市场的蓬勃发展,房产销售业务日益复杂,传统的手工管理方式已难以满…...

aws(学习笔记第一课) AWS CLI,创建ec2 server以及drawio进行aws画图

aws(学习笔记第一课) 使用AWS CLI 学习内容: 使用AWS CLI配置密钥对创建ec2 server使用drawio(vscode插件)进行AWS的画图 1. 使用AWS CLI 注册AWS账号 AWS是通用的云计算平台,可以提供ec2,vpc,SNS以及clo…...

【Python】Eventlet 异步网络库简介

Eventlet 是一个 Python 的异步网络库,它使用协程(green threads)来简化并发编程。通过非阻塞的 I/O 操作,Eventlet 使得你可以轻松编写高性能的网络应用程序,而无需处理复杂的回调逻辑或编写多线程代码。它广泛应用于…...

【JNI】数组的基本使用

在上一期讲了基本类型的基本使用,这期来说一说数组的基本使用 HelloJNI.java:实现myArray函数,把一个整型数组转换为双精度型数组 public class HelloJNI { static {System.loadLibrary("hello"); }private native String HelloW…...

React跨平台

React的跨平台应用开发详解如下: 一、跨平台能力 React本身是一个用于构建用户界面的JavaScript库,但它通过React Native等框架实现了跨平台应用开发的能力。React Native允许开发者使用JavaScript和React来编写原生应用,这些应用可以在iOS和…...

如何在 SQL 中更新表中的记录?

当你需要修改数据库中已存在的数据时,UPDATE 语句是你的首选工具。 这允许你更改表中一条或多条记录的特定字段值。 下面我将详细介绍如何使用 UPDATE 语句,并提供一些开发建议和注意事项。 基础用法 假设我们有一个名为 employees 的表,…...

宠物饮水机的水箱低液位提醒如何实现?

ICMAN液位检测芯片轻松实现宠物饮水机的水箱低液位提醒功能! 工作原理 : 基于双通道电容式单点液位检测原理 方案特点: 液位检测精度高达1mm,超强抗干扰,动态CS 10V 为家用电器水位提醒的应用提供了一种简单而又有…...

EXCEL_光标百分比

Public Sub InitCells()Dim iSheet As LongFor iSheet Sheets.Count To 1 Step -1Sheets(iSheet).ActivateActiveWindow.Zoom 85ActiveWindow.ScrollRow 1ActiveWindow.ScrollColumn 1Sheets(iSheet).Range("A1").ActivateNext iSheetEnd Sub对日项目中的文档满天…...

(一)Web 网站服务之 Apache

一、Apache 的作用和特点 作用:Apache 是一款开源的网站服务器端软件,为网站的运行提供了稳定的基础。特点: 开源免费:这使得任何人都可以免费使用和修改它。模块化设计:具有高度的灵活性,可以根据需求选择…...

英语词汇小程序小程序|英语词汇小程序系统|基于java的四六级词汇小程序设计与实现(源码+数据库+文档)

英语词汇小程序 目录 基于java的四六级词汇小程序设计与实现 一、前言 二、系统功能设计 三、系统实现 四、数据库设计 1、实体ER图 五、核心代码 六、论文参考 七、最新计算机毕设选题推荐 八、源码获取: 博主介绍:✌️大厂码农|毕设布道师&a…...

AI学习指南深度学习篇-学习率衰减的实现机制

AI学习指南深度学习篇-学习率衰减的实现机制 前言 在深度学习中,学习率是影响模型训练的重要超参数之一。合理的学习率设置不仅可以加速模型收敛,还可以避免训练过程中出现各种问题,如过拟合或训练不收敛。学习率衰减是一种动态调整学习率的…...

My_qsort() -自己写的 qsort 函数

2024 - 10 - 05 - 笔记 - 21 作者(Author):郑龙浩 / 仟濹(网名) My_qsort()- 自己写的qsort函数 My_qsort为自己写的qsort函数,但是采用的不是快速排序,而是冒泡排序,是为了模仿qsort函数而尝试写出来的函数。 思路&#xff1a…...

《向量数据库指南》——Mlivus Cloud打造生产级AI应用利器

哈哈,各位向量数据库和AI应用领域的朋友们,大家好!我是大禹智库的向量数据库高级研究员王帅旭,也是《向量数据库指南》的作者。今天,我要和大家聊聊如何使用Mlivus Cloud来搭建生产级AI应用。这可是个热门话题哦,相信大家都非常感兴趣! 《向量数据库指南》 使用Mlivus …...

Electron 进程通信

预加载(preload)脚本只能访问部分 Node.js API,但是主进程可以访问全部API。此时,需要使用进程通信。 比如,在preload.js中,不能访问__dirname,不能使用 Node 中的 fs 模块,但主进程…...

MongoDB学习和应用(高效的非关系型数据库)

一丶 MongoDB简介 对于社交类软件的功能,我们需要对它的功能特点进行分析: 数据量会随着用户数增大而增大读多写少价值较低非好友看不到其动态信息地理位置的查询… 针对以上特点进行分析各大存储工具: mysql:关系型数据库&am…...

【Linux】C语言执行shell指令

在C语言中执行Shell指令 在C语言中&#xff0c;有几种方法可以执行Shell指令&#xff1a; 1. 使用system()函数 这是最简单的方法&#xff0c;包含在stdlib.h头文件中&#xff1a; #include <stdlib.h>int main() {system("ls -l"); // 执行ls -l命令retu…...

django filter 统计数量 按属性去重

在Django中&#xff0c;如果你想要根据某个属性对查询集进行去重并统计数量&#xff0c;你可以使用values()方法配合annotate()方法来实现。这里有两种常见的方法来完成这个需求&#xff1a; 方法1&#xff1a;使用annotate()和Count 假设你有一个模型Item&#xff0c;并且你想…...

解决本地部署 SmolVLM2 大语言模型运行 flash-attn 报错

出现的问题 安装 flash-attn 会一直卡在 build 那一步或者运行报错 解决办法 是因为你安装的 flash-attn 版本没有对应上&#xff0c;所以报错&#xff0c;到 https://github.com/Dao-AILab/flash-attention/releases 下载对应版本&#xff0c;cu、torch、cp 的版本一定要对…...

UR 协作机器人「三剑客」:精密轻量担当(UR7e)、全能协作主力(UR12e)、重型任务专家(UR15)

UR协作机器人正以其卓越性能在现代制造业自动化中扮演重要角色。UR7e、UR12e和UR15通过创新技术和精准设计满足了不同行业的多样化需求。其中&#xff0c;UR15以其速度、精度及人工智能准备能力成为自动化领域的重要突破。UR7e和UR12e则在负载规格和市场定位上不断优化&#xf…...

Android第十三次面试总结(四大 组件基础)

Activity生命周期和四大启动模式详解 一、Activity 生命周期 Activity 的生命周期由一系列回调方法组成&#xff0c;用于管理其创建、可见性、焦点和销毁过程。以下是核心方法及其调用时机&#xff1a; ​onCreate()​​ ​调用时机​&#xff1a;Activity 首次创建时调用。​…...

【JVM面试篇】高频八股汇总——类加载和类加载器

目录 1. 讲一下类加载过程&#xff1f; 2. Java创建对象的过程&#xff1f; 3. 对象的生命周期&#xff1f; 4. 类加载器有哪些&#xff1f; 5. 双亲委派模型的作用&#xff08;好处&#xff09;&#xff1f; 6. 讲一下类的加载和双亲委派原则&#xff1f; 7. 双亲委派模…...

MySQL:分区的基本使用

目录 一、什么是分区二、有什么作用三、分类四、创建分区五、删除分区 一、什么是分区 MySQL 分区&#xff08;Partitioning&#xff09;是一种将单张表的数据逻辑上拆分成多个物理部分的技术。这些物理部分&#xff08;分区&#xff09;可以独立存储、管理和优化&#xff0c;…...

给网站添加live2d看板娘

给网站添加live2d看板娘 参考文献&#xff1a; stevenjoezhang/live2d-widget: 把萌萌哒的看板娘抱回家 (ノ≧∇≦)ノ | Live2D widget for web platformEikanya/Live2d-model: Live2d model collectionzenghongtu/live2d-model-assets 前言 网站环境如下&#xff0c;文章也主…...

华为OD机试-最短木板长度-二分法(A卷,100分)

此题是一个最大化最小值的典型例题&#xff0c; 因为搜索范围是有界的&#xff0c;上界最大木板长度补充的全部木料长度&#xff0c;下界最小木板长度&#xff1b; 即left0,right10^6; 我们可以设置一个候选值x(mid)&#xff0c;将木板的长度全部都补充到x&#xff0c;如果成功…...