docker快速安装Es和kibana

news/2024/7/7 5:56:01 标签: docker, elasticsearch, docker es, docker kinaba

文章目录

    • 概要
    • 一、Es
    • 二、kibana
    • 三、dcoker compose管理
    • 四、参考

概要

在工作过程中,经常需要测试环境搭建Es环境,本文基于Es V8.12.2来演示如何快速搭建单节点Es和kibana。

服务器默认已按装docker

一、Es

1:拉取镜像

docker pull elasticsearch:8.12.2

2:准备环境

mkdir -p /home/docker/es  #创建挂载目录
mkdir -p /home/docker/es/logs
chmod 777 /home/docker/es/logs #授权
mkdir -p /home/docker/es/data
chmod 777 /home/docker/es/data #授权
docker run -d --name es_temp -p 9200:9200 -p 9300:9300 elasticsearch:8.12.2 #起一个临时容器
docker cp es_temp:/usr/share/elasticsearch/config /home/docker/es/  #复制Es配置文件
docker rm es_temp #删除临时容器

3:修改配置文件
vim /home/docker/es/config/elasticsearch.yml
配置文件默认是集群配置,而我们测试环境只需单节点,所以要调整如下:

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

#----------------------- BEGIN SECURITY AUTO CONFIGURATION -----------------------
#
# The following settings, TLS certificates, and keys have been automatically
# generated to configure Elasticsearch security features on 20-03-2024 19:23:28
#
# --------------------------------------------------------------------------------

# Enable security features
xpack.security.enabled: false  #关闭认证

xpack.security.enrollment.enabled: true

# Enable encryption for HTTP API client connections, such as Kibana, Logstash, and Agents
xpack.security.http.ssl:
  enabled: true
  keystore.path: certs/http.p12

# Enable encryption and mutual authentication between cluster nodes
xpack.security.transport.ssl:
  enabled: true
  verification_mode: certificate
  keystore.path: certs/transport.p12
  truststore.path: certs/transport.p12
# Create a new ciluster with the current node only
discovery.type: single-node  #单节点模式
# Additional nodes can still join the cluster later
#cluster.initial_master_nodes: ["986f0573b289"]

#----------------------- END SECURITY AUTO CONFIGURATION -------------------------

4:启动容器

docker run --privileged -d --name es -e ES_JAVA_OPTS="-Xms512m -Xmx512m" -v /home/docker/es/config:/usr/share/elasticsearch/config -v /home/docker/es/data:/usr/share/elasticsearch/data -v /home/docker/es/logs:/usr/share/elasticsearch/logs -p 9200:9200 -p 9300:9300 elasticsearch:8.12.2

5:检测

curl -X GET http://127.0.0.1:9200/_cluster/health?pretty
{
  "cluster_name" : "docker-single",
  "status" : "green",
  "timed_out" : false,
  "number_of_nodes" : 1,
  "number_of_data_nodes" : 1,
  "active_primary_shards" : 0,
  "active_shards" : 0,
  "relocating_shards" : 0,
  "initializing_shards" : 0,
  "unassigned_shards" : 0,
  "delayed_unassigned_shards" : 0,
  "number_of_pending_tasks" : 0,
  "number_of_in_flight_fetch" : 0,
  "task_max_waiting_in_queue_millis" : 0,
  "active_shards_percent_as_number" : 100.0
}

二、kibana

与Es兼容的kibana版本,按需拉取镜像即可。
1:拉取镜像

docker pull kibana:8.12.2

2:启动容器
kibana就不挂载了,其配置文件/usr/share/kibana/config/kibana.yml,也可以挂载出来做一些配置。

docker run -d --name kibana -p 5601:5601 \
-e ELASTICSEARCH_HOSTS=http://200.200.107.192:9200 \ #Es Url
-e ELASTICSEARCH_USERNAME=root \  #Es 账号,Es不开启认证可不设置
-e ELASTICSEARCH_PASSWORD=123456  \ #Es 密码 ,Es不开启认证可不设置
-e I18N_LOCALE=zh-CN \ #汉化
kibana:8.12.2

3:检测
浏览器访问宿主机ip:5601,即可验证,成功如下:
kibana

三、dcoker compose管理

我们可以用docker compose管理es和kibana。

mkdir -p /etc/docker
vim /etc/docker/docker-compose.yml

内容如下:

# yaml 配置
version: '3'
services:
  es:
    image: "elasticsearch:8.12.2"
    privileged: true
    ports:
      - "9200:9200"
      - "9300:9300"
    volumes:
      - "/home/docker/es/config:/usr/share/elasticsearch/config"
      - "/home/docker/es/data:/usr/share/elasticsearch/data"
      - "/home/docker/es/logs:/usr/share/elasticsearch/logs"
    environment:
      - ES_JAVA_OPTS=-Xms512m -Xmx512m
      - TZ=Asia/Shanghai
    container_name: "es"
  kibana_srv:
    image: "kibana:8.12.2"
    ports:
      - "5601:5601"
    environment:
      - ELASTICSEARCH_HOSTS=http://200.200.107.192:9200
      - ELASTICSEARCH_USERNAME=root
      - ELASTICSEARCH_PASSWORD=123456
      - I18N_LOCALE=zh-CN
    container_name: "kibana"
docker compose -f /etc/docker/docker-compose.yml up es
docker compose -f /etc/docker/docker-compose.yml stop es
docker compose -f /etc/docker/docker-compose.yml up kibana_srv
docker compose -f /etc/docker/docker-compose.yml stop kibana_srv

四、参考

1]:Docker 容器中运行 Kibana
2]:Kibana 的安装


http://www.niftyadmin.cn/n/5452875.html

相关文章

了解什么是Docker

了解什么是Docker Docker是一个开源的容器化平台,它使得开发者可以将应用程序及其依赖项打包到一个轻量级的、可移植的容器中。这些容器可以在任何支持Docker的系统上运行,确保了应用程序在不同环境之间的一致性和可移植性。,同时享受隔离性…

vue router.js 传值,根据不同type显示不同内容

vue router.js 传值,根据不同type显示不同内容 el-bread 封装 router.js import Vue from vue import Router from vue-router// 路由前缀 const { prefixBasePath } require(../../config/basePath)// 解决重复点击一个路由报错问题 const originalPush Router…

我的创作纪念日 ---- 2024/3/26

前言 2024.3.26是我在CSDN成为创作者的第128天,也是我第一次真正在网上创作的第128天 当我还在日常创作时,突然发现我收到了一封信 我想我可以分享一下这段时间的感想以及收获 机缘 在CSDN的这段时间里,我学习到了很多知识,也…

华为OD机试 - 最长广播效应 - 广度优先搜索BFS(Java 2024 C卷 100分)

华为OD机试 2024C卷题库疯狂收录中,刷题点这里 专栏导读 本专栏收录于《华为OD机试(JAVA)真题(A卷B卷C卷)》。 刷的越多,抽中的概率越大,每一题都有详细的答题思路、详细的代码注释、样例测试…

数据分析之Power Pivot多表数据建模

Power Pivot 介绍: 可以融合多个数据表可夺标关联搭建复杂数据模型一次建模,一键刷新DAX函数编写公式计算可将数据模型轻松移植到PBI和SQL中 1.将数据导入power pivot(power pivot------添加到数据模型) 2.导入其他表格,并有一定的关联 导入…

云原生周刊:Kubernetes v1.30 一瞥 | 2024.3.25

开源项目推荐 Retina Retina 是一个与云无关的开源 Kubernetes 网络可观测平台,它提供了一个用于监控应用程序运行状况、网络运行状况和安全性的集中中心。它为集群网络管理员、集群安全管理员和 DevOps 工程师提供可操作的见解,帮助他们了解 DevOps、…

jupyter notebook指定虚拟环境

要在 Jupyter notebook 中使用特定的虚拟环境,可以按照以下步骤操作: 1、首先,确保已经安装了 Jupyter notebook 和虚拟环境工具(比如 virtualenv 或 conda)。 2、在命令行中,激活你想要使用的虚拟环境。…

Redis数据类型bitMap以及解决的相关实际需求

在Redis数据库中,Bitmap(位图)是一种特殊的数据结构,它不是一个独立的数据类型,而是基于String类型实现的。Bitmap主要用于存储大量二进制位(0或1)的数据,这些位可以代表不同的状态或…