日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

elasticsearch常见错误解决办法

發布時間:2024/9/30 编程问答 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 elasticsearch常见错误解决办法 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

es常見問題

    • 1、elasticsearch 啟動報錯 max virtual memory areas vm.max_map_count [65530] is too low, increase to at leas
      • 1.1、問題原因
      • 1.2、解決辦法
    • 2、Elasticsearch exception [type=cluster_block_exception, reason=blocked by: [FORBIDDEN/12/index read-only/ allow delete (api)];]
      • 2.2、問題原因
      • 2.2、解決辦法
    • 3、bootstrap checks failed
      • 3.1 解決辦法

1、elasticsearch 啟動報錯 max virtual memory areas vm.max_map_count [65530] is too low, increase to at leas

1.1、問題原因

字面意思,vm.max_map_count這個參數太小,應該至少調整到262144,首先看一下這個參數是干啥的吧。這個參數的解釋,來自
https://www.jianshu.com/p/4f031b5366df
的原文:
“This file contains the maximum number of memory map areas a process may have. Memory map areas are used as a side-effect of calling malloc, directly by mmap and mprotect, and also when loading shared libraries.

While most applications need less than a thousand maps, certain programs, particularly malloc debuggers, may consume lots of them, e.g., up to one or two maps per allocation.
The default value is 65536.”
翻譯:
max_map_count文件包含限制一個進程可以擁有的VMA(虛擬內存區域)的數量。虛擬內存區域是一個連續的虛擬地址空間區域。在進程的生命周期中,每當程序嘗試在內存中映射文件,鏈接到共享內存段,或者分配堆空間的時候,這些區域將被創建。調優這個值將限制進程可擁有VMA的數量。限制一個進程擁有VMA的總數可能導致應用程序出錯,因為當進程達到了VMA上線但又只能釋放少量的內存給其他的內核進程使用時,操作系統會拋出內存不足的錯誤。如果你的操作系統在NORMAL區域僅占用少量的內存,那么調低這個值可以幫助釋放內存給內核用。

1.2、解決辦法

解決辦法來自
https://blog.csdn.net/jiankunking/article/details/65448030

1、切換到root用戶修改配置sysctl.conf

vi /etc/sysctl.conf

2、添加 vm.max_map_count=655360,并運行如下命令

sysctl -p

3、然后,重新啟動elasticsearch,即可啟動成功。

2、Elasticsearch exception [type=cluster_block_exception, reason=blocked by: [FORBIDDEN/12/index read-only/ allow delete (api)];]

或者類似如下錯誤

{"error": {"root_cause": [{"type": "cluster_block_exception","reason": "index [blog1] blocked by: [FORBIDDEN/12/index read-only / allow delete (api)];"}],"type": "cluster_block_exception","reason": "index [blog1] blocked by: [FORBIDDEN/12/index read-only / allow delete (api)];"},"status": 403 }

2.2、問題原因

索引是只讀狀態。需要變更為非只讀狀態

2.2、解決辦法

執行

curl -XPUT -H "Content-Type: application/json" http://127.0.0.1:9200/你的索引名稱/_settings -d '{"index.blocks.read_only_allow_delete": null}'

或者直接在postman發送http請求如下:

PUT http://127.0.0.1:9200/索引名稱/_settings { "index.blocks.read_only_allow_delete": null }

3、bootstrap checks failed

the default discovery settings are unsuitable for production use; at least one of [discovery.seed_hosts, discovery.seed_providers, cluster.initial_master_nodes] must be configured

3.1 解決辦法

elasticsearch.yml 配置文件中 添加:

cluster.initial_master_nodes: ["node-1"]

其中 node-1 為elasticsearch.yml 配置文件上面配置的 node.name 的值

總結

以上是生活随笔為你收集整理的elasticsearch常见错误解决办法的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。