ElasticSearch之网络配置
对官方文档Networking的阅读笔记。
ES集群中的节点,支持处理两类通信平面
- 集群内节点之间的通信,官方文档称之为transport layer。
- 集群外的通信,处理客户端下发的请求,比如数据的CRUD,检索等,官方文档称之为HTTP layer。
对于这两个平面公共的配置,配置参数可以使用network.*。
针对transport layer的配置参数,可以使用transport.*。
针对HTTP layer的配置参数,可以使用http.*。
| 参数 | network | http | transport | remote_cluster | 说明 |
|---|---|---|---|---|---|
| host | network.host | http.host | transport.host | remote_cluster.host | 业务的监听地址。 |
| bind_host | network.bind_host | http.bind_host | transport.bind_host | remote_cluster.bind_host | 默认值与host相同。 |
| publish_host | network.publish_host | http.publish_host | transport.publish_host | remote_cluster.publish_host | 默认值与host相同。 |
| publish_port | N/A | http.publish_port | transport.publish_port | remote_cluster.publish_port | |
| port | N/A | http.port | transport.port | remote_cluster.port | 业务的监听端口。 |
| tcp.keep_alive | network.tcp.keep_alive | http.tcp.keep_alive | transport.tcp.keep_alive | remote_cluster.tcp.keep_alive | TCP socket的SO_KEEPALIVE参数,默认值为true。 |
| tcp.keep_idle | network.tcp.keep_idle | http.tcp.keep_idle | transport.tcp.keep_idle | remote_cluster.tcp.keep_idle | TCP socket的TCP_KEEPIDLE参数,默认值为-1。 |
| tcp.keep_interval | network.tcp.keep_interval | http.tcp.keep_interval | transport.tcp.keep_interval | remote_cluster.tcp.keep_interval | TCP socket的TCP_KEEPINTVL参数,默认值为-1。 |
| tcp.keep_count | network.tcp.keep_count | http.tcp.keep_count | transport.tcp.keep_count | remote_cluster.tcp.keep_count | TCP socket的TCP_KEEPCNT参数,默认值为-1。 |
| tcp.no_delay | network.tcp.no_delay | http.tcp.no_delay | transport.tcp.no_delay | remote_cluster.tcp.no_delay | TCP socket的TCP_NODELAY参数,默认值为true。详细说明见wiki。 |
| tcp.reuse_address | network.tcp.reuse_address | http.tcp.reuse_address | transport.tcp.reuse_address | remote_cluster.tcp.reuse_address | TCP socket的SO_REUSEADDR参数,Windows平台的默认值为false,其它平台的默认值为true。 |
| tcp.send_buffer_size | network.tcp.send_buffer_size | http.tcp.send_buffer_size | transport.tcp.send_buffer_size | remote_cluster.tcp.send_buffer_size | TCP的发送缓冲区的大小,默认值为-1,表示使用系统的默认值。 |
| tcp.receive_buffer_size | network.tcp.receive_buffer_size | http.tcp.receive_buffer_size | transport.tcp.receive_buffer_size | remote_cluster.tcp.receive_buffer_size | TCP的接收缓冲区的大小,默认值为-1,表示使用系统的默认值。 |
| compression | N/A | http.compression | transport.compression | N/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请求中允许使用的方法,默认值包括:OPTIONSHEADGETPOSTPUTDELETE
- http.cors.allow-headers
允许在HTTP请求消息中使用的头部,默认值包括:X-Requested-WithContent-TypeContent-LengthAuthorizationAcceptUser-AgentX-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语言技能的关键。 目标和结构: 教程目标:本教程旨在通过系统化的学习,从单元测试、系统集成测试到调试技巧…...
多个单链表的合成
建立两个非递减有序单链表,然后合并成一个非递增有序的单链表。 注意:建立非递减有序的单链表,需要采用创建单链表的算法 输入格式: 1 9 5 7 3 0 2 8 4 6 0 输出格式: 9 8 7 6 5 4 3 2 1 输入样例: 在这里给出一组输入。例如…...
『建议收藏』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函数而尝试写出来的函数。 思路:…...
《向量数据库指南》——Mlivus Cloud打造生产级AI应用利器
哈哈,各位向量数据库和AI应用领域的朋友们,大家好!我是大禹智库的向量数据库高级研究员王帅旭,也是《向量数据库指南》的作者。今天,我要和大家聊聊如何使用Mlivus Cloud来搭建生产级AI应用。这可是个热门话题哦,相信大家都非常感兴趣! 《向量数据库指南》 使用Mlivus …...
Electron 进程通信
预加载(preload)脚本只能访问部分 Node.js API,但是主进程可以访问全部API。此时,需要使用进程通信。 比如,在preload.js中,不能访问__dirname,不能使用 Node 中的 fs 模块,但主进程…...
TDengine 快速体验(Docker 镜像方式)
简介 TDengine 可以通过安装包、Docker 镜像 及云服务快速体验 TDengine 的功能,本节首先介绍如何通过 Docker 快速体验 TDengine,然后介绍如何在 Docker 环境下体验 TDengine 的写入和查询功能。如果你不熟悉 Docker,请使用 安装包的方式快…...
ubuntu搭建nfs服务centos挂载访问
在Ubuntu上设置NFS服务器 在Ubuntu上,你可以使用apt包管理器来安装NFS服务器。打开终端并运行: sudo apt update sudo apt install nfs-kernel-server创建共享目录 创建一个目录用于共享,例如/shared: sudo mkdir /shared sud…...
Day131 | 灵神 | 回溯算法 | 子集型 子集
Day131 | 灵神 | 回溯算法 | 子集型 子集 78.子集 78. 子集 - 力扣(LeetCode) 思路: 笔者写过很多次这道题了,不想写题解了,大家看灵神讲解吧 回溯算法套路①子集型回溯【基础算法精讲 14】_哔哩哔哩_bilibili 完…...
从深圳崛起的“机器之眼”:赴港乐动机器人的万亿赛道赶考路
进入2025年以来,尽管围绕人形机器人、具身智能等机器人赛道的质疑声不断,但全球市场热度依然高涨,入局者持续增加。 以国内市场为例,天眼查专业版数据显示,截至5月底,我国现存在业、存续状态的机器人相关企…...
12.找到字符串中所有字母异位词
🧠 题目解析 题目描述: 给定两个字符串 s 和 p,找出 s 中所有 p 的字母异位词的起始索引。 返回的答案以数组形式表示。 字母异位词定义: 若两个字符串包含的字符种类和出现次数完全相同,顺序无所谓,则互为…...
C++八股 —— 单例模式
文章目录 1. 基本概念2. 设计要点3. 实现方式4. 详解懒汉模式 1. 基本概念 线程安全(Thread Safety) 线程安全是指在多线程环境下,某个函数、类或代码片段能够被多个线程同时调用时,仍能保证数据的一致性和逻辑的正确性…...
CMake控制VS2022项目文件分组
我们可以通过 CMake 控制源文件的组织结构,使它们在 VS 解决方案资源管理器中以“组”(Filter)的形式进行分类展示。 🎯 目标 通过 CMake 脚本将 .cpp、.h 等源文件分组显示在 Visual Studio 2022 的解决方案资源管理器中。 ✅ 支持的方法汇总(共4种) 方法描述是否推荐…...
Docker 本地安装 mysql 数据库
Docker: Accelerated Container Application Development 下载对应操作系统版本的 docker ;并安装。 基础操作不再赘述。 打开 macOS 终端,开始 docker 安装mysql之旅 第一步 docker search mysql 》〉docker search mysql NAME DE…...
VM虚拟机网络配置(ubuntu24桥接模式):配置静态IP
编辑-虚拟网络编辑器-更改设置 选择桥接模式,然后找到相应的网卡(可以查看自己本机的网络连接) windows连接的网络点击查看属性 编辑虚拟机设置更改网络配置,选择刚才配置的桥接模式 静态ip设置: 我用的ubuntu24桌…...
推荐 github 项目:GeminiImageApp(图片生成方向,可以做一定的素材)
推荐 github 项目:GeminiImageApp(图片生成方向,可以做一定的素材) 这个项目能干嘛? 使用 gemini 2.0 的 api 和 google 其他的 api 来做衍生处理 简化和优化了文生图和图生图的行为(我的最主要) 并且有一些目标检测和切割(我用不到) 视频和 imagefx 因为没 a…...
