【Elasticsearch】type=too_long_frame_exception, reason=An HTTP line is larger than 4096 bytes

背景:

系统数据同步到es库中后点查找没翻译,前后台获取错误代码如标题

service unavailable:Elasticsearch exception [type=too_long_frame_exception, reason=An HTTP line is larger than 4096 bytes.

分析解决

没分析,直接百度
默认情况下ES对请求参数设置为4K,如果遇到请求参数长度限制可以在elasticsearch.yml中修改如下参数:

http.max_initial_line_length: "8k"
http.max_header_size: "16k"

另外一个好像这个选项,一起加了

http.max_content_length: 500mb

重启,问题解决。

[nrms@localhost config]$ vi elasticsearch.yml 
# =====================新资源ES自定义配置========================

# 集群名称,请确保局域网中集群名称不冲突
cluster.name: nrms-es-cluster
# 节点唯一标志,请确保在集群内启动的示例节点名称不冲突
node.name: nrms-es-node01
# 数据目录与日志目录
path.data: /home/yyq/thirdparty/elasticsearch/es-data
path.logs: /home/yyq/thirdparty/elasticsearch/es-logs
# 网络监听地址
network.host: elasticsearch1.nrmsserver
http.port: 9200
# 跨域设置
http.cors.enabled: true
http.cors.allow-origin: "*"
# 集群设置生产环境要求三台主机。使用hosts文件配置主机名称
# discovery.zen.ping.unicast.hosts: ["es1.nrmsserver", "es2.nrmsserver", "es3.nrmsserver"]
# discovery.zen.minimum_master_nodes: 2


http.max_initial_line_length: "8k"
http.max_header_size: "16k"
http.max_content_length: 500mb

2020年12月30日记录

Limit of total fields [1000] in index [xxxx] has been exceeded

这个是修改后新增的问题,
需要添加如下配置(我这是在应用里进行配置的):
“settings”: {
“index”: {
“refresh_interval”: “3s”,
“mapping.total_fields.limit”: 2000,
“number_of_shards”: “1”,
“number_of_replicas”: 0
}
},
或:
{
“index”: {
“mapping.total_fields.limit”: 2000
}

}

参考:

【异常】使用Elasticsearch的REST Client的An HTTP line is larger than 4096 bytes
elasticsearch-py 解决 too_long_frame_exception 问题
ElasticSearch异常ElasticSearch异常 too_long_frame_exc4096 reason:An HTTP line is larger than 4096 bytes

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

实施工程师木易

感谢支持

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值