Elaticsearch,简称为es, es是一个开源的高扩展的分布式全文检索引擎,它可以近乎实时的存储、检索数据;本身扩展性很好,可以扩展到上百台服务器,处理PB级别(大数据时代)的数据。es也使用Java开发并使用Lucene作为其核心来实现所有索引和搜索的功能,但是它的目的是通过简单的RESTful API来隐藏Lucene的复杂性,从而让全文搜索变得简单。
(二)搭建Elasticsearh 1、拉取Elasticsearch可以去docker hub网站搜索对应的软件。
[root@icoolkj ~]# docker pull elasticsearch:8.2.22、创建挂载目录
[root@icoolkj ~]# cd /usr/local/docker/ [root@icoolkj docker]# mkdir elasticsearch [root@icoolkj docker]# cd elasticsearch/ [root@icoolkj elasticsearch]# mkdir config data plugins logs config目录下创建elasticsearch.yml文件 [root@icoolkj config]# cat elasticsearch.yml # 集群名称 cluster.name: "docker-cluster" # 节点名称 node.name: "cluster-node-1" # 绑定host:0.0.0.0 代表当前节点的ip network.host: 0.0.0.0 # 是否支持跨域,默认为false http.cors.enabled: true # 当设置允许跨域,默认为*,表示支持所有域名,如果我们只是允许某些网站能访问,那么可以使用正则表达式。 # 比如只允许本地地址:/https?://localhost(:[0-9]+)?/ http.cors.allow-origin: "*" # 关闭x-pack密码验证 xpack.security.enabled: false [root@icoolkj elasticsearch]# chmod 777 * -R [root@icoolkj elasticsearch]#3、创建容器并启动
docker run --name es -p 9200:9200 -p 9300:9300 -e ES_JAVA_OPTS="-Xms1g -Xmx1g" -e "discovery.type=single-node" -v /usr/local/docker/elasticsearch/config/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml -v /usr/local/docker/elasticsearch/data:/usr/share/elasticsearch/data -v /usr/local/docker/elasticsearch/plugins:/usr/share/elasticsearch/plugins -v /usr/local/docker/elasticsearch/logs:/usr/share/elasticsearch/logs -d elasticsearch:8.2.2
-e “discovery.type=single-node” 设置为单节点
-e ES_JAVA_OPTS="-Xms512m -Xmx512m" 测试环境下,设置ES的初始内存和最大内存,否则导致过大启动不了ES
9200:用于外部通讯,基于http协议,程序与es的通信使用9200端口。
9300:jar之间就是通过tcp协议通信,遵循tcp协议,es集群中的节点之间也通过9300端口进行通信。
4、访问ES Web界面 (三)Docker 搭建 ElasticSearch-HeadElasticSearch-Head是一个管理界面,可以查看ElasticSearch相关信息。
1、拉取Elasticsearch-head可以去docker hub网站搜索对应的软件。
docker pull mobz/elasticsearch-head:5-alpine2、启动elasticsearch-head
docker run --privileged=true --restart=always --name=elasticsearch-head -p 9100:9100 -d mobz/elasticsearch-head:5-alpine --restart=always # 开机启动 --privileged=true # 特权模式3、浏览器访问 ip:9100 (四)Docker 搭建Kibana
Kibana 是为Elasticsearch设计的开源分析和可视化平台。你可以使用 Kibana 来搜索,查看存储在 Elasticsearch 索引中的数据并与之交互。你可以很容易实现高级的数据分析和可视化,以图表的形式展现出来。
1、拉取Kibana可以去docker hub网站搜索对应的软件。
## 首先查看es的版本 ,并查看本地服务器是否搭建了es(映射的端口默认是9200) [root@icoolkj elasticsearch]# curl http://127.0.0.1:9200
## 拉取与es版本一致的kibana [root@icoolkj elasticsearch]# docker pull kibana:8.2.22、创建挂载目录
[root@icoolkj docker]# mkdir kibana [root@icoolkj docker]# cd kibana/ [root@icoolkj kibana]# mkdir data config logs [root@icoolkj kibana]# chmod 777 -R * [root@icoolkj kibana]# ls config data logs [root@icoolkj kibana]#3、创建容器并启动
[root@icoolkj config]# vim kibana.yml [root@icoolkj config]# cat kibana.yml # # ** THIS IS AN AUTO-GENERATED FILE ** # # Default Kibana configuration for docker target server.name: kibana server.host: "0.0.0.0" server.shutdownTimeout: "5s" elasticsearch.hosts: [ "http://IP:9200" ] monitoring.ui.container.elasticsearch.enabled: true # 设置kibana中文显示 i18n.locale: zh-CN [root@icoolkj config]#
docker run -p 5601:5601 -v /usr/local/docker/kibana/config/kibana.yml:/usr/share/kibana/config/kibana.yml -v /usr/local/docker/kibana/data:/usr/share/kibana/data -v /usr/local/docker/kibana/config/logs:/usr/share/kibana/logs --name kibana -d kibana:8.2.24、浏览器访问 ip:5601



