docker-compose 搭建 elasticsearch8.2.0 + kibana 8.2.0

这篇具有很好参考价值的文章主要介绍了docker-compose 搭建 elasticsearch8.2.0 + kibana 8.2.0。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

编写目的

最近研究es,搭建环境的时候发现网上的很多文档大部分都是用来记录自己操作的,不过中间还是出现了很多问题,单独的文档还不能解决这些问题。我决定记录下来中间发生的问题,还有解决方案。还有在windows上docker-compose搭建的,原理一样不过不好操作中间很多问题可能和环境有关系,这里就不记录了,可能以后会记录,如果你在windows的docker上搭建的话,有问题也可以问,我这边已经踩过一次了。

安装环境

centos7
docker 20.10.6
docker-compose 1.18.0
elasticsearch 8.2.0
kibana 8.2.0

步骤

在root用户的目录下创建文件夹(不挂载可不操作)

这里看个人情况,我这边把配置文件的目录挂载一下,这样可以不用进入docker容器就能修改文件

mkdir -p elasticsearch/{config,data,plugins}
# 修改权限
chmod -R 777 elastiscsearch

编写docker-compose.yml

docker-compose.yml

version: '3'
services:
  elasticsearch:
    image: elasticsearch:8.2.0
    container_name: elasticsearch
    environment:
      - discovery.type=single-node
      - "ES_JAVA_OPTS=-Xms512m -Xmx512m"
    # 如果不挂载这里可以不写volumes
    #volumes:
    #  - /root/elasticsearch/data:/usr/share/elasticsearch/data
    #  - /root/elasticsearch/config/elasticsearch.yml:/config/elasticsearch.yml
    #  - /root/elasticsearch/plugins:/usr/share/elasticsearch/plugins
    #hostname: elasticsearch
    restart: always
    ports:
      - 9200:9200
      - 9300:9300
    networks:
        - elasticsearch
  kibana:
    image: kibana:8.2.0
    container_name: kibana
    environment:
      - elasticsearch.hosts=http://elasticsearch:9200
    #hostname: kibana
    depends_on:
      - elasticsearch
    restart: always
    ports:
      - "5601:5601"
    networks:
        - elasticsearch
networks:
    elasticsearch:
        external: true

配置文件

这里的配置文件都可以在容器中修改,如果挂载的话可以在外部修改 config目录下

elasticsearch.yml
cluster.name: "docker-cluster"
network.host: 0.0.0.0

xpack.security.enabled: true
xpack.security.http.ssl.enabled: false

xpack.license.self_generated.type: basic
kibana.yml

这里的用户名密码查看下面的用户名密码 elastic用户名密码

server.host: "0.0.0.0"
server.shutdownTimeout: "5s"
elasticsearch.hosts: [ "http://elasticsearch:9200" ]
monitoring.ui.container.elasticsearch.enabled: true
# 注意这里的用户名不能用elastic,使用之后会启动报错,看下面的错误2
elasticsearch.username: "kibana_system"
# 这里的密码是在启动时候配置的,如果忘记也没关系
elasticsearch.password: "8X1cLb+-mCx9twnqhHc9"

这里的elasticsearch.password忘记了的话,elastic重置密码

执行命令以及错误检查

执行: docker-compose up -d
等待成功后命令 docker-compose ps
docker-compose 搭建 elasticsearch8.2.0 + kibana 8.2.0

到这里已经执行完成了,后面需要验证成果的时候了

登录elasticsearch

在页面打开连接 http://ip:9200
docker-compose 搭建 elasticsearch8.2.0 + kibana 8.2.0

elastic用户名密码

进入docker里面的容器

docker exec -it elasticsearch bash
# 创建内置的用户  elastic, kibana等用户都会创建,按照步骤操作即可
elasticsearch-setup-passwords interactive

在页面上输入即可进入
docker-compose 搭建 elasticsearch8.2.0 + kibana 8.2.0

elastic重置密码

elasticsearch容器的bin目录下执行
elasticsearch-reset-password -u 需要重置密码的用户名
docker-compose 搭建 elasticsearch8.2.0 + kibana 8.2.0

登录kibana

http://ip:5601
用户名用 elastic密码就是之前设置的,如果忘记了,用reset方法
docker-compose 搭建 elasticsearch8.2.0 + kibana 8.2.0

打不开报错 server is not ready yet,这是因为 kibana没有启动成功,去后台查看错误日志
docker logs -f kibana

错误1 authentication credentials
[2022-07-06T10:21:59.387+00:00][ERROR][elasticsearch-service] Unable to retrieve version information from Elasticsearch nodes. security_exception: [security_exception] Reason: missing authentication credentials for REST request [/_nodes?filter_path=nodes.*.version%2Cnodes.*.http.publish_address%2Cnodes.*.ip]
解决方法

修改配置文件 elasticsearch.yml

cluster.name: "docker-cluster"
network.host: 0.0.0.0

# 这个需要打开
xpack.security.enabled: true
xpack.security.http.ssl.enabled: false
# basic
xpack.license.self_generated.type: basic
错误2 elasticsearch.username: elastic
[2022-07-06T10:20:32.437+00:00][ERROR][elasticsearch-service] Unable to retrieve version information from Elasticsearch nodes. connect ECONNREFUSED 172.25.0.2:9200
FATAL CLI ERROR YAMLException: can not read a block mapping entry; a multiline key may not be an implicit key at line 12, column 23:
    elasticsearch.username: elastic
解决方法

kibana.yml中的配置文件 不能使用elastic用户连接

kibana使用

docker-compose 搭建 elasticsearch8.2.0 + kibana 8.2.0
进入之后可以查询所有的数据,到这里基本完成了。

安装es插件ik分词

在elasticsearch容器中bin目录下执行

elasticsearch-plugin install https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v8.2.0/elasticsearch-analysis-ik-8.2.0.zip

docker-compose 搭建 elasticsearch8.2.0 + kibana 8.2.0

用python简单验证下创建索引

from elasticsearch import Elasticsearch
es = Elasticsearch(hosts=('http://ip地址:9200'),request_timeout=1000,basic_auth=('elastic','密码'))
data = {
    "name": "张三",
    "age": "16",
    "sex": "m",
    "address": "beijing",
    "create_time": "2022-7-07 10:34:47",
    "modify_time": "2022-4-18 14:34:52"
}
response = es.index(index="test_index", body=data)
print(response)

执行结果

{
	"_index": "test_index",
	"_id": "tcuX1oEBYruXjblhr1rE",
	"_version": 1,
	"result": "created",
	"_shards": {
		"total": 2,
		"successful": 1,
		"failed": 0
	},
	"_seq_no": 0,
	"_primary_term": 1
}

在kibana查看结果
docker-compose 搭建 elasticsearch8.2.0 + kibana 8.2.0文章来源地址https://www.toymoban.com/news/detail-437228.html

到了这里,关于docker-compose 搭建 elasticsearch8.2.0 + kibana 8.2.0的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • docker+jenkins+docker-compose+mysql+elasticsearch+ruoyi(若依)

    目录 安装docker+jenkins+docker-compose+ruoyi+mysql 安装yum命令 下载docker-ce 启动docker 安装docker-compose 查询docker和docker-compose兼容性 查询docker-compose版本 下载docker-compose 使用sudo管理员权限执行命令  docker-compose --version  查询是否成功    docker-compose部署若依项目 打包 部署出现过得问题

    2024年02月05日
    浏览(34)
  • docker-compose搭建redis服务

    2024年02月14日
    浏览(39)
  • 使用docker-compose搭建gitlab

    使用Docker搭建GitLab带来的好处。它简化了部署过程,将安装和配置整合为一个容器,并通过简单的命令即可启动和运行GitLab实例。Docker的隔离和容器化特性确保了GitLab与其依赖的软件环境的隔离,避免了冲突问题。此外,Docker的可移植性使得GitLab可以在不同平台和环境中运行

    2024年01月18日
    浏览(39)
  • 使用docker-compose搭建mysql主从

    目录 一、docker-compose和主从的简介 1、docker-compose 2、mysql主从 3、为什么要使用docke-compose? 二、部署mysql主从集群 1、mysql-master主库 2、mysql-slave从库 三、安装docker-compose 1、上传文件 2、添加可执行权限 3、创建并编辑docker-compose.yml文件 4、运行docker-composeysql.yml 四、配置mysql主

    2024年02月07日
    浏览(32)
  • 使用Docker-Compose搭建Redis集群

    3主+3从 由于仅用于测试,故我这里只用1台服务器进行模拟 redis列表 在server上创建一个目录用于存放redis集群部署文件。这里我放的路径为/root/redis-cluster 在/opt/docker/redis-cluster目录下创建redis-1,redis-2,redis-3,redis-4,redis-5,redis-6文件夹 注意:port值不能都为6379,根据上面redis列表设

    2024年02月15日
    浏览(33)
  • 使用docker-compose搭建lnmpr环境

    源码gitee • 使用 Dockerfile 定义应用程序的环境。 • 使用 docker-compose.yml 定义构成应用程序的服务,这样它们可以在隔离环境中一起运行。 • 最后,执行 docker-compose up -d 命令来启动并运行整个应用程序。 nginx默认页面 php默认页面 php redis扩展信息 mysql未配置之前页面,出现的

    2024年02月14日
    浏览(42)
  • docker-compose快速部署elasticsearch-8.x(单机版)

    环境信息 以下是本次实战的环境信息,可以作为参考 操作系统:Centos8 ElasticSearch:8.4.2 Linux环境设置(官方推荐)  配置 vm.max_map_count  不能低于  262144 查看是否配置  vm.max_map_count  setting 打开文件/etc/sysctl.conf在尾部添加一行配置vm.max_map_count = 262144修改保存, 然后执行命令

    2024年02月12日
    浏览(30)
  • Elasticsearch:使用 Docker-Compose 启动单节点 Elastic Stack

    首先必须指出的是,在我之前的文章 “Elasticsearch:使用 Docker compose 来一键部署 Elastic Stack 8.x”,我有详述根据官方文档如何创建一个带有三个节点的安全 Elasticsearch 集群。本文基于著名的 Deviatony 存储库和 Elastic 的官方说明。 建议先通读这些说明,如果你已经可以根据这些

    2024年02月05日
    浏览(54)
  • docker-compose 安装部署ElasticSearch 和 Kibana 8.8.1

    在你的目录新建个文件夹 创建 docker-compose.yml 访问 kibana 如果出现 提示未准备就绪 可能是kibana.yml配置问题,两种方式解决:

    2024年02月14日
    浏览(35)
  • Docker-compose详解和LNMP搭建实战

    目录  一、Docker-compose简介 1.前言 2.概述 二、Docker-compose安装 安装源获取 安装包下载 三、YAML文件格式及编写注意事项 1.简介 2.使用方法 四、Docker Compose 常用命令 五、Docker Compose 配置常用字段 六、Docker-compose搭建LNMP实战         我们知道使用一个Dockerfile模板文件可以定

    2024年02月12日
    浏览(36)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包