[整理] ElasticSearch 01:介绍、安装(Docker、Windows、Linux)

1.介绍

Elasticsearch是一个基于Lucene的搜索服务器。它提供了一个分布式多用户能力的全文搜索引擎,基于RESTful web接口。

Elasticsearch是用Java语言开发的,并作为Apache许可条款下的开放源码发布,是一种流行的企业级搜索引擎。

Elasticsearch用于云计算中,能够达到实时搜索,稳定,可靠,快速,安装使用方便。

官方客户端在Java、.NET(C#)、PHP、Python、Apache Groovy、Ruby和许多其他语言中都是可用的。根据DB-Engines的排名显示,Elasticsearch是最受欢迎的企业搜索引擎,其次是Apache Solr,也是基于Lucene。

2.安装

Docker安装ElasticSearch

下载镜像:

docker pull elasticsearch:7.10.1

说明:不确定版本时,可以到 http://hub.docker.com 去查看

运行镜像:

docker run -d --name elasticsearch -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" elasticsearch:7.10.1

如果有错误,可以查看容器:

docker ps   # 列出正在运行的容器
docker ps -a    # 列出所有容器,包括未运行的
docker logs 676164fb24b3   	# 查看某个容器的日志

如果日志中发现内存不足,可以

docker run -d -e "ES_JAVA_OPTS=-Xms512m -Xmx512m" --name elasticsearch -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" elasticsearch:7.10.1 

进入容器:

docker exec -it es2 /bin/bash

如果要修改配置文件

cd config
vim elasticsearch.yml

Windows安装ElasticSearch

下载安装包
地址:https://www.elastic.co/cn/downloads/elasticsearch

创建Keystore
执行命令:elasticsearch-keystore create

运行ElasticSearch
切换到bin目录 执行命令:elasticsearch

设置密码:

elasticsearch-setup-passwords interactive

配置文件信息修改

切换到 config/elasticsearch.yml

http.cors.enabled: true
http.cors.allow-origin: "*"
http.cors.allow-headers: Authorization
xpack.security.enabled: true
xpack.security.transport.ssl.enabled: true
cluster.name: robin-elasticsearch
node.name: robin-node
network.host: 0.0.0.0
http.port: 9200
transport.tcp.port: 9300
cluster.initial_master_nodes: ["robin-node"]

docker方式安装kibana

docker pull kibana:7.10.1
docker run --name kibana -e ELASTICSEARCH_HOSTS=http://127.0.0.1:9200 -p 5601:5601 -d kibana:7.10.1

然后访问页面
http://自己的IP地址:5601/app/kibana

Docker搭建kibana访问出现[Kibana server is not ready yet]的问题
原因是因为 ELASTICSEARCH_URL 配置的应该是容器的 ip,而不是本地ip。

  1. 首先我们查看 ElasticSearch 的容器内部 ip:
$ docker inspect 容器ID

看NetworkSettings.IPAddress

  1. 然后进入 Kibana 容器内部,修改 kibana.yml 中的ip
$ docker exec -it kibana容器id /bin/bash
$ cd config
$ vi kibana.yml
#
# ** THIS IS AN AUTO-GENERATED FILE **
#
# Default Kibana configuration for docker target

server.name: kibana
server.host: "0"
elasticsearch.hosts: [ "http://elasticsearch:9200" ]
xpack.monitoring.ui.container.elasticsearch.enabled: true

只需要将上面的 "http://elasticsearch:9200" 中的 elasticsearch 替换成上一步的es容器内部ip就可以了。

  1. 修改完成之后退出容器,重新启动即可
posted @ 2021-01-04 21:21  哆啦梦乐园  阅读(337)  评论(0编辑  收藏  举报