当前位置: 首页 > news >正文

[运维]2.elasticsearch-svc连接问题

Serverless 与容器决战在即?有了弹性伸缩就不一样了 - 阿里云云原生 - 博客园

当我部署好elasticsearch的服务后,由于个人习惯,一般服务会在name里带上svc,所以我elasticsearch服务的名字是elasticsearch-svc:

[root@master ~]# kubectl get svc -n kube-logging31
NAME                TYPE        CLUSTER-IP    EXTERNAL-IP   PORT(S)             AGE
elasticsearch-svc   ClusterIP   None          <none>        9200/TCP,9300/TCP   10h
kibana-svc          NodePort    10.105.0.72   <none>        5601:31231/TCP      14m

但是当我部署好elasticsearch和kibana后,发现kibana无法连接到elasticsearch,查看kibana pod的日志,发现如下报错:

{"type":"log","@timestamp":"2024-10-02T13:24:30Z","tags":["warning","elasticsearch","admin"],"pid":1,"message":"No living connections"}
{"type":"log","@timestamp":"2024-10-02T13:24:30Z","tags":["warning","elasticsearch","admin"],"pid":1,"message":"Unable to revive connection: http://elasticsearch:9200/"}

这里说kibana试图连接到elasticsearch:9200。随后进入kibana的pod,进行验证:

[root@master 31efk]# kubectl exec -it kibana-deploy-6bc6b7cd49-z7rzh -n kube-logging31 -- sh
sh-4.2$ curl -v http://elasticsearch-svc:9200
* About to connect() to elasticsearch-svc port 9200 (#0)
*   Trying 10.244.104.12...
* Connected to elasticsearch-svc (10.244.104.12) port 9200 (#0)
> GET / HTTP/1.1
> User-Agent: curl/7.29.0
> Host: elasticsearch-svc:9200
> Accept: */*
> 
< HTTP/1.1 200 OK
< content-type: application/json; charset=UTF-8
< content-length: 502
< 
{"name" : "es-cluster-2","cluster_name" : "k8s-logs","cluster_uuid" : "mgDmrtT-TGucWXpj7CkakQ","version" : {"number" : "7.2.0","build_flavor" : "default","build_type" : "docker","build_hash" : "508c38a","build_date" : "2019-06-20T15:54:18.811730Z","build_snapshot" : false,"lucene_version" : "8.0.0","minimum_wire_compatibility_version" : "6.8.0","minimum_index_compatibility_version" : "6.0.0-beta1"},"tagline" : "You Know, for Search"
}
* Connection #0 to host elasticsearch-svc left intact
sh-4.2$ exit
exit

发现在kibana内部可以成功解析elasticsearch-svc。

定位到问题可能是kibana的默认elasticsearch服务的配置是elasticsearch:9200。

[root@master 31efk]# kubectl exec -it kibana-deploy-6bc6b7cd49-z7rzh -n kube-logging31 -- cat /usr/share/kibana/config/kibana.yml
#
# ** THIS IS AN AUTO-GENERATED FILE **
## Default Kibana configuration for docker target
server.name: kibana
server.host: "0"
elasticsearch.hosts: [ "http://elasticsearch:9200" ]

可以看到默认的hosts就是  [ "http://elasticsearch:9200" ]。

所以解决办法是,在kibana的deployment文件里增加下面环境变量(一开始只有ELASTICSEARCH_URL)

env:- name: ELASTICSEARCH_HOSTSvalue: "http://elasticsearch-svc:9200"

http://www.lryc.cn/news/455465.html

相关文章:

  • Ajax面试题:(第一天)
  • 数据仓库拉链表
  • 【JVM】实战篇
  • 2024年9月30日--10月6日(ue5肉鸽结束)
  • 【Python游戏开发】贪吃蛇游戏demo
  • pytorch张量基础
  • 深入解析LlamaIndex Workflows【下篇】:实现ReAct模式AI智能体的新方法
  • 要在 Git Bash 中使用 `tree` 命令,下载并手动安装 `tree`。
  • Linux的基本指令(1)
  • JavaEE之多线程进阶-面试问题
  • 费曼学习法没有输出对象怎么办?
  • Hive优化操作(二)
  • 销冠的至高艺术:让自己不像销售
  • Hive数仓操作(十一)
  • C语言初步介绍(初学者,大学生)【上】
  • 陈文自媒体:现在的房价,已经跌到7年前!
  • 基于STM32的智能水族箱控制系统设计
  • java语言基础案例-cnblog
  • MyBatis-Plus 之 typeHandler 的使用
  • HDLBits中文版,标准参考答案 |2.5 More Verilog Features | 更多Verilog 要点
  • 提升开机速度:有效管理Windows电脑自启动项,打开、关闭自启动项教程分享
  • 数据库简单介绍
  • 运用MinIO技术服务器实现文件上传——利用程序上传图片(二 )
  • C语言 | Leetcode C语言题解之第461题汉明距离
  • Qt 3D、QtQuick、QtQuick 3D 和 QML 的关系
  • 软件设计师(软考学习)
  • 第一讲:Go语言开发入门:环境搭建与基础语法
  • Linux CentOS stream9配置本地yum源
  • std::string
  • 【Docker】03-自制镜像