docker安装elasticsearch+kibana

目录

1.安装es

2.安装kibana

3.kibana监控es


1.安装es

拉取镜像

复制代码
docker pull elasticsearch:7.6.1

创建存放配置文件、数据、插件的各个文件夹

复制代码
mkdir -p /home/docker/elasticsearch/config
mkdir -p /home/docker/elasticsearch/data
mkdir -p /home/docker/elasticsearch/plugins

创建好之后需要给/home/docker/elasticsearch目录赋予777权限 不然启动会失败

复制代码
chmod -R 777 /home/docker/elasticsearch/

创建es的配置文件:

复制代码
vi /home/docker/elasticsearch/config/elasticsearch.yml

在配置文件中添加以下配置:

注意是yml格式,kv之间有空格隔开。

复制代码
#集群名称
cluster.name: "docker-cluster" 
#节点名称
node.name: node1
#http端口
http.port: 9200
#访问权限
network.host: 0.0.0.0
http.host: 0.0.0.0
xpack.security.enabled: true

启动:

复制代码
docker run --name elasticsearch -p 9200:9200  -p 9300:9300 \
 -e "discovery.type=single-node" \
 -e ES_JAVA_OPTS="-Xms512m -Xmx512m" \
 -v /home/docker/elasticsearch/config/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml \
 -v /home/docker/elasticsearch/data:/usr/share/elasticsearch/data \
 -v /home/docker/elasticsearch/plugins:/usr/share/elasticsearch/plugins \
 --restart always\
 -d elasticsearch:7.6.1
  • -p 端口映射

  • -e discovery.type=single-node 单点模式启动

  • -e ES_JAVA_OPTS="-Xms512m -Xmx512m":设置启动占用的内存范围

  • -v 目录挂载

  • --restart always docker容器启动时自动启动

  • -d 后台运行

2.安装kibana

拉取镜像:

复制代码
docker pull kibana:7.6.1

创建kibana的配置文件:

复制代码
mkdir -p /home/docker/elasticsearch/kibana/config/
vi /home/docker/elasticsearch/kibana/config/kibana.yml

添加以下配置:

复制代码
server.name: kibana
server.host: "0"
elasticsearch.hosts: [ "http://172.16.2.109:9200" ]
xpack.monitoring.ui.container.elasticsearch.enabled: true
i18n.locale: "zh-CN" #汉化

启动kibana:

复制代码
docker run -d \
  --name=kibana \
  --restart=always \
  -p 5601:5601 \
  -v /home/docker/elasticsearch/kibana/config/kibana.yml:/usr/share/kibana/config/kibana.yml \
  kibana:7.6.1

3.kibana监控es

因为xpack,只要kibana连接的是当前es,那么打开kibana的时候会要求我们输入es的用户名和密码,那么问题来了,es的用户名密码怎么设置喃?

进入es的容器,运行下面脚本:

./bin/elasticsearch-setup-passwords interactive

然后会提示要求我们按照顺序输入以下几个账号的用户名和密码:

elastic、apm_system、kibana、logstash_system、beats_system、remote_monitoring_user

然后记得在kibana的配置文件里面也配置好es的用户名和密码:

elasticsearch.username: "elastic"

elasticsearch.password: "123456"

这时候再登录kibana输入es的用户名密码即可。

点击左侧工具栏的监控即可监控es:

初次进入监控的时候会提示没有配置好监控,根据提示步骤一步步的走即可:

唯一需要注意的是,在启动metricbeat的时候启动命令里记得跟上es的用户名密码,否则校验不通过会直接报错:

docker run -d docker.elastic.co/beats/metricbeat:7.6.1 setup -E setup.kibana.host=192.168.31.10:5601 -E output.elasticsearch.hosts=["192.168.31.10:9200"] -E output.elasticsearch.username="elastic" -E output.elasticsearch.password="123456"

相关推荐
Joren的学习记录21 分钟前
【Linux运维大神系列】Docker详解(二)
linux·运维·docker
Fortune_yangyang36 分钟前
Docker 入门指南:从 “容器小白” 到快速上手
运维·docker·容器
Yng Forever41 分钟前
解决Elasticsearch端口冲突:修改cpolar端口
大数据·elasticsearch·搜索引擎
HIT_Weston1 小时前
68、【Ubuntu】【Hugo】搭建私人博客:方案分析(二)
linux·运维·ubuntu
cws2004012 小时前
HeidiSQL 使用操作说明书
运维·数据库·windows·mysql·heidisql
prettyxian2 小时前
【linux】进程概念(1)PCB、系统调用与 proc 目录全解析
linux·运维·服务器
乾元2 小时前
用 AI 做联动:当应用层出现问题,网络如何被“自动拉入决策回路”
运维·开发语言·网络·人工智能·ci/cd·自动化
youxiao_902 小时前
Docker 容器(一)
运维·docker·容器
悲喜自渡7212 小时前
Docker指令自存
java·docker·eureka
小尧嵌入式3 小时前
Linux进程线程与进程间通信
linux·运维·服务器·c语言·开发语言·数据结构·microsoft