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…...
C++初阶-list的底层
目录 1.std::list实现的所有代码 2.list的简单介绍 2.1实现list的类 2.2_list_iterator的实现 2.2.1_list_iterator实现的原因和好处 2.2.2_list_iterator实现 2.3_list_node的实现 2.3.1. 避免递归的模板依赖 2.3.2. 内存布局一致性 2.3.3. 类型安全的替代方案 2.3.…...
Golang 面试经典题:map 的 key 可以是什么类型?哪些不可以?
Golang 面试经典题:map 的 key 可以是什么类型?哪些不可以? 在 Golang 的面试中,map 类型的使用是一个常见的考点,其中对 key 类型的合法性 是一道常被提及的基础却很容易被忽视的问题。本文将带你深入理解 Golang 中…...
理解 MCP 工作流:使用 Ollama 和 LangChain 构建本地 MCP 客户端
🌟 什么是 MCP? 模型控制协议 (MCP) 是一种创新的协议,旨在无缝连接 AI 模型与应用程序。 MCP 是一个开源协议,它标准化了我们的 LLM 应用程序连接所需工具和数据源并与之协作的方式。 可以把它想象成你的 AI 模型 和想要使用它…...
Python爬虫实战:研究feedparser库相关技术
1. 引言 1.1 研究背景与意义 在当今信息爆炸的时代,互联网上存在着海量的信息资源。RSS(Really Simple Syndication)作为一种标准化的信息聚合技术,被广泛用于网站内容的发布和订阅。通过 RSS,用户可以方便地获取网站更新的内容,而无需频繁访问各个网站。 然而,互联网…...
ESP32读取DHT11温湿度数据
芯片:ESP32 环境:Arduino 一、安装DHT11传感器库 红框的库,别安装错了 二、代码 注意,DATA口要连接在D15上 #include "DHT.h" // 包含DHT库#define DHTPIN 15 // 定义DHT11数据引脚连接到ESP32的GPIO15 #define D…...
12.找到字符串中所有字母异位词
🧠 题目解析 题目描述: 给定两个字符串 s 和 p,找出 s 中所有 p 的字母异位词的起始索引。 返回的答案以数组形式表示。 字母异位词定义: 若两个字符串包含的字符种类和出现次数完全相同,顺序无所谓,则互为…...
实现弹窗随键盘上移居中
实现弹窗随键盘上移的核心思路 在Android中,可以通过监听键盘的显示和隐藏事件,动态调整弹窗的位置。关键点在于获取键盘高度,并计算剩余屏幕空间以重新定位弹窗。 // 在Activity或Fragment中设置键盘监听 val rootView findViewById<V…...
现有的 Redis 分布式锁库(如 Redisson)提供了哪些便利?
现有的 Redis 分布式锁库(如 Redisson)相比于开发者自己基于 Redis 命令(如 SETNX, EXPIRE, DEL)手动实现分布式锁,提供了巨大的便利性和健壮性。主要体现在以下几个方面: 原子性保证 (Atomicity)ÿ…...
Linux 中如何提取压缩文件 ?
Linux 是一种流行的开源操作系统,它提供了许多工具来管理、压缩和解压缩文件。压缩文件有助于节省存储空间,使数据传输更快。本指南将向您展示如何在 Linux 中提取不同类型的压缩文件。 1. Unpacking ZIP Files ZIP 文件是非常常见的,要在 …...
Selenium常用函数介绍
目录 一,元素定位 1.1 cssSeector 1.2 xpath 二,操作测试对象 三,窗口 3.1 案例 3.2 窗口切换 3.3 窗口大小 3.4 屏幕截图 3.5 关闭窗口 四,弹窗 五,等待 六,导航 七,文件上传 …...
