使用Docker安装Elasticsearch

一、Elasticsearch介绍(Elasticsearch:官方分布式搜索和分析引擎 | Elastic

  Elasticsearch 是一个分布式、RESTful 风格的搜索和数据分析引擎,能够解决不断涌现出的各种用例。 作为 Elastic Stack 的核心,它集中存储您的数据,帮助您发现意料之中以及意料之外的情况。

  它可以用来快速地储存、搜索和分析海量的数据。用来代替MySql作数据的搜索和分析,可以秒级的从海量的数据中作检索和分析。

  官方学习文档:Elasticsearch Guide [7.5] | Elastic

 1.基本概念

  1.1、Index(索引)

  动词:相当于MySQL的insert

  名词:相当于MySQL的Database

  1.2、Type(类型)

  在Index中可以定义多个Type。每一种类型的数据放在一起。

  类似于MySQL中的Table。

  1.3、Document(文档)

  保存在某个索引(Index)下,某种类型(Type)的一个数据(Document)。

  文档是Json格式的,Documnet类似MySQL某个Table的内容。

## ES6及以后的版本已经删除了TYPE的概念

二、Docker安装Elasticsearch

  1、下载镜像文件

docker pull elasticsearch:7.4.2
docker pull kibana:7.4.2

//将es中配置文件挂载到外面的目录,通过修改虚拟机外面的文件夹es配置,进而修改docker中es的配置
mkdir -p /mydata/elasticsearch/config

mkdir -p /mydata/elasticsearch/data
//写了一个配置  http.host:0.0.0.0 代表es可以被远程的任何机器访问,注意这里host:后需要有空格 
echo "http.host: 0.0.0.0">> /mydata/elasticsearch/config/elasticsearch.yml

2、创建实例

  1.  Elasticsearch

//运行elasticsearch命令,
//为容器起一个名字为elasticsearch,-p暴露两个端口 9200 9300, 9200是发送http请求——restapi的端口,9300是es在分布式集群状态下,结点之间的通信端口, \代表换行下一行, 
//-e  single-node 是以单节点方式运行,ES_JAVA_OPTS不指定的话,es一启动,会将内存全部占用,整个虚拟机就卡死了,
//-v 进行挂载,目录中配置,数据等一一关联 -d 后台启动es使用指定的镜像 z
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

 

安装完 elasticsearch 后我们来启动一下,docker ps会发现使用docker ps命令查看启动的容器时没有找到我们的 es,这是因为目前 es 的配置文件的权限导致的,因此我们还需要修改一下 es 的配置文件的权限:

chmod -R 777 /mydata/elasticsearch/

若仍然启动失败,则说明运行代码有误,使用 docker log elasticsearch 查看报错

同时,需要 docker ps -a 查看容器id,将elasticsearch容器删除,再执行elasticsearch命令

  启动成功后,访问http://192.168.56.10:9200,输出以下内容说明启动成功。

{
  "name" : "e514c560d500",
  "cluster_name" : "elasticsearch",
  "cluster_uuid" : "Rq6lZhNVRhiVkjTljaCGig",
  "version" : {
    "number" : "7.4.2",
    "build_flavor" : "default",
    "build_type" : "docker",
    "build_hash" : "2f90bbf7b93631e52bafb59b3b049cb44ec25e96",
    "build_date" : "2019-10-28T20:40:44.881551Z",
    "build_snapshot" : false,
    "lucene_version" : "8.2.0",
    "minimum_wire_compatibility_version" : "6.8.0",
    "minimum_index_compatibility_version" : "6.0.0-beta1"
  },
  "tagline" : "You Know, for Search"
}

2、安装Kibana

//访问5601端口,访问到可视化界面kibana,kibana再先发送请求到es9200 docker run --name kibana -e ELASTICSEARCH_HOSTS=http://192.168.56.10:9200 -p 5601:5601 -d kibana:7.4.2 //http://192.168.56.10:9200 要改成自己的Ip端口

访问可视化界面 http://192.168.56.10:5601 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值