注意:本方案没有进行数据持久化,切勿用于生产环境
1. 安装docker
docker安装可参考此 Docker 从入门到实践系列二 – Docker 安装
2. 拉取elasticsearch镜像
拉取最新版本elasticsearch
docker pull elasticsearch拉取指定版本elasticsearch,比如拉取7.11.1版本的elasticsearch
docker pull elasticsearch:7.11.13. 启动elasticsearch
docker run –name elasticsearch -p 9200:9200 -p 9300:9300 -e “discovery.type=single-node” -e ES_JAVA_OPTS=”-Xms512m -Xmx512m” -d elasticsearch:7.11.1或者
docker run –name elasticsearch -p 9200:9200 -p 9300:9300 -e “discovery.type=single-node” -e ES_JAVA_OPTS=”-Xms512m -Xmx512m” -d 54d1c07bc236运行docker镜像参数说明:
-p:端口映射
-e:设置环境变量,discovery.type=single-node(单机运行),ES_JAVA_OPTS=”-Xms512m -Xmx512m”(设置JVM参数)
-d:后台启动
–name:容器名称
54d1c07bc236:镜像id
3.1 目录结构
[root@node-123 systemd]# docker exec -it 54d1c07bc236 /bin/bash [root@54d1c07bc236 elasticsearch]# ls -l total 560 -rw-r–r– 1 elasticsearch root 3860 Feb 15 2021 LICENSE.txt -rw-r–r– 1 elasticsearch root 545323 Feb 15 2021 NOTICE.txt -rw-r–r– 1 elasticsearch root 7263 Feb 15 2021 README.asciidoc drwxr-xr-x 2 elasticsearch root 4096 Feb 15 2021 bin drwxrwxr-x 1 elasticsearch root 55 Dec 23 09:40 config drwxrwxr-x 1 elasticsearch root 19 Dec 23 08:39 data drwxr-xr-x 1 elasticsearch root 17 Feb 15 2021 jdk drwxr-xr-x 3 elasticsearch root 4096 Feb 15 2021 lib drwxrwxr-x 1 elasticsearch root 71 Dec 23 09:41 logs drwxr-xr-x 57 elasticsearch root 4096 Feb 15 2021 modules drwxrwxr-x 1 elasticsearch root 25 Dec 23 09:40 plugins目录结构
目录配置文件描述bin脚本文件,包括启动 Elasticsearch、安装插件,运行统计数据等。configelasticsearch.yml集群配置文件JDKJava 运行环境datapath.data数据文件libJava 类库logspath.logs日志文件modules包含所有 ES 模块plugins包含所有已安装插件4. 验证elasticsearch是否启动成功
linux内用curl访问: curl http://localhost:9200,输入类似如下的信息表示安装成功
{ “name”: “54d1c07bc236”, “cluster_name”: “docker-cluster”, “cluster_uuid”: “5UUvjjKKRMeQG9FZvW_mxA”, “version”: { “number”: “7.11.1”, “build_flavor”: “default”, “build_type”: “docker”, “build_hash”: “ff17057114c2199c9c1bbecc727003a907c0db7a”, “build_date”: “2021-02-15T13:44:09.394032Z”, “build_snapshot”: false, “lucene_version”: “8.7.0”, “minimum_wire_compatibility_version”: “6.8.0”, “minimum_index_compatibility_version”: “6.0.0-beta1” }, “tagline”: “You Know, for Search” }5. 插件安装
5.1 安装IK分词器
插件安装可以用elasticsearch-plugin install url命令
比如安装:elasticsearch-analysis-ik(分词器),Ik分词器版本要和ES和Kibana版本保持一致
docker进入容器命令,容器id为 54d1c07bc236
docker exec -it 54d1c07bc236 /bin/bashplugins安装步骤
cd /usr/share/elasticsearch/plugins/安装插件,elasticsearch-analysis-ik版本与elasticsearch保持一致,即7.11.1
elasticsearch-plugin install https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v7.11.1/elasticsearch-analysis-ik-7.11.1.zip退出容器
exit重启docker容器
docker restart 54d1c07bc2365.2 分词器使用验证
ik_smart:智能分词,最少切分,宁缺毋滥,保证查准率
ik_max_word:最大化分词法,最细粒度划分,尽量多的有意义的分词,保证查全率,ik_max_word分词包含 ik_smart
Postman post请求分词测试:http://ip:9200/_analyze
{ “tokenizer”: “ik_smart”, “text”: “花城广州” }结果如下:
{
“tokens”: [
{
“token”: “花城”,
“start_offset”: 0,
“end_offset”: 2,
“type”: “CN_WORD”,
“position”: 0
},
{
“token”: “广州”,
“start_offset”: 2,
“end_offset”: 4,
“type”: “CN_WORD”,
“position”: 1
}
]
}6. kibana安装
6.1 docker安装kibana
安装kibana版本与elasticsearch版本一致,即7.11.1
docker pull kibana:7.11.16.2 启动kibana
安装完成以后需要启动kibana容器,使用–link连接到elasticsearch容器,命令如下:
docker run –name kibana –link=elasticsearch:elasticsearch -p 5601:5601 -d kibana:7.11.1启动以后可以打开浏览器输入http://ip:5601就可以打开kibana的界面了。
7、elasticsearch-head安装
elasticsearch-head是用于Elasticsearch监控的插件
镜像 pull
docker pull mobz/elasticsearch-head:5查看镜像
docker images输出结果包含mobz/elasticsearch-head
REPOSITORY TAG IMAGE ID CREATED SIZE hello-world latest feb5d9fea6a5 3 months ago 13.3kB elasticsearch 7.11.1 bc3d45eba361 10 months ago 819MB kibana 7.11.1 ecf6e21a953f 10 months ago 1.01GB mobz/elasticsearch-head 5 b19a5c98e43b 4 years ago 824MB启动容器
docker run -d –name elasticsearch-head -p 9100:9100 mobz/elasticsearch-head:5浏览器访问(http://ip:9100/),结果如下:
8、常见问题处理
开始链接elasticsearch服务,会发现链接不上,由于是前后端分离开发,所以会存在跨域问题,需要在服务端做CORS的配置
docker exec -it elasticsearch /bin/bash vi config/elasticsearch.yml在elasticsearch.yml的文件末尾添加如下配置,保存,退出容器,并重启
http.cors.enabled: true http.cors.allow-origin: “*”参数说明:
参数缺省值说明http.cors.enabledfalse是否支持跨域,默认为falsehttp.cors.allowed.originlocalhost当设置允许跨域,默认为*,表示支持所有域名,如果我们只是允许某些网站能访问,那么可以使用正则表达式。比如只允许本地地址。 /https?如何恢复linux和windows服务器被误删除文件
服务器是企业和个人重要的存储设备之一,而数据是企业和个人的珍贵财富,一旦服务器出现故障,会导致数据丢失或者受损,对公司或个人造成巨大的损失。因此,服务器备份和恢复数据备受
Tomcat服务器如何配置ssl证书
目录 一:证书配置 二:Tomcat配置 http自动跳转 https 总结一:证书配置下载已签发的证书、选择 Tomcat 版本 进入 Tomcat 目录创建个 cert 文件夹 将下载好的 SSL证书压缩包里的
CentOS修改服务器登录密码的详细指南
目录 一、引言 二、基本概念 三、修改密码的步骤 3.1 登录到 CentOS 服务器 3.2 修改当前用户的密码 3.3 修改其他用户的密码 3.4 密码复杂性检查 四、解决密码复杂性
Nginx解决跨域访问的完整实例
目录 引言 1. Nginx简介 2. 跨域问题简介 3. 解决跨域问题的方法 步骤一:安装和配置Nginx 步骤二:测试跨域访问 结论 总结 引言在现代的Web开发中,跨域访问是一种常见的
linux查看服务端证书方式(keytool和openssl)
目录 方法 1:直接从服务器上抓取并查看证书 方法 2:通过 openssl 抓取并查看证书 方法 3:下载并查看证书文件 证书信息解析 总结 查看服务器端的证书时,可以通过导入服务器
Ubuntu设置静态IP地址的方法步骤(亲测有效)
目录 一、找到位于 /etc/netplan 的 netplan 目录 二、修改或创建配置文件 三、配置与本机相符的网络适配器 四、禁用DHCP 五、配置静态IP、子网掩码、网关 六、配置DNS服务
Ubuntu配置静态IP的两种方法
目录 方法一 第一步:查看当前主机网络信息 第二步:修改配置文件 进入配置文件夹 第三步:使配置生效且检查网络连接状况 方法二 第一步:查看当前主机网络信息 第二步:修改
在LINUX系统上使用rsync命令详解
目录 LINUX使用rsync命令 Rsync 命令语法 Rsync 命令选项 Rsync 命令 命令示例 Rsync命令的基本语法 使用 Rsync 命令传输文件和目录 使用 Rsync 命令镜像数据
Linux系统中如何将普通用户权限提升至root权限
目录 首先重来就没有设置过ROOT用户 1.使用普通用户登录后输入以下命 2.设置root用户密码 3.输入“su”切换为root用户登录 4.输入“Visudo”命令
Linux解决Unknown filesystem问题
目录 Linux解决「Unknown filesystem」 遇到这种情况应该如何修复 总结Linux解决「Unknown filesystem」不知道大家在使用 Linux 系统的时候有没有遇见过 「Unknown filesys
nginx部署前端dist包详细图文教程
目录 下载nginx 配置 启动 总结 下载nginx下载地址https://nginx.org/en/download.htmldownload > Stable version 可选择稳定版的nginxnginx压缩包解压后的目录配置1.将打
VScode连接远程服务器踩坑实战记录(新版离线vscode-server安装)
目录 1、VScode扩展安装与配置 (1)vscode扩展安装 (2)vscode远程配置 2、vscode-server离线下载 (1)Commit ID查看 (2)安装包下载 3、文件解压缩 4、移动文件到指定位置
Linux系统中检查系统重启记录方案
目录 Linux中监控系统重启的重要性 深入探究:Linux 重启日志 使用last命令 uptime 命令 利用journalctl获取重启历史记录 who -b 命令 总结借其强大的架构和无与伦比的灵活性
LINUX中关于mkdir命令语法和实例解读
目录 MKDIR 命令的语法 mkdir 命令可用的选项 深入了解 MKDIR 命令示例 使用 mkdir 创建简单目录 在以其绝对功能和灵活性而闻名的 Linux 操作系统的动态世界中,有大量
Nginx 只允许 www 域名访问并禁止裸域名访问的实现步骤
目录 如何通过 Nginx 只允许 www 域名访问并禁止裸域名访问 步骤 1:配置 Nginx 处理 www 域名 步骤 2:禁止裸域名访问 步骤 3:重定向裸域名到 www 域名(可选) 步骤 4:重启 Ng
Nginx设置目录的访问权限实现访问静态资源
从日志信息来看,确实是权限问题(Permission denied)。我们可以重新检查并设置权限,确保 Nginx 用户有权限访问这些文件。检查 Nginx 用户:首先确认 Nginx 使用的用户,一般是 www-d
telnet Connection refused端口不通如何处理
目录 一、telnet简述 二、telnet Connection refused不通处理思路 一般对应上面的后两种情况 排查目的主机服务 总结 一、telnet简述telnet一般用于测试本机到目的主机
linux下图形界面和命令行界面的切换方式
目录 在linux下图形界面和命令行界面的切换 1. 图形界面和命令行界面的切换 2. 修改系统开机进入的界面 总结 在linux下图形界面和命令行界面的切换我估计好多喜欢用li
telnet nc命令返回“连接失败”问题及解决
目录 telnet nc命令返回“连接失败” 1、端口没有被监听 2、防火墙策略 3、目标主机不接受外部连接 总结 telnet nc命令返回“连接失败”当使用n
Linux无法为立即文档创建临时文件:设备上没有空间的问题解决
目录 1、问题描述 2、问题解决1、问题描述在命令行输入命令按Tab键时出现如下报错:很明显,设备上没有空间,即磁盘空间不足。通过命令查看具体情况如下:df -h2、问题解决首先想到
nginx配置history模式的使用小结
本文主要介绍了nginx配置history模式的使用小结,具体如下:worker_processes 1; events { worker_connections 1024;} http { include mime.types; default_t
Nginx获取客户端真实IP(real_ip_header)的实现
目录 一、配置 Nginx 获取客户端真实 IP 1、基本配置说明 2、set_real_ip_from详解 3、log_format 配置(参考) 二、调试与测试 三、Lua 中使用客户端真实 IP(参考) 四
Nginx配置WebSocket代理的示例代码
目录 官方文档代理样例 Linux 查看安装文件命令手册 Nginx 日志配置方案 成功解决问题–使用 Nginx 代理 WebSocket 可能出现的问题 Nginx 官方文档网址 nginx d
Linux系统下通过jar包进程号查询jar程序占用端口的常用方法
目录 方法1: 使用 netstat 命令 方法2: 使用 lsof 命令 方法3: 使用 ss 命令 方法4: 直接从Java进程读取 注意事项在Linux系统中,如果你已经知道了Java应用程序的进程ID(PID),你
linux日志轮询方案
目录 logrotate 简介 logrotate 配置文件 日志回滚原理 sshd 日志回滚实战 修改配置文件 重启rsyslog 强制切割 测试和运行 logrotate debug 模式 v
Linux自带的logrotate管理日志用法
目录 利用Linux自带的logrotate管理日志 1. logrotate简介 2. logrotate配置参数 3. nginx日志切割实例 4. 其他配置示例 总结 利用Linux自带的logrotate管理日志日
使用wget递归下载目录内容
是一种常见的命令行工具,用于从远程服务器下载整个目录及其子目录中的文件。它可以通过递归方式下载目录中的所有文件,并保持目录结构的完整性。wget是一个开源的非交互式命令
linux如何开启关闭防火墙
目录 linux开启关闭防火墙 1.关闭防火墙 2.设置开机不启动 3.查看防火墙状态 不同系统常见防火墙相关命令 下面是red hat/CentOs7关闭防火墙的命令 firewalld 总结
Nginx实现404页面的配置方法的两种方法
目录 第一种:Nginx自己的错误页面 第二种:反向代理的错误页面一个网站项目,肯定是避免不了404页面的,通常使用Nginx作为Web服务器时,有以下集中配置方式,一起来看看。第一种:Nginx
nginx出现500 Internal Server Error错误的解决方法
目录 问题原因 解决方法 1. 查看 Nginx 错误日志 2. 检查 Nginx 配置文件 3. 检查应用程序日志 4. 检查文件权限 5. 检查后端服务 示例 Nginx 配置检查步骤 检查步
暂无评论内容