Centos7 安装 ElasticSearch7.4.2 详细教程

Centos7 安装 ElasticSearch7.4.2 详细教程,第1张

Centos7 安装 ElasticSearch7.4.2 详细教程

Elasticsearch 是一个高度可扩展且开源的全文检索和分析引擎。它可以让您快速且近实时地存储,检索以及分析海量数据。它通常用作那些具有复杂搜索功能和需求的应用的底层引擎或者技术。


提示:写完文章后,目录可以自动生成,如何生成可参考右边的帮助文档

文章目录
  • 一、Centos7启动docker,并拉取Elasticsearch
  • 二、拉取 kibana 镜像,可视化检索数据
  • 三、配置并启动elasticsearch
  • 四、配置并启动Kibana
  • 五、安装ik分词器
  • 六、总结


一、Centos7启动docker,并拉取Elasticsearch

提示:还没有在虚拟机中安装docker的同学们,可以先查看我的这份博客啊:Centos7安装docker,配置阿里云镜像加速.

1、查看正在运行的容器

docker ps

如图,我目前docker只安装了redis 以及 mysql

2、查看下载的镜像

docker images

我电脑中下载的镜像,也只有redis 以及 mysql

3、拉取我们需要下载的elastic镜像

docker pull elasticsearch:7.4.2

如图,就是下载成功

我们再查看一下docker下载的镜像,就能看到elasticsearch

二、拉取 kibana 镜像,可视化检索数据

1、拉取我们需要下载的kibana 镜像

docker pull kibana:7.4.2

如图,就是下载成功

同样,我们再查看一下docker下载的镜像,就能看到kibana,版本与elasticsearch保持一致

三、配置并启动elasticsearch

1、首先检查一下我们的虚拟机还有多少内存,虚拟机我是只给了1G的总内存

free -m

可用内存还剩326M,能满足安装需求

2、创建相关文件夹

# 在mydata文件夹下创建相关的文件夹,之后将docker内的配置文件等信息都挂在到外部的这个文件夹
mkdir -p /mydata/elasticsearch/config
mkdir -p /mydata/elasticsearch/data

查看我们刚刚创建的文件夹,可以看到不仅有我之前创建的mysql、redis文件夹,还有刚刚新建的elasticsearch文件夹

3、将下面的配置写入elasticsearch.yml文件内,允许任何机器进行对它的访问

echo "http.host: 0.0.0.0" >> /mydata/elasticsearch/config/elasticsearch.yml

如图,就成功将值写入elasticsearch.yml文件中,这是yml的键值对语法

4、继续添加配置,执行下面你的命令

命令解释–name表示给这个容器起一个名字:elasticsearch-p暴露两个端口,9200,9300每行末尾的 表示要换行single-node表示单节点运行ES_JAVA_OPTS指定初始占用64M内存,最大占用128M,不指定的话会将虚拟机卡死-v挂载,将容器内的配置与外部的配置进行一一关联-d后台启动指定镜像
docker run --name elasticsearch -p 9200:9200 -p 9300:9300 
-e "discovery.type=single-node" 
-e ES_JAVA_OPTS="-Xms64m -Xmx128m" 
-v /mydata/elasticsearch/config/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml 
-v /mydata/elasticsearch/data:/usr/share/elasticsearch/data 
-v /mydata/elasticsearch/plugins:/usr/share/elasticsearch/plugins 
-d elasticsearch:7.4.2

如图:出现这串标志就代表运行成功

5、但是,使用 docker ps 命令却看不到启动的elasticsearch服务,这时,我们可以查看错误日志

# 查看错误日志
docker logs elasticsearch

根据排查发现,是data目录被拒绝访问,原因是我们挂载到外面的目录的权限不够。

6、给挂载到外面的elasticsearch文件夹,提升权限

chmod -R 777 /mydata/elasticsearch/

执行完会发现elasticsearch文件夹下的所有目录均为可读可写可执行

7、重新启动elasticsearch

# 1、显示所有的容器,包括未运行的
docker ps -a
# 2、启动elasticsearch
docker start +服务的id(只要能保证唯一性,简写就行)
# 3、列出正在运行的容器
docker ps 


8、当我们在本地电脑上输入虚拟机地址加上elasticsearch的端口号,能出现下面的json串,就代表安装成功![ 样式就不用介意啦,我只是在浏览器上安装了json插件美化了一下 ]

四、配置并启动Kibana

1、根据下面的命令,启动kibana,注意 这个ip不是虚拟机地址 要查elastic的IPAddress

# XXXX代表的是elastic的容器id 我这里是:26c728ad5f86 
docker inspect XXXX|grep IPAddress  

得到 IPAddress 为:172.17.0.4

命令解释–name表示给这个容器起一个名字:kibana-e修改紧跟在后面的参数, * 【注意 这个ip不是虚拟机地址 要查elastic的IPAddress 】 -p映射kibana的端口号,5601每行末尾的 表示要换行-d后台启动指定镜像
docker run --name kibana -e ELASTICSEARCH_HOSTS=http://172.17.0.4:9200 -p 5601:5601 
-d kibana:7.4.2

如图,kibana成功启动

2、在浏览器访问kibana
发现提示说:服务还未启动。

3、查看kibana日志,并没有发现报错信息

docker logs 135【请将135改为自己的kibanaid】

再回到浏览器核对时,发现可视化界面已经出来了,查看虚拟机还剩多少内存时,发现可用内存为46M
应该是虚拟机内存小了导致启动有点慢,但是好在安装成功


五、安装ik分词器

1、首先,我们从GitHub下载对应版本的压缩包
地址:https://github.com/medcl/elasticsearch-analysis-ik/releases
找到7.4.2版本的压缩包

2、使用文件传输工具将这个压缩包放到虚拟机的 /mydata/elasticsearch/plugins 目录下
我这里使用的工具是 xftp

3、由于我们在之前对此目录进行过挂载,所以此时dock内部的elasticsearch同样具有此插件

# 进入ES控制台,XXXXX指ES的ID
docker exec -it XXXXXXXX /bin/bash


4、退出docker,返回到**/mydata/elasticsearch/plugins** 目录,解压此插件

# 解压命令
unzip elasticsearch-analysis-ik-7.4.2.zip 

我这里提示命令未找到,所以我还是选择在本地解压好再传进去已经解压的 ik

5、查看传输好的插件并修改 ik目录的权限

chmod -R 777 ik/


6、检查ik分词器是否安装成功

# 1、进入docker内的elasticsearch内的bin目录中
docker exec -it 26c /bin/bash
cd bin/
# 2、执行【列出安装好的ES插件】目录
elasticsearch-plugin list

如图所示,即为安装成功

7、退出docker,重启elasticsearch服务

docker restart elasticsearch

如图即为重启成功,之后便可正常使用啦

8、验证 ik 的效果

六、总结

最后附上elasticSearch相关命令

命令描述GET /_cat/nodes查看所有节点GET /_cat/health查看es健康状况GET /_cat/master查看主节点GET /_cat/indices查看所有索引 show databases;

设置开机启动 elasticsearch

docker update elasticsearch --restart=always

设置开机启动 kibana

docker update kibana --restart=always

取消设置的话,always 改为 no 就好了,同样支持下面的写法

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5679032.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-17
下一篇 2022-12-17

发表评论

登录后才能评论

评论列表(0条)

保存