Elasticsearch官网:欢迎来到 Elastic — Elasticsearch 和 Kibana 的开发者 | Elastic
学习任何框架和技术,一定要参考相应的官网学习,一定要参考官网学习!!!
注意:Elasticsearch官网访问和加载的耗时很长!!!
目录
1.Elasticsearch介绍
2.基于Docker安装Elasticsearch
2.1 创建网络
2.2 拉取镜像
2.3 创建挂载点目录
2.4 部署单点es,创建es容器
2.5 编写elasticsearch.yml
2.6 重启es容器
2.7 测试Elasticsearch是否安装成功
3.基于Docker安装Kibana
3.1 拉取镜像
3.2 创建挂载点目录
3.3 部署kibana,创建kibana容器
3.4 测试Kibana是否安装成功
4. 基于Docker安装IK分词器
4.1 进入Elasticsearch容器
4.2 在线安装IK分词器
1.Elasticsearch介绍
【摘自百度百科】
Elasticsearch 是一个分布式、高扩展、高实时的搜索与数据分析引擎。它能很方便的使大量数据具有搜索、分析和探索的能力。充分利用Elasticsearch的水平伸缩性,能使数据在生产环境变得更有价值。Elasticsearch 的实现原理主要分为以下几个步骤,首先用户将数据提交到Elasticsearch 数据库中,再通过分词控制器去将对应的语句分词,将其权重和分词结果一并存入数据,当用户搜索数据时候,再根据权重将结果排名,打分,再将返回结果呈现给用户。
Elasticsearch是与名为Logstash的数据收集和日志解析引擎以及名为Kibana的分析和可视化平台一起开发的。这三个产品被设计成一个集成解决方案,称为“Elastic Stack”(以前称为“ELK stack”)。
Elasticsearch可以用于搜索各种文档。它提供可扩展的搜索,具有接近实时的搜索,并支持多租户。Elasticsearch是分布式的,这意味着索引可以被分成分片,每个分片可以有0个或多个副本。每个节点托管一个或多个分片,并充当协调器将操作委托给正确的分片。再平衡和路由是自动完成的。相关数据通常存储在同一个索引中,该索引由一个或多个主分片和零个或多个复制分片组成。一旦创建了索引,就不能更改主分片的数量。
Elasticsearch使用Lucene,并试图通过JSON和Java API提供其所有特性。它支持facetting和percolating,如果新文档与注册查询匹配,这对于通知非常有用。另一个特性称为“网关”,处理索引的长期持久性;例如,在服务器崩溃的情况下,可以从网关恢复索引。Elasticsearch支持实时GET请求,适合作为NoSQL数据存储,但缺少分布式事务。
2.基于Docker安装Elasticsearch
2.1 创建网络
因为需要部署kibana容器,因此需要让es和kibana容器互联。
指令:docker network create es-net
实例:
[root@bogon howlong]# docker network create es-net 344f17ffe435894bc3ec98f3e3c1ad93cbde41a473576e645a0d24b6111e7e2e [root@bogon howlong]#
2.2 拉取镜像
以安装Elasticsearch 8.6.0 版本为例
指令:docker pull elasticsearch:8.6.0
实例:
[root@bogon howlong]# docker pull elasticsearch:8.6.0 8.6.0: Pulling from library/elasticsearch 846c0b181fff: Pull complete f3516e94dfa9: Pull complete b8d95ef1999f: Pull complete 69af40093f34: Pull complete 52d2fb478029: Pull complete 14619d64e022: Pull complete ff00ac3f5836: Pull complete 2eed17832094: Pull complete 5a7083c2053b: Pull complete Digest: sha256:12d0ff50b96a53d2a8e103ba2e0e69187babc3dcf8bdc88788d019cdebb75c0c Status: Downloaded newer image for elasticsearch:8.6.0 docker.io/library/elasticsearch:8.6.0 [root@bogon howlong]#
2.3 创建挂载点目录
指令:
mkdir -p /usr/local/es/data /usr/local/es/config /usr/local/es/plugins
实例:
[root@bogon howlong]# mkdir -p /usr/local/es/data /usr/local/es/config /usr/local/es/plugins [root@bogon howlong]#
指令:
chmod 777 /usr/local/es/data chmod 777 /usr/local/es/config chmod 777 /usr/local/es/plugins
2.4 部署单点es,创建es容器
指令:
docker run -d \ --restart=always \ --name es \ --network es-net \ -p 9200:9200 \ -p 9300:9300 \ --privileged \ -v /usr/local/es/data:/usr/share/elasticsearch/data \ -v /usr/local/es/plugins:/usr/share/elasticsearch/plugins \ -e "discovery.type=single-node" \ -e "ES_JAVA_OPTS=-Xms512m -Xmx512m" \ elasticsearch:8.6.0
实例:
[root@bogon howlong]# docker run -d \ --restart=always \ --name es \ --network es-net \ -p 9200:9200 \ -p 9300:9300 \ --privileged \ -v /usr/local/es/data:/usr/share/elasticsearch/data \ -v /usr/local/es/plugins:/usr/share/elasticsearch/plugins \ -e "discovery.type=single-node" \ -e "ES_JAVA_OPTS=-Xms512m -Xmx512m" \ elasticsearch:8.6.0 2a1b0b31da4c349fd8b23d5f9618cf21049b10c1dd3f1bcd27943f629874774b [root@bogon howlong]#
2.5 编写elasticsearch.yml
先进入es容器
指令:
docker exec -it es /bin/bash
实例:
[root@bogon howlong]# docker exec -it es /bin/bash elasticsearch@6b64658d77d5:~$
跳转到config目录下
指令:
cd config
实例:
elasticsearch@6b64658d77d5:~$ cd config elasticsearch@6b64658d77d5:~/config$
关闭 密码安全验证
指令:
echo 'xpack.security.enabled: false' >> elasticsearch.yml
2.6 重启es容器
指令;
docker restart es
2.7 测试Elasticsearch是否安装成功
访问虚拟机地址+端口号,前面配置Elasticsearch 的端口号为:9200
例如:
http://192.168.27.129:9200
3.基于Docker安装Kibana
3.1 拉取镜像
以安装kibana 8.6.0 版本为例
指令:
docker pull kibana:8.6.0
实例:
[root@bogon howlong]# docker pull kibana:8.6.0 8.6.0: Pulling from library/kibana 846c0b181fff: Already exists d9d4723b53e8: Pull complete 3ce175049527: Pull complete c5a9d626f54a: Pull complete ce0bd3b890fe: Pull complete 4f4fb700ef54: Pull complete 1cb2fe49dd32: Pull complete 7cbec743e1ac: Pull complete de07a2df0c3f: Pull complete f138fef302e6: Pull complete c6afac2b2f31: Pull complete 53c0672d0212: Pull complete 7522efaa8c9c: Pull complete 5e8db7e50c16: Pull complete Digest: sha256:71d8a59d32b181c3b3c04a4fecf2197f00eb381659510d04261c2cd5d43a0225 Status: Downloaded newer image for kibana:8.6.0 docker.io/library/kibana:8.6.0 [root@bogon howlong]#
3.2 创建挂载点目录
指令:
mkdir -p /usr/local/kibana/config /usr/local/kibana/data
代码:
[root@bogon howlong]# mkdir -p /usr/local/kibana/config /usr/local/kibana/data [root@bogon howlong]#
指令:
chmod 777 /usr/local/kibana/data chmod 777 /usr/local/kibana/config
3.3 部署kibana,创建kibana容器
指令:
docker run -d \ --restart=always \ --name kibana \ --network es-net \ -p 5601:5601 \ -e ELASTICSEARCH_HOSTS=http://es:9200 \ kibana:8.6.0
实例:
[root@bogon howlong]# docker run -d \ --restart=always \ --name kibana \ --network es-net \ -p 5601:5601 \ -e ELASTICSEARCH_HOSTS=http://es:9200 \ kibana:8.6.0 cfcc8b35079d9e74be20f89ab0c96d2a9af8e0679b055e0684865d3d042f7307 [root@bogon howlong]#
3.4 测试Kibana是否安装成功
访问虚拟机地址+端口号,前面配置Kibana 的端口号为:5601
例如:
http://192.168.27.129:5601
4. 基于Docker安装IK分词器
4.1 进入Elasticsearch容器
指令:
docker exec -it es /bin/bash
实例:
[root@bogon howlong]# docker exec -it es /bin/bash elasticsearch@6b64658d77d5:~$
4.2 在线安装IK分词器
注意:安装IK分词器的版本,必须和Elasticsearch的版本一致,
上文安装的是Elasticsearch 8.6.0的,所以接下来安装的IK分词器版本是8.6.0
指令:
./bin/elasticsearch-plugin install https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v8.6.0/elasticsearch-analysis-ik-8.6.0.zip
如果需要安装其他版本的IK分词器,需要把版本号修改即可
如:
./bin/elasticsearch-plugin install https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v7.4.2/elasticsearch-analysis-ik-7.4.2.zip文章来源:https://www.toymoban.com/news/detail-488830.html
./bin/elasticsearch-plugin install https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v8.6.0/elasticsearch-analysis-ik-8.6.0.zip文章来源地址https://www.toymoban.com/news/detail-488830.html
到了这里,关于基于Docker安装Elasticsearch【保姆级教程、内含图解】的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!