Docker安装Elasticsearch相关软件安装
Docker安装Elasticsearch相关软件安装
本文将介绍通过 Docker 的方式安装 Elasticsearch 相关的软件。
1、Docker安装Elasticsearch
1.1 搜索镜像
$ docker search elasticsearch
$ docker search elasticsearch:7.12.1


1.2 拉取镜像
$ docker pull elasticsearch:7.12.1

1.3 创建挂载目录
$ mkdir -p /home/zhangshixing/es/{config,data,logs}
1.4 赋予权限
$ chown -R 1000:1000 /home/zhangshixing/es
1.5 创建配置文件
$ cd /home/zhangshixing/es/config
$ touch elasticsearch.yml
$ vim elasticsearch.yml
# 配置内容
cluster.name: "my-es"
network.host: 0.0.0.0
http.port: 9200
http.cors.enabled: true
http.cors.allow-origin: "*"
http.cors.enabled: true:此步为允许elasticsearch跨域访问,默认是false。
http.cors.allow-origin: "*":表示跨域访问允许的域名地址(*表示任意)。
1.6 启动 elasticsearch 容器
# 9200端口(Web管理平台端口),9300(服务默认端口)
$ docker run -it -d -p 9200:9200 -p 9300:9300 --name es -e ES_JAVA_OPTS="-Xms1g -Xmx1g" -e "discovery.type=single-node" --restart=always -v /home/zhangshixing/es/config/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml -v /home/zhangshixing/es/data:/usr/share/elasticsearch/data -v /home/zhangshixing/es/logs:/usr/share/elasticsearch/logs elasticsearch:7.12.1
–name:表示容器名称
-d:后台运行容器,并返回容器ID
-e:指定容器内的环境变量
-p:指定端口映射,格式为主机(宿主)端口:容器端口

1.7 测试
浏览器输入地址访问:http://192.168.2.186:9200/

如果启动失败可以通过docker logs -f 容器id查看日志信息进行解决。
2、安装ElasticSearch-Head
2.1 搜索镜像
$ docker search elasticsearch-head
$ docker search mobz/elasticsearch-head:5


2.2 获取镜像
$ docker pull mobz/elasticsearch-head:5

2.3 创建容器
$ docker create --name elasticsearch-head -p 9100:9100 mobz/elasticsearch-head:5

2.4 启动
$ docker start 容器id

2.5 测试

3、IK分词器安装
IK分词器下载地址 https://github.com/medcl/elasticsearch-analysis-ik/releases
$ unzip elasticsearch-analysis-ik-7.12.1.zip
$ mv elasticsearch-analysis-ik-7.12.1 ik

$ docker cp ./ik es:/usr/share/elasticsearch/plugins
# 重启容器
$ docker restart 56359ee1a6f8
进行测试:

解决:
安装包路径下的 _site/vendor.js6886行
contentType: "application/x-www-form-urlencoded",
改成
contentType: "application/json;charset=UTF-8",7573行
var inspectData = s.contentType === "application/x-www-form-urlencoded" &&
改成
var inspectData = s.contentType === "application/json;charset=UTF-8" &&
# 进入容器
$ docker exec -it a4a0678c53b8 /bin/bash

也可以不进入容器,在外面修改:
# 将容器中的配置文件复制到宿主机进行修改
$ docker cp 容器ID:/usr/src/app/_site/vendor.js /usr/local/
# 将宿主机中修改后的文件复制到容器中
$ docker cp /usr/local/vendor.js 容器ID:/usr/src/app/_site/
# 安装vim编辑器
$ apt-get update
$ apt-get install vim
然后进行修改文件,进行重新启动。

4、Kibana下载安装
4.1 查看镜像
$ docker search kibana
$ docker search kibana:7.12.1


4.2 获取镜像
$ docker pull kibana:7.12.1

4.3 获取elasticsearch容器 ip
$ docker inspect --format '{{ .NetworkSettings.IPAddress }}' es

4.4 创建 kibana 配置文件
$ mkdir -p /home/zhangshixing/kibana/
$ vim /home/zhangshixing/kibana/kibana.yml
配置内容:
# Default Kibana configuration for docker target
server.name: kibana
server.host: "0"
elasticsearch.hosts: ["http://172.17.0.4:9200"]
xpack.monitoring.ui.container.elasticsearch.enabled: true

4.5 运行 kibana
$ docker run -d --restart=always --log-driver json-file --log-opt max-size=100m --log-opt max-file=2 --name kibana -p 5601:5601 -v /home/zhangshixing/kibana/kibana.yml:/usr/share/kibana/config/kibana.yml kibana:7.12.1

4.6 测试
访问http://192.168.2.186:5601

5、Docker安装ElasticHD
5.1 搜索镜像
$ docker search ElasticHD

5.2 获取镜像
$ docker pull containerize/elastichd

5.3 启动
$ docker run -d -p 9800:9800 --restart=always --name elastichd containerize/elastichd

5.4 测试
访问 http://192.168.2.186:9800/

6、Docker安装Logstash
6.1 搜索镜像
$ docker search logstash
$ docker search logstash:7.12.1


6.2 获取镜像
$ docker pull logstash:7.12.1

6.3 启动logstash
$ docker run -d --restart=always --name logstash logstash:7.12.1

6.4 验证
$ docker logs -f logstash

6.5 错误解决
# 拷贝目录
$ docker cp logstash:/usr/share/logstash /home/zhangshixing/

$ chmod 777 -R /home/zhangshixing/logstash
$ vim /home/zhangshixing/logstash/config/logstash.yml
http.host: "0.0.0.0"
xpack.monitoring.elasticsearch.hosts: [ "http://192.168.2.186:9200" ]
6.6 重启
$ docker rm -f logstash
$ docker run -d --restart=always --name logstash -v /home/zhangshixing/logstash:/usr/share/logstash logstash:7.12.1

$ docker logs -f logstash

我们进入到 Logstash 安装目录,并修改 config/logstash.yml 文件。我们把 config.reload.automatic
设置为 true。

$ docker restart logstash
$ docker logs -f logstash

另外一种运行 Logstash 的方式,也是一种最为常见的运行方式,运行时指定 logstash 配置文件。
7、Docker安装Filebeat
7.1 搜索镜像
$ docker search filebeat

7.2 拉取镜像
$ docker pull docker.elastic.co/beats/filebeat:7.12.1

7.3 启动
$ mkdir -p /home/zhangshixing/filebeat
$ chmod 777 -R /home/zhangshixing/filebeat
$ cd /home/zhangshixing/filebeat
$ vim filebeat.yml
编辑的内容如下:
# 配置文件
filebeat.inputs:
- type: logenabled: truepaths:- /var/log/beat.log
output.elasticsearch:hosts: ["192.168.94.186:9200"]
$ docker run -d --name filebeat -v /home/zhangshixing/filebeat/filebeat.yml:/usr/share/filebeat/filebeat.yml -v /var/log/beat.log:/var/log/beat.log docker.elastic.co/beats/filebeat:7.12.1

$ docker logs -f c281f896b487

相关文章:
Docker安装Elasticsearch相关软件安装
Docker安装Elasticsearch相关软件安装 本文将介绍通过 Docker 的方式安装 Elasticsearch 相关的软件。 1、Docker安装Elasticsearch 1.1 搜索镜像 $ docker search elasticsearch $ docker search elasticsearch:7.12.11.2 拉取镜像 $ docker pull elasticsearch:7.12.11.…...
Ubuntu的安装与部分配置
该教程使用的虚拟机是virtuabox,镜像源的版本是ubuntu20.04.5桌面版 可通过下面的链接在Ubuntu官网下载:Alternative downloads | Ubuntu 也可直接通过下面的链接进入百度网盘下载【有Ubuntu20.04.5与hadoop3.3.2以及jdk1.8.0_162,该篇需要使…...
为什么 Splashtop 是更好用的 iOS 远程桌面应用
全球远程桌面软件市场最近达到19.2亿美元,表明使用任意设备实现随处远程控制越来越受欢迎。 近年来,企业的运营方式发生了重大改变,远程桌面软件已成为广泛使用的解决方案。Splashtop 是目前最好用的远程桌面工具之一,安全可靠且…...
[SQL挖掘机] - 字符串函数 - lower
介绍: lower函数是mysql中的一个字符串函数,其作用是将给定的字符串转换为小写形式。它接受一个字符串作为参数,并返回一个新的字符串,其中所有的字母字符均被转换为小写形式。 使用lower函数可以帮助我们在字符串处理中实现标准化和规范化…...
什么是Koala?
Koala 介绍 koala 是一个前端预处理器语言图形编译工具,支持 Less、Sass、Compass、CoffeeScript,帮助 web 开发者更高效地使用它们进行开发。跨平台运行,完美兼容 windows、linux、mac。 关键特性 多语言支持 支持 Less、Sass、CoffeeSc…...
阿里巴巴前端开发规范
前言 规范的目的是为了编写高质量的代码,让你的团队成员每天的心情都是愉悦的,大家在一起是快乐的。 现在软件架构的复杂性需要协同开发完成,如何高效地协同呢?无规矩不成方圆,无规范难以协同,比如…...
opencv-19 图像色彩空间转换函数cv2.cvtColor()
cv2.cvtColor() 函数是 OpenCV 中用于图像颜色空间转换的函数。它允许你将图像从一个色彩空间转换为另一个色彩空间。在 Python 中,你可以使用这个函数来实现不同色彩空间之间的转换。 函数的基本语法为: cv2.cvtColor(src, code[, dst[, dstCn]])参数…...
SpringCloudAlibaba微服务实战系列(二)Nacos配置中心
SpringCloudAlibaba Nacos配置中心 在java代码中或者在配置文件中写配置,是最不雅的,意味着每次修改配置都需要重新打包或者替换class文件。若放在远程的配置文件中,每次修改了配置后只需要重启一次服务即可。话不多说,直接干货拉…...
【Kafka源码走读】Admin接口的客户端与服务端的连接流程
注:本文对应的kafka的源码的版本是trunk分支。写这篇文章的主要目的是当作自己阅读源码之后的笔记,写的有点凌乱,还望大佬们海涵,多谢! 最近在写一个Web版的kafka客户端工具,然后查看Kafka官网,…...
Windows API遍历桌面上所有文件
要获取桌面上的图标,可以使用Windows API中的Shell API。以下是遍历桌面上所有文件的示例代码: #include <Windows.h> #include <ShlObj.h> #include <iostream> #include <vector> using namespace std;int main() {// 获取桌…...
【MySQL】基本查询(插入查询结果、聚合函数、分组查询)
目录 一、插入查询结果二、聚合函数三、分组查询(group by & having)四、SQL查询的执行顺序五、OJ练习 一、插入查询结果 语法: INSERT INTO table_name [(column [, column ...])] SELECT ...案例:删除表中重复数据 --创建…...
【Go语言】Golang保姆级入门教程 Go初学者介绍chapter1
Golang 开山篇 Golang的学习方向 区块链研发工程师: 去中心化 虚拟货币 金融 Go服务器端、游戏软件工程师 : C C 处理日志 数据打包 文件系统 数据处理 很厉害 处理大并发 Golang分布式、云计算软件工程师:盛大云 cdn 京东 消息推送 分布式文…...
mysql 自增长键值增量设置
参考文章 MySQL中auto_increment的初值和增量值设置_auto_increment怎么设置_linda公馆的博客-CSDN博客 其中关键语句 show VARIABLES like %auto_increment% set auto_increment_increment4; set auto_increment_offset2;...
【pytho】request五种种请求处理为空和非空处理以及上传excel,上传图片处理
一、python中请求处理 request.args获取的是个字典,所以可以通过get方式获取请求参数和值 request.form获取的也是个字典,所以也可以通过get方式获取请求的form参数和值 request.data,使用过JavaScript,api调用方式进行掺入jso…...
【全面解析】Windows 如何使用 SSH 密钥远程连接 Linux 服务器
创建密钥 创建 linux 服务器端的终端中执行命令 ssh-keygen,之后一直按Enter即可,这样会在将在 ~/.ssh/ 路径下生成公钥(id_rsa.pub)和私钥(id_rsa) 注意:也可以在 windows 端生成密钥,只需要保证公钥在服务器端,私钥…...
解锁新技能《基于logback的纯java版本SDK实现》
开源SDK: <!--Java通用日志组件SDK--> <dependency><groupId>io.github.mingyang66</groupId><artifactId>oceansky-logger</artifactId><version>4.3.6</version> </dependency> <!-- Java基于logback的…...
你需要知道的云原生架构体系内容
云原生(Cloud-Native)的概念在国内提及的越来越多,但大部分人对云原生的认识仅限于容器、微服务、DevOps等内容,把容器、微服务、 DevOps就等同于云原生,这显然是不对的。CNCF从其自身的角度定义了云原生技术ÿ…...
安全渗透--正则表达式
什么是正则表达式? 正则表达式是一组由字母和符号组成的特殊文本,它可以用来从文本中找出满足你想要的格式的句子。 一个正则表达式是一种从左到右匹配主体字符串的模式。 “Regular expression”这个词比较拗口,我们常使用缩写的术语“regex…...
git如何撤销commit(未push)
文章目录 前言undo commitreset current branch to here Undo Commit,Revert Commit,Drop Commit的区别 是否删除对代码的修改是否删除Commit记录是否会新增Commit记录Undo Commit不会未Push会,已Push不会不会Revert Commit会不会会Drop Com…...
Vue数组与字符串互转
一、数组转换成字符串的方法 join() var arr [A, B, C]; var str arr.join(、); console.log(str); // 输出 A、B、C toString() var arr [A, B, C]; var str arr.toString(); console.log(str); // 输出 A, B, C JSON.stringify() var arr [A, B, C]; var str JSO…...
应用升级/灾备测试时使用guarantee 闪回点迅速回退
1.场景 应用要升级,当升级失败时,数据库回退到升级前. 要测试系统,测试完成后,数据库要回退到测试前。 相对于RMAN恢复需要很长时间, 数据库闪回只需要几分钟。 2.技术实现 数据库设置 2个db_recovery参数 创建guarantee闪回点,不需要开启数据库闪回。…...
Python爬虫(一):爬虫伪装
一、网站防爬机制概述 在当今互联网环境中,具有一定规模或盈利性质的网站几乎都实施了各种防爬措施。这些措施主要分为两大类: 身份验证机制:直接将未经授权的爬虫阻挡在外反爬技术体系:通过各种技术手段增加爬虫获取数据的难度…...
【AI学习】三、AI算法中的向量
在人工智能(AI)算法中,向量(Vector)是一种将现实世界中的数据(如图像、文本、音频等)转化为计算机可处理的数值型特征表示的工具。它是连接人类认知(如语义、视觉特征)与…...
IT供电系统绝缘监测及故障定位解决方案
随着新能源的快速发展,光伏电站、储能系统及充电设备已广泛应用于现代能源网络。在光伏领域,IT供电系统凭借其持续供电性好、安全性高等优势成为光伏首选,但在长期运行中,例如老化、潮湿、隐裂、机械损伤等问题会影响光伏板绝缘层…...
今日学习:Spring线程池|并发修改异常|链路丢失|登录续期|VIP过期策略|数值类缓存
文章目录 优雅版线程池ThreadPoolTaskExecutor和ThreadPoolTaskExecutor的装饰器并发修改异常并发修改异常简介实现机制设计原因及意义 使用线程池造成的链路丢失问题线程池导致的链路丢失问题发生原因 常见解决方法更好的解决方法设计精妙之处 登录续期登录续期常见实现方式特…...
听写流程自动化实践,轻量级教育辅助
随着智能教育工具的发展,越来越多的传统学习方式正在被数字化、自动化所优化。听写作为语文、英语等学科中重要的基础训练形式,也迎来了更高效的解决方案。 这是一款轻量但功能强大的听写辅助工具。它是基于本地词库与可选在线语音引擎构建,…...
【学习笔记】erase 删除顺序迭代器后迭代器失效的解决方案
目录 使用 erase 返回值继续迭代使用索引进行遍历 我们知道类似 vector 的顺序迭代器被删除后,迭代器会失效,因为顺序迭代器在内存中是连续存储的,元素删除后,后续元素会前移。 但一些场景中,我们又需要在执行删除操作…...
android RelativeLayout布局
<?xml version"1.0" encoding"utf-8"?> <RelativeLayout xmlns:android"http://schemas.android.com/apk/res/android"android:layout_width"match_parent"android:layout_height"match_parent"android:gravity&…...
企业大模型服务合规指南:深度解析备案与登记制度
伴随AI技术的爆炸式发展,尤其是大模型(LLM)在各行各业的深度应用和整合,企业利用AI技术提升效率、创新服务的步伐不断加快。无论是像DeepSeek这样的前沿技术提供者,还是积极拥抱AI转型的传统企业,在面向公众…...
高防服务器价格高原因分析
高防服务器的价格较高,主要是由于其特殊的防御机制、硬件配置、运营维护等多方面的综合成本。以下从技术、资源和服务三个维度详细解析高防服务器昂贵的原因: 一、硬件与技术投入 大带宽需求 DDoS攻击通过占用大量带宽资源瘫痪目标服务器,因此…...
