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 模块,但主进程…...
深入剖析AI大模型:大模型时代的 Prompt 工程全解析
今天聊的内容,我认为是AI开发里面非常重要的内容。它在AI开发里无处不在,当你对 AI 助手说 "用李白的风格写一首关于人工智能的诗",或者让翻译模型 "将这段合同翻译成商务日语" 时,输入的这句话就是 Prompt。…...
Python爬虫实战:研究feedparser库相关技术
1. 引言 1.1 研究背景与意义 在当今信息爆炸的时代,互联网上存在着海量的信息资源。RSS(Really Simple Syndication)作为一种标准化的信息聚合技术,被广泛用于网站内容的发布和订阅。通过 RSS,用户可以方便地获取网站更新的内容,而无需频繁访问各个网站。 然而,互联网…...
【python异步多线程】异步多线程爬虫代码示例
claude生成的python多线程、异步代码示例,模拟20个网页的爬取,每个网页假设要0.5-2秒完成。 代码 Python多线程爬虫教程 核心概念 多线程:允许程序同时执行多个任务,提高IO密集型任务(如网络请求)的效率…...
PAN/FPN
import torch import torch.nn as nn import torch.nn.functional as F import mathclass LowResQueryHighResKVAttention(nn.Module):"""方案 1: 低分辨率特征 (Query) 查询高分辨率特征 (Key, Value).输出分辨率与低分辨率输入相同。"""def __…...
springboot整合VUE之在线教育管理系统简介
可以学习到的技能 学会常用技术栈的使用 独立开发项目 学会前端的开发流程 学会后端的开发流程 学会数据库的设计 学会前后端接口调用方式 学会多模块之间的关联 学会数据的处理 适用人群 在校学生,小白用户,想学习知识的 有点基础,想要通过项…...
CRMEB 中 PHP 短信扩展开发:涵盖一号通、阿里云、腾讯云、创蓝
目前已有一号通短信、阿里云短信、腾讯云短信扩展 扩展入口文件 文件目录 crmeb\services\sms\Sms.php 默认驱动类型为:一号通 namespace crmeb\services\sms;use crmeb\basic\BaseManager; use crmeb\services\AccessTokenServeService; use crmeb\services\sms\…...
【Android】Android 开发 ADB 常用指令
查看当前连接的设备 adb devices 连接设备 adb connect 设备IP 断开已连接的设备 adb disconnect 设备IP 安装应用 adb install 安装包的路径 卸载应用 adb uninstall 应用包名 查看已安装的应用包名 adb shell pm list packages 查看已安装的第三方应用包名 adb shell pm list…...
Vite中定义@软链接
在webpack中可以直接通过符号表示src路径,但是vite中默认不可以。 如何实现: vite中提供了resolve.alias:通过别名在指向一个具体的路径 在vite.config.js中 import { join } from pathexport default defineConfig({plugins: [vue()],//…...
Kubernetes 网络模型深度解析:Pod IP 与 Service 的负载均衡机制,Service到底是什么?
Pod IP 的本质与特性 Pod IP 的定位 纯端点地址:Pod IP 是分配给 Pod 网络命名空间的真实 IP 地址(如 10.244.1.2)无特殊名称:在 Kubernetes 中,它通常被称为 “Pod IP” 或 “容器 IP”生命周期:与 Pod …...
【Elasticsearch】Elasticsearch 在大数据生态圈的地位 实践经验
Elasticsearch 在大数据生态圈的地位 & 实践经验 1.Elasticsearch 的优势1.1 Elasticsearch 解决的核心问题1.1.1 传统方案的短板1.1.2 Elasticsearch 的解决方案 1.2 与大数据组件的对比优势1.3 关键优势技术支撑1.4 Elasticsearch 的竞品1.4.1 全文搜索领域1.4.2 日志分析…...
