docker 安装 elasticsearch logstash并使用kibana

elasticsearch

Create a new docker network.

docker network create elastic

拉取镜像

docker pull elasticsearch:8.6.2

or

docker pull docker.elastic.co/elasticsearch/elasticsearch:8.11.1

8.14.3

 docker run -d --name elasticsearch --net elastic -e ES_JAVA_OPTS="-Xms512m -Xmx512m" -e "discovery.type=single-node"  \
 -p 9200:9200 -p 9300:9300 \
 -v /usr/local/docker/elasticsearch/8.14.3/plugins:/usr/share/elasticsearch/plugins \
 -v /usr/local/docker/elasticsearch/8.14.3/config:/usr/share/elasticsearch/config  7a6696851b5f 
docker run -d --name elasticsearch --net elastic -e ES_JAVA_OPTS="-Xms512m -Xmx512m" -e "discovery.type=single-node"   -p 9200:9200 -p 9300:9300 7a6696851b5f -v /usr/local/docker/elasticsearch/8.14.3/plugins:/usr/share/elasticsearch/plugins -v /usr/local/docker/elasticsearch/8.14.3/config:/usr/share/elasticsearch/config \

ES_JAVA_OPTS="-Xms128m -Xmx128m" 设置内存大小
discovery.type=single-node 单机模式
-e :设置网络

根据上面的命令直接启动,可能会启动后没多久就自动关闭了,因为上面挂载了文件,找不到一些配置文件,需要我们先随便启动一个es容器,把容器内的配置文件像复制到我们宿主指定文件内;然后把这个容器删掉,重新启动一个

docker cp eee1b3c8372f:/usr/share/elasticsearch/config/. /usr/local/docker/elasticsearch/config/

在这里插入图片描述
然后再用上面的启动命令,就可以了

访问elasticsearch 后台页面:
elasticsearch无法访问ip:9200:在这里插入图片描述
1.进入容器 docker exec -it 容器id /bin/bash 如果需要进去容器提示没有权限也可以使用
docker exec -it --user='root' 容器id /bin/bash

2.进入/usr/share/elasticsearch/config 目录 修改elasticsearch.yml

vim elasticsearch.yml

如果提示没有vi或者vim ,那么可以输入

 apt-get update 
apt-get install vim 

如果遇到容器内部提示没有权限:
E: List directory /var/lib/apt/lists/partial is missing. - Acquire (13: Permission denied)
把进入容器命令用:docker exec -u 0 -it eee1b3c8372f /bin/bash
在这里插入图片描述
然后再容器中输入:

 apt-get update 
apt-get install vim 

xpack.security.enabled: false 改成 false

重启容器

docker restart 容器id 

在这里插入图片描述

新版本8.14.3提示需要token
在这里插入图片描述
进入容器内部
输入命令

bin\elasticsearch-create-enrollment-token.bat --scope kibana

输入

elasticsearch-create-enrollment-token --scope kibana

在这里插入图片描述

elasticsearch-create-enrollment-token --scope kibana

报错
在这里插入图片描述
java.security.cert.CertificateException: No subject alternative names matching IP address 172.17.0.8 found

bin\kibana-verification-code.bat

kibana-verification-code

#关闭csp
csp.strict: false
#设置中文
i18n.locale: “zh-CN”

kibana

docker pull kibana:8.6.2

or

docker pull docker.elastic.co/kibana/kibana:8.11.1

启动容器

docker run --name kibana-8.6.2  --net elastic -d -p 5601:5601 kibana:8.6.2

上面没有挂在配置文件:需要挂载的话:可以先启动一个空的容器,把容器里面的配置复制到我们宿主上

docker run -d --name  kibana8.14.3 -p 5601:5601 6f3410f8626d
docker cp 3e7890e009a8:/usr/share/kibana/config /usr/local/docker/kibana/config/
// 最终完整启动
docker run -d --name kibana8.14.3  --network elastic -p 5601:5601 -v /usr/local/docker/kibana/data:/usr/share/kibana/data -v /usr/local/docker/kibana/config:/usr/share/kibana/config 6f3410f8626d
// 最终完整启动 2024年7月25日13:40:22
docker run -d --name  kibana8.14.3   -p 5601:5601  --network elastic -v /usr/local/docker/kibana/config:/usr/share/kibana/config  6f3410f8626d

访问后台地址
http://192.168.170.130:5601/

在这里插入图片描述
查看es连接上kibana了没 :
ip:9200/.kibana
在这里插入图片描述

docker elasticsearch 8.6.2 添加ik 8.6.1插件之后重启失败

把下载的ik分词插件复制到容器的plugins文件中,

docker cp ik/ 070e30b37156:/usr/share/elasticsearch/plugins/

修改ik文件中的plugin-descriptor.properties
把文件中的version改为你的elasticsearch的版本

或者复制到容器前,提前修改在复制到容器中也可以
在这里插入图片描述

在这里插入图片描述
重启容器,就不会启动失败了

docker restart 容器id 

启动kibana 8.4.13报错

root@waper97-VMware-Virtual-Platform:/var/lib/docker/overlay2# docker run -d --name  kibana8.14.3 -p 5601:5601 6f3410f8626d
docker: Error response from daemon: error creating overlay mount to /var/lib/docker/overlay2/5313b56bd92e757376eeed29f2c123eedd3cdc6f690d6ba1a806730cd59bf1d1-init/merged: too many levels of symbolic links.

重启docker解决的hh

[2024-07-16T03:56:00.616+00:00][FATAL][root] Reason: Unable to write to UUID file at /usr/share/kibana/data/uuid. Ensure Kibana has sufficient permissions to read / write to this file.  Error was: EACCES
Error: Unable to write to UUID file at /usr/share/kibana/data/uuid. Ensure Kibana has sufficient permissions to read / write to this file.  Error was: EACCES
    at writeUuidToFile (/usr/share/kibana/node_modules/@kbn/core-environment-server-internal/src/resolve_uuid.js:93:11)
    at resolveInstanceUuid (/usr/share/kibana/node_modules/@kbn/core-environment-server-internal/src/resolve_uuid.js:55:5)
    at EnvironmentService.preboot (/usr/share/kibana/node_modules/@kbn/core-environment-server-internal/src/environment_service.js:66:17)
    at Server.preboot (/usr/share/kibana/node_modules/@kbn/core-root-server-internal/src/server.js:155:32)
    at Root.preboot (/usr/share/kibana/node_modules/@kbn/core-root-server-internal/src/root/index.js:47:14)
    at bootstrap (/usr/share/kibana/node_modules/@kbn/core-root-server-internal/src/bootstrap.js:95:29)
    at Command.<anonymous> (/usr/share/kibana/src/cli/serve/serve.js:242:5)

原因是挂载的kibana config目录未授权,对其进行授权即可。

logstash

同样的启动容器 复制配置文件到宿主:

docker cp d23d53cdc85d835c53880fcf855cd0ec001605f7e61c7d9e07f90f3301f77053:/usr/share/logstash/config .

授权

chmod -R 777 /usr/local/docker/logstash

docker run --name logstash -itd docker.elastic.co/logstash/logstash:8.13.4

最终

docker run  -d --name logstash  -p 9600:9600 -p 5044:5044  --net elastic --privileged=true \
-v /usr/local/docker/logstash/pipeline:/usr/share/logstash/pipeline \
-v /usr/local/docker/logstash/config:/usr/share/logstash/config  e98144fd7d13 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值