📣 极限科技诚招搜索运维工程师(Elasticsearch/Easysearch)- 全职/北京 👉 : 立即申请加入

为什么这个错误发生 #

action_not_found_transport_exception 表示通过传输层发送的操作请求在目标节点上没有对应的处理器。这通常意味着目标节点不支持该操作或版本不兼容。

这个错误可能由以下原因引起:

  1. 版本不兼容:节点间的版本不一致,某些操作在不同版本间不兼容
  2. 插件未安装:操作需要特定插件支持,但目标节点未安装
  3. 节点状态异常:目标节点正在启动或关闭过程中
  4. 操作名称错误:操作名称配置错误或拼写错误
  5. 模块未启用:相关功能模块未在节点上启用

如何修复这个错误 #

1. 检查集群版本一致性 #

# 查看所有节点版本
GET /_cat/nodes?v&h=name,version

# 查看节点详细信息
GET /_nodes

2. 检查插件安装状态 #

# 查看所有节点安装的插件
GET /_nodes/plugins

# 确保所有节点安装了相同的插件
bin/easysearch-plugin list

3. 检查节点状态 #

# 查看节点是否正常运行
GET /_cat/nodes?v&h=name,status

# 查看节点详细信息
GET /_nodes/<node_name>

4. 确保使用正确的 API #

# 使用正确的 API 端点
GET /_cat/indices?v
GET /_cluster/health

5. 重启节点(如果需要) #

# 如果插件或版本更新后需要重启
sudo systemctl restart easysearch

6. 检查模块状态 #

# 查看启用的模块
GET /_nodes?filter_path=**.modules

预防措施 #

  • 保持所有节点版本一致
  • 确保所有节点安装相同的插件
  • 在升级前规划好版本变更
  • 监控节点状态