Linux使用docker搭建Elasticsearch环境

(一)什么是Elasticsearch?

 Elaticsearch,简称为es, es是一个开源的高扩展的分布式全文检索引擎,它可以近乎实时的存储、检索数据;本身扩展性很好,可以扩展到上百台服务器,处理PB级别(大数据时代)的数据。es也使用Java开发并使用Lucene作为其核心来实现所有索引和搜索的功能,但是它的目的是通过简单的RESTful API来隐藏Lucene的复杂性,从而让全文搜索变得简单。

(二)搭建Elasticsearh

1、拉取Elasticsearch

可以去docker hub网站搜索对应的软件。

[root@icoolkj ~]# docker pull elasticsearch:8.2.2

96ae83940e1ef29724fd3611b6f9a25d.png

2、创建挂载目录

[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]# 

e9e1c43d815abed9a9aea78857ba2e14.png

 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界面

12902ec732ec1a6750448ff2d07a836f.png

(三)Docker 搭建 ElasticSearch-Head

ElasticSearch-Head是一个管理界面,可以查看ElasticSearch相关信息。

1、拉取Elasticsearch-head

可以去docker hub网站搜索对应的软件。

docker pull mobz/elasticsearch-head:5-alpine

2d80ede37fb9be529381f46cee28e385.png 2、启动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

9a6e541ff6d9771163bae402286a4553.png

(四)Docker 搭建Kibana

Kibana 是为Elasticsearch设计的开源分析和可视化平台。你可以使用 Kibana 来搜索,查看存储在 Elasticsearch 索引中的数据并与之交互。你可以很容易实现高级的数据分析和可视化,以图表的形式展现出来。

1、拉取Kibana

可以去docker hub网站搜索对应的软件。

## 首先查看es的版本 ,并查看本地服务器是否搭建了es(映射的端口默认是9200)
[root@icoolkj elasticsearch]# curl http://127.0.0.1:9200

0ccb4caf1a95e4412435375bac85e7b9.png

## 拉取与es版本一致的kibana
[root@icoolkj elasticsearch]# docker pull kibana:8.2.2

1e398f44137fb0c644e0c85116c135c3.png

2、创建挂载目录

[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.2

1147813fb951807ef3d8d67b8786e94d.png

4、浏览器访问 ip:5601

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值