最全解决docker配置kibana报错 Kibana server is not ready yet

news2025/1/10 11:59:54

 问题复现:

在浏览器输入http://192.168.101.65:5601/ 访问kibana报错

Kibana server is not ready yet

问题报错:

首先查看kibana的日志

docker logs kibana

看到报错如下: 

{"type":"log","@timestamp":"2023-10-07T07:03:20+00:00","tags":["warning","elasticsearch"],"pid":6,"message":"No living connections"}
{"type":"log","@timestamp":"2023-10-07T07:03:20+00:00","tags":["warning","plugins","licensing"],"pid":6,"message":"License information could not be obtained from Elasticsearch due to Error: No Living connections error"}
{"type":"log","@timestamp":"2023-10-07T07:03:49+00:00","tags":["warning","elasticsearch"],"pid":6,"message":"Unable to revive connection: http://es:9200/"}

 那就大概明白是和elasticsearch的连接有问题

可能出现问题的地方有:

1. Elasticsearch没有启动。

2.Elasticsearch和Kibana版本不一致。

2. Kibana未能连接到Elasticsearch。默认情况下,Elasticsearch使用端口9200和9300。

4. Elasticsearch的索引不可用。请尝试通过访问`http://localhost:9200/.kibana`来访问看看能否有信息。

5. Kibana的配置文件存在问题。请检查Kibana配置文件中是否有任何错误或不正确的设置。您可以在Kibana日志文件中查找更多信息,该文件通常位于Kibana安装目录下的logs文件夹中。
 

问题解决:

方案一:检查版本

docker images

检查镜像,可以看到版本是一致的,因此不是这个问题 

# 临时启动
docker run --name kibana -d -p 5601:5601 kibana:8.0.1

# 宿主机 创建一个 用于存储kibana config文件夹
mkdir -p kibana

# docker cp 拷贝 kibana/config 到 宿主机对于的配置文件夹
docker cp kibana:/usr/share/kibana/config /data/soft/kibana

 方案二:检查是否连接上elasticsearch和kibana 

先输入192.168.101.65:9200看看elasticsearch是否正常启动,一般不出现error就是连接上了

在输入192.168.101.65:9200/.kibana查看elasticsearch是否连接上了kibana,出现以下数据基本就没有问题了

然后输入192.168.101.65:5601看是否成功显示

方案三:检查kibana的配置

首先你得知道自己的kibana的yaml配置在哪,先运行kibana起来,然后执行以下命令

# 临时启动
docker run --name kibana -d -p 5601:5601 kibana:7.12.1

# 在宿主机的任意一个位置创建用于存储kibana config文件夹
mkdir -p kibana

#拷贝kibana/config 到 宿主机的/data/soft/kibana下
docker cp kibana:/usr/share/kibana/config /data/soft/kibana

然后进入到该目录下,出现以下文件即可

进入到该文件进行编辑 

vim kibana.yml 

server.name: kibana
server.host: "0"
elasticsearch.hosts: ["http://容器内部ip:9200"]
xpack.monitoring.ui.container.elasticsearch.enabled: true

注意!!!这里的容器内部ip是docker赋予改容器的ip而不是虚拟机或者本机的ip,当然如果你不是docker部署的就是本机ip。

如果是docker配置的,可以输入以下命令查看elasticsearch的容器内部ip

docker ps #查看容器内的各个软件的容器id和端口等信息


docker inspect 容器id  #查看该软件的相关信息

记住这个信息,然后去到kibana.yml 中配置

然后重启kibana

docker restart kibana

 在重复方案二的步骤查看是否连接成功

方案四:重做kibana 

停止kibana,再从docker中删除kibana容器

docker stop kibana

docker rm -f <kibana容器id>

再重新拉回kibana然后配置kibana(记得修改里面的ELASTICSEARCH_HOSTS和版本号)

#拉取kibana
docker pull kibana:7.12.1


#配置kibana
docker run -d     --name kibana  -e ELASTICSEARCH_HOSTS=http://172.18.0.2:9200   -p 5601:5601     kibana:7.12.1

方案五:重做elasticsearch和kibana 

首先分别停止elasticsearch和kibana,再从docker中删除elasticsearch和kibana容器(不是删除镜像)

docker stop kibana
docker stop elasticsearch

docker rm -f <elasticsearch容器id>
docker rm -f <kibana容器id>

先创建一个网络,方便es和kibana容器互联

docker network create es-net

配置elasticsearch

#拉取
docker pull elasticsearch:7.12.1
#配置es
docker run -d \
    --name es \
    -e "ES_JAVA_OPTS=-Xms512m -Xmx512m" \
    -e "discovery.type=single-node" \
    -v es-data:/usr/share/elasticsearch/data \
    -v es-plugins:/usr/share/elasticsearch/plugins \
    --privileged \
    --network es-net \
    -p 9200:9200 \
    elasticsearch:7.12.1

命令解释:

  • -e "ES_JAVA_OPTS=-Xms512m -Xmx512m":配置JVM的堆内存大小,默认是1G,但是最好不要低于512M
  • -e "discovery.type=single-node":单点部署
  • -v es-data:/usr/share/elasticsearch/data:数据卷挂载,绑定es的数据目录
  • -v es-plugins:/usr/share/elasticsearch/plugins:数据卷挂载,绑定es的插件目录
  • -privileged:授予逻辑卷访问权
  • --network es-net:让ES加入到这个网络当中
  • -p 9200:暴露的HTTP协议端口,供我们用户访问的

输入以下命令启动elasticsearch

docker start es

然后访问192.168.101.65:9200看看elasticsearch看到以下情况即正常启动

再配置kibana

#拉取
docker pull kibana:7.12.1
#配置
docker run -d \
    --name kibana \
    -e ELASTICSEARCH_HOSTS=http://es:9200 \
    --network=es-net \
    -p 5601:5601 \
    kibana:7.12.1

命令解释:

  • --network=es-net:让kibana加入es-net这个网络,与ES在同一个网络中
  • -e ELASTICSEARCH_HOSTS=http://es:9200:设置ES的地址,因为kibana和ES在同一个网络,因此可以直接用容器名访问ES
  • -p 5601:5601:端口映射配置

输入以下信息启动kibana

docker start kibana

然后输入192.168.101.65:5601看是否成功显示页面

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1068209.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【小笔记】复杂模型小数据可能会造成过拟合还是欠拟合?

【学而不思则罔&#xff0c;思而不学则殆】 10.8 问题 针对这个问题&#xff0c;我先问了一下文心一言 它回答了为什么会过拟合和欠拟合&#xff0c;但并没有回答我给的场景。 简单分析 分析模型 复杂模型就表示模型的拟合能力很强&#xff0c;对于数据中特征&#xff08…

如何保证 RabbitMQ 的消息可靠性?

项目开发中经常会使用消息队列来完成异步处理、应用解耦、流量控制等功能。虽然消息队列的出现解决了一些场景下的问题&#xff0c;但是同时也引出了一些问题&#xff0c;其中使用消息队列时如何保证消息的可靠性就是一个常见的问题。如果在项目中遇到需要保证消息一定被消费的…

Mybatis 拦截器(Mybatis插件原理)

Mybatis为我们提供了拦截器机制用于插件的开发&#xff0c;使用拦截器可以无侵入的开发Mybatis插件&#xff0c;Mybatis允许我们在SQL执行的过程中进行拦截&#xff0c;提供了以下可供拦截的接口&#xff1a; Executor&#xff1a;执行器ParameterHandler&#xff1a;参数处理…

深入解析PostgreSQL:命令和语法详解及使用指南

文章目录 摘要引言基本操作安装与配置连接和退出 数据库操作创建数据库删除数据库切换数据库 表操作创建表删除表插入数据查询数据更新数据删除数据 索引和约束创建索引创建约束 用户管理创建用户授权用户修改用户密码 备份和恢复备份数据库恢复数据库 高级特性结语参考文献 摘…

在win10里顺利安装了apache2.4.41和php7.4.29以及mysql8.0.33

一、安装apache和php 最近在学习网站搭建。其中有一项内容是在windows操作系统里搭建apachephp环境。几天前根据一本书的上的说明尝试了一下&#xff0c;在win10操作系统里安装这两个软件&#xff1a;apache2.4.41和php7.4.29&#xff0c;安装以后apche能正常启动&#xff0c;…

【转载】LLM-Native 产品的变与不变

1. LLM-Native&#xff1a;AGI 的另一种路径 《银河系漫游指南》的作者——道格拉斯亚当斯曾经对「技术」一词做出这样一种解释&#xff1a; 「技术」是描述某种尚未发挥作用的东西的词汇。 这是一个充满实用主义的定义&#xff0c;这句话可以被更直观地表述为&#xff1a;当…

机器学习7:pytorch的逻辑回归

一、说明 逻辑回归模型是处理分类问题的最常见机器学习模型之一。二项式逻辑回归只是逻辑回归模型的一种类型。它指的是两个变量的分类&#xff0c;其中概率用于确定二元结果&#xff0c;因此“二项式”中的“bi”。结果为真或假 — 0 或 1。 二项式逻辑回归的一个例子是预测人…

安卓玩机----解锁system分区 可读写系统分区 magisk面具模块

玩机教程----安卓机型解锁system分区 任意修改删除系统文件 system分区可读写 参考上个博文可以了解到解锁system分区的有关常识。但目前很多机型都在安卓12 13 基础上。其实最简单的方法就在于刷写一个解锁system分区的第三方补丁包。在面具更新不能解锁系统分区的前提下。…

8.2 JUC - 5.CountdownLatch

目录 一、是什么&#xff1f;二、demo演示三、应用之同步等待多线程准备完毕四、 应用之同步等待多个远程调用结束五、CountDownLatch 原理 一、是什么&#xff1f; CountdownLatch 用来进行线程同步协作&#xff0c;等待所有线程完成倒计时。 其中构造参数用来初始化等待计数…

C#,数值计算——数据建模Fitab的计算方法与源程序

1 文本格式 using System; namespace Legalsoft.Truffer { /// <summary> /// Fitting Data to a Straight Line /// </summary> public class Fitab { private int ndata { get; set; } private double a { get; set; } …

RabbitMQ之Fanout(扇形) Exchange解读

目录 基本介绍 适用场景 springboot代码演示 演示架构 工程概述 RabbitConfig配置类&#xff1a;创建队列及交换机并进行绑定 MessageService业务类&#xff1a;发送消息及接收消息 主启动类RabbitMq01Application&#xff1a;实现ApplicationRunner接口 基本介绍 Fa…

跨域请求方案整理实践

项目场景&#xff1a; 调用接口进行手机验证提示,项目需要调用其它域名的接口,导致前端提示跨域问题 问题描述 前端调用其他域名接口时报错提示: index.html#/StatisticalAnalysisOfVacancy:1 Access to XMLHttpRequest at http://xxxxx/CustomerService/template/examineMes…

openGauss学习笔记-92 openGauss 数据库管理-内存优化表MOT管理-内存表特性-使用MOT-MOT使用MOT SQL覆盖和限制

文章目录 openGauss学习笔记-92 openGauss 数据库管理-内存优化表MOT管理-内存表特性-使用MOT-MOT使用MOT SQL覆盖和限制92.1 不支持的特性92.2 MOT限制92.3 不支持的DDL操作92.4 不支持的数据类型92.5 不支持的索引DDL和索引92.6 不支持的DML92.7 不支持的JIT功能&#xff08;…

ThingsBoard如何自定义tcp-transport

1、概述 很久没有更新了,一直忙于其他的事情,最近去搞了一个在ThingsBoard中自定义一个tcp-transport,用于连接使用tcp长连接的设备,目前使用tcp和mqtt协议连接服务端的设备还是很多,ThingsBoard的PE版提供了Integration是可以实现tcp的接入,但是CE版是没有提供接入tcp长…

前端性能优化之防抖节流

前端性能优化之防抖&节流 1.什么是防抖和节流2.代码实现2.1 实现防抖2.2 实现节流 3.应用场景3.1 防抖的应用3.2 节流的应用 1.什么是防抖和节流 防抖和节流是前端开发中常用的两种性能优化技术。 为什么需要防抖和节流呢&#xff1f; 两者目的都是为了防止某个时间段内…

配置文件生成器-秒杀SSM的xml整合

配置文件生成器-秒杀SSM的xml整合 思路&#xff1a; 通过简单的配置&#xff0c;直接生成对应配置文件。 maven坐标 <dependencies><!-- 配置文件生成 --><dependency><groupId>org.freemarker</groupId><artifactId>freemarker<…

MyBatis中的ResultMap有什么作用

MyBatis是一款广泛使用的Java持久层框架&#xff0c;它简化了数据库访问和数据映射的工作。在MyBatis中&#xff0c;ResultMap是一个强大的工具&#xff0c;用于将数据库查询结果映射到Java对象上。本文将深入探讨MyBatis中的ResultMap&#xff0c;解释它的作用以及如何使用它来…

Java-Exception

目录 异常概念ErrorException 体系图常见运行时异常NullPointerExceptionArithmeticExceptionArrayIndexOutOfBoundExceptionClassCastExceptionNumberFormatException 常见的编译异常异常处理机制自定义异常throw和throws对比 异常是Java编程中的常见问题&#xff0c;了解如何…

Java中栈实现怎么选?Stack、Deque、ArrayDeque、LinkedList(含常用Api积累)

目录 Java中的Stack类 不用Stack有以下两点原因 1、从性能上来说应该使用Deque代替Stack。 2、Stack从Vector继承是个历史遗留问题&#xff0c;JDK官方已建议优先使用Deque的实现类来代替Stack。 该用ArrayDeque还是LinkedList&#xff1f; ArrayDeque与LinkList区别&#xff1…