• docker安装elasticsearch、kibana


    背景:使用docker安装 elasticsearch 、kibana。
    目的:主要是使用kibana 来简单写一些 es的命令
    环境:已经安装过docker了

    一、环境搭建

    1、安装elasticsearch

    # 下载elasticsearch镜像
    docker pull elasticsearch:7.7.0
    # 查看docker的镜像 查看是否下载成功
    docker images
    
    • 1
    • 2
    • 3
    • 4

    2、运行es的容器

    docker run -d --name elasticsearch -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" elasticsearch:7.7.0
    
    • 1

    命令解释:

    -d: 在后台运行容器。
    --name elasticsearch: 为容器指定一个名称,这里是“elasticsearch”。
    -p 9200:9200: 将主机的9200端口映射到容器的9200端口,这是Elasticsearch HTTP服务的默认端口。
    -p 9300:9300: 将主机的9300端口映射到容器的9300端口,这是Elasticsearch节点之间通信的默认端口。
    -e "discovery.type=single-node": 设置Elasticsearch的发现类型为“单节点”,这将禁用节点发现和群集形成。
    elasticsearch:7.7.0: 指定要运行的Docker映像名称和版本号。在这里,我们使用Elasticsearch7.7.0版本。
    总之,这个命令会在Docker容器中运行一个Elasticsearch实例,并将主机的92009300端口映射到容器中的相应端口,以便可以通过HTTP和节点之间通信进行访问。
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

    验证es是否运行成功。

    # 这个是通过本机ip验证的 这个后面和 kibana交互很重要 因为通过kibana连接es就是这个ip
    # 本机ip获取命令(注意是mac) ifconfig en0 | grep inet| awk '{print $2}'
    curl 'http://192.168.31.141:9200'
    # 以下两个也能验证 
    curl 'http://127.0.0.1:9200'
    curl 'http://localhost:9200'
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    注意: 如果不涉及kibana连接es 其实上面效果都一样

    3、下载kibana

    docker pull docker.elastic.co/kibana/kibana:7.7.0
    
    • 1

    4、运行kibana!!!重点

    # 1、先找到本机的 ip  下面是mac环境的命令 我的是 192.168.31.141 为例 
    ifconfig en0 | grep inet| awk '{print $2}'
    # 2、开始运行 kibana
    docker run --name kibana -e ELASTICSEARCH_URL=http://192.168.31.141:9200  -p 5601:5601 -d docker.elastic.co/kibana/kibana:7.7.0
    
    • 1
    • 2
    • 3
    • 4

    命令解释:

    --name kibana: 为容器指定一个名称,这里是“kibana”。
    -e ELASTICSEARCH_URL=http://192.168.31.141:9200: 设置环境变量ELASTICSEARCH_URL,将其值设置为ElasticsearchHTTP地址,这里是http://192.168.31.141:9200。这个地址是Elasticsearch实例的地址,Kibana将使用它来连接到Elasticsearch-p 5601:5601: 将主机的5601端口映射到容器的5601端口,这是Kibana的默认端口。
    -d: 在后台运行容器。
    docker.elastic.co/kibana/kibana:7.7.0: 指定要运行的Docker映像名称和版本号。在这里,我们使用Kibana7.7.0版本。
    
    • 1
    • 2
    • 3
    • 4
    • 5

    然后使用 ``实时查看运行的日志。发现一直在报警 日志如下。

    {"type":"log","@timestamp":"2024-02-18T14:56:24Z","tags":["warning","elasticsearch","admin"],"pid":8,"message":"Unable to revive connection: http://elasticsearch:9200/"}
    {"type":"log","@timestamp":"2024-02-18T14:56:24Z","tags":["warning","elasticsearch","admin"],"pid":8,"message":"No living connections"}
    {"type":"log","@timestamp":"2024-02-18T14:56:25Z","tags":["warning","elasticsearch","data"],"pid":8,"message":"Unable to revive connection: http://elasticsearch:9200/"}
    
    • 1
    • 2
    • 3

    意思很明显 连接不到elasticsearch。你通过浏览器访问 http://localhost:5601/ 或者 http://127.0.0.1:5601/或者 http://192.168.31.141:5601/
    会返回信息。

    Kibana server is not ready yet
    
    • 1

    5、解决kibana连接不上es的办法

    1、进入到kibana容器中 我直接用的是 docker可视化界面进入的 当然也可以用命令进入。
    2、修改config/kibana.yml配置

    vi config/kibana.yml
    
    • 1

    配置内容:

    server.name: kibana
    server.host: "0"
    elasticsearch.hosts: [ "http://elasticsearch:9200" ]
    monitoring.ui.container.elasticsearch.enabled: true
    
    • 1
    • 2
    • 3
    • 4

    其实就是修改http://elasticsearch:9200http://192.168.31.141:9200
    3、重启kibana
    docker restart kibana
    查看实时日志docker logs kibana -f发现不报错了
    4、访问 http://192.168.31.141:5601/
    即可发现进入 Kibana页面
    在这里插入图片描述

  • 相关阅读:
    电力电子转战数字IC20220822day66——断言和序列
    系统异常SVC与PendSV指令
    数据结构之-【排序】
    Oracle EBS 重新打开库存会期间
    代码随想录训练营二刷第三十天 | 332.重新安排行程 51. N皇后 37. 解数独
    【游戏建模全流程】使用ZBrush制作龙模型
    基于SSH开发酒店管理系统
    【PAT甲级】1099 Build A Binary Search Tree
    COIG:开源四类中文指令语料库
    LeetCode-662-二叉树最大宽度
  • 原文地址:https://blog.csdn.net/qq_43566782/article/details/132638554