Docker上安装Elasticsearch、Kibana 和IK分词器

Docker上安装Elasticsearch、Kibana 和IK分词器

随着大数据和日志管理的兴起,Elasticsearch和Kibana成为了许多开发者和系统管理员首选的工具,我接下来使用的版本是 8.11.0 ,我实测测试过都能成功安装的版本有:7.6.28.1.08.6.0等。
在这里插入图片描述

安装Elasticsearch

Docker仓库官网

步骤一:创建Docker网络

为了让Elasticsearch和Kibana能够相互通信,我们需要创建一个Docker网络。使用以下命令创建一个名为es-network的网络:

docker network create es-network
步骤二:创建Elasticsearch挂载目录
mkdir -p /data/es/{config,data,plugins}
chmod 777 /data/es/{config,data,plugins}
步骤三:创建配置文件elasticsearch.yml
vim /data/es/config/elasticsearch.yml

将下面内容复制到里面:

cluster.name: "docker-cluster"
network.host: 0.0.0.0
xpack.security.enabled: false
步骤四:安装Elasticsearch

现在,我们将安装Elasticsearch。在命令行中运行以下Docker命令:

docker run -d \--name elasticsearch \--network es-network \--restart=always \-p 9200:9200 \-p 9300:9300 \-v /data/es/config/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml \-v /data/es/data:/usr/share/elasticsearch/data \-v /data/es/plugins:/usr/share/elasticsearch/plugins \-e "discovery.type=single-node" \-e "ES_JAVA_OPTS=-Xms512m -Xmx512m" \elasticsearch:8.11.0

-d: 以“后台”模式运行容器,即让容器在后台运行,而不会占用您的终端或命令行界面。
--name elasticsearch: 给这个运行的容器一个名称,这里是“elasticsearch”。
--network es-network: 将这个容器连接到名为“es-network”的自定义网络。
--restart=always: 设置自动重启策略。
-v : 这个卷挂载指令将宿主机上的文件或目录挂载到容器内部的相应位置。
-e "discovery.type=single-node" : 这里设置 Elasticsearch 的发现类型为单节点模式。
-e "ES_JAVA_OPTS=-Xms512m -Xmx512m": 设置环境变量来定义 JVM 的启动参数。

这将在Docker容器中启动Elasticsearch,并通过http://{IP}:9200/使其对外可访问。
在这里插入图片描述

安装Kibana

步骤一:创建Kibana挂载目录
mkdir -p  /data/kibana/{config,data}
# 授权
chmod 777 /data/kibana/{config,data}
步骤二:创建配置文件
vim /data/kibana/config/kibana.yml

将下面内容复制到里面:

server.host: "0.0.0.0"
server.shutdownTimeout: "5s"
elasticsearch.hosts: [ "http://elasticsearch:9200" ]
monitoring.ui.container.elasticsearch.enabled: true
步骤三:安装Kibana

接下来,我们将安装Kibana,版本需要和elasticsearch一致。运行以下Docker命令:

docker run -d \
--name kibana \
--network es-network \
--restart=always \
-p 5601:5601 \
-v /data/kibana/config/kibana.yml:/usr/share/kibana/config/kibana.yml \
kibana:8.11.0

这会启动Kibana,并通过http://{IP}:5601对外提供访问。请注意,我们通过ELASTICSEARCH_HOSTS环境变量指定了Elasticsearch的地址。
在这里插入图片描述

安装IK分词器(离线)

现在,让我们为Elasticsearch安装IK分词器,我这里采用的是离线的方式安装,因为在线从GitHub上下载速度非常慢,所以我们先科学上网把ik包下载下来再上传到容器中。

步骤一:下载对应版本的IK压缩包

elasticsearch-analysis-ik下载地址

下面的几个版本都实测了,都是可以使用的:
在这里插入图片描述

步骤二:上传到服务器中

我们前面有把elasticsearchplugins 目录挂载在宿主机的/data/es/plugins下,在plugins下创建ik目录,然后直接上传到ik目录即可。

mkdir -p /data/es/plugins/ik
cd /data/es/plugins/ik/
步骤三:解压IK压缩包
unzip elasticsearch-analysis-ik-8.11.0.zip
rm -rf elasticsearch-analysis-ik-8.11.0.zip
步骤四:重启es容器
docker restart  elasticsearch
步骤五:验证安装

现在,您可以通过访问http://{IP}:5601来访问Kibana来操作是否安装成功。
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/413576.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

接口自动化测试框架设计

文章目录 接口测试的定义接口测试的意义接口测试的测试用例设计接口测试的测试用例设计方法postman主要功能请求体分类JSON数据类型postman内置参数postman变量全局变量环境变量 postman断言JSON提取器正则表达式提取器Cookie提取器postman加密接口签名 接口自动化测试基础getp…

AJAX和Axios异步框架

AJAX:Asynchronous JavaScript And XML 异步的JavaScript和XML 作用:1、与服务器进行数据交换,通过AJAX可以给服务器发送请求,并获取服务器响应数据。使用了AJAX和服务器进行通信,就可以使用ajax和html来代替jsp页面了…

图形化编程:开启无代码时代的编程之旅

在当今数字化时代,编程已经成为一项重要的技能。然而,对于许多初学者和非专业人士来说,传统的文本编程语言往往显得复杂和难以理解。图形化编程,作为一种新兴的编程范式,正逐渐改变这一现状,为更多人打开了…

【51单片机】数码管的静态与动态显示(含消影)

数码管在现实生活里是非常常见的设备,例如 这些数字的显示都是数码管的应用。 目录 静态数码管:器件介绍:数码管的使用:译码器的使用:缓冲器: 实现原理:完整代码: 动态数码管&#…

Flutter:跨平台移动应用开发的未来

Flutter:跨平台移动应用开发的未来 引言 Flutter的背景和概述 Flutter是由Google开发的一个开源UI工具包,用于构建漂亮、快速且高度可定制的移动应用程序。它于2017年首次发布,并迅速引起了开发者们的关注。Flutter采用了一种全新的方法来…

GMT学习记录

我主要根据GMT中文手册一步一步学习的!!!!B站视频介绍的是5.0老版本仅仅建立基础理解这个软件。 好的,学了一点发现直接把gmt转为shp,就得到我想的文件 gmt数据转shape格式数据 - 简书 (jianshu.com) 命…

如何在 ASP.NET Core 配置请求超时中间件

写在前面 本文参考官方文档,使用Asp.net core 8.0 的最小API 模板项目,配置超时中间件。 超时中间件可用于所有类型的ASP.NET Core应用:最小 API、带控制器的 Web API、MVC 和 Razor Pages。请求超时的属性位于命名空间 Microsoft.AspNetCo…

WAF攻防相关知识点总结2-代码免杀绕过

WAF的检测除了有对于非正常的流量检测外还对于非正常的数据包特征进行检测 以宝塔为例 在宝塔的后台可以放置一句话木马的文件 宝塔不会对于这个文件进行拦截,但是一旦我们使用菜刀蚁剑等webshell工具去进行连接的时候,数据报中有流量特征就会被拦截 …

Elastic Stack 8.12:通过对 ES|QL 等的改进增强了向量搜索

作者:来自 Elastic Tyler Perkins, Shani Sagiv, Gilad Gal, Ninoslav Miskovic Elastic Stack 8.12 构建于 Apache Lucene 9.9(有史以来最快的 Lucene 版本)之上,基于我们对标量量化和搜索并发性的贡献,为文本、向量和…

机器学习(一)—— 简介

参考书籍《机器学习和深度学习:原理、算法、实战》 文章目录 1 工业界流行的机器学习算法2 机器学习3 深度学习4 预备知识5 监督学习与无监督学习 1 工业界流行的机器学习算法 线型回归逻辑回归决策树随机森林梯度提升机人工神经网络卷积神经网络循环神经网络贝叶…

HTTP/HTTPS代理IP在多线程爬虫项目中的实践

在多线程爬虫项目中,HTTP/HTTPS代理IP的实践主要包括以下几个关键步骤: 1. 收集代理IP资源: - 从免费或付费代理IP提供商、公开代理列表网站(如西刺代理、无忧代理等)抓取代理IP和端口信息。 - 存储这些IP到数据库或者…

开发GPT的应用程序流程

开发一个基于GPT的应用程序(GPT APP)涉及到与GPT模型的集成,用户界面设计,以及应用程序的功能实现。以下是一个一般的开发流程,希望对大家有所帮助。北京木奇移动技术有限公司,专业的软件外包开发公司&…