精通Elasticsearch的安装

放假买个地球仪吧,世界那么大你不但可以看看,还可以转转。

1.准备工作

版本是elasticsearch:7.9.2

  这次不讲废话就直接开始吧。首先你得有下面这些东西:

  • docker
  • docker
  • docker
    重要的事情说三遍,我发现docker来学习一些东西实在是太方便了。直接pull下来,run一下就完事。最多再配置一下。
1.1压缩包解压安装会遇到的问题

  虽然是用docker来学习,但是还是说一下不用docker,直接下载压缩包解压启动会遇到的问题

 1.1.1不能用root用户启动

  elasticsearch不让用root用户启动,所以你得创建一个用户,并将elasticsearch整个文件夹的所有者给到这个用户。例如我新建一个用户叫xiumu,密码也是xiumu,并将整个elasticsearch文件夹所有者更改为xiumu。

  • 新建用户:$ adduser xiumu
  • 设置用户密码:$ passwd xiumu
  • 查看用户所属组:$ groups xiumu
  • 更改文件所有者:$ chown -R xiumu:xiumu elasticsearch
 1.1.2虚拟内存数量太小,出现如下信息

  max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]
  把这个参数变大就可以了。

  • 查看虚拟内存数量$ sysctl -a|grep vm.max_map_count
  • 更改虚拟内存数量$ sysctl -w vm.max_map_count=262144
 1.1.3我还没找到如何重启,如果修改了配置想重启,只能先杀死进程,再启动
 1.1.4注意elasticsearch对JDK版本的依赖,JDK版本要正确
 1.1.5剩下的可能就是配置的问题,我们在使用docker学习的时候再说

正文

  接下来就是重头戏了,我们要使用docker来启动elasticsearch。首先要把elasticsearch:7.9.2拉取下来。我们知道elasticsearch是用来存数据的,那么有没有什么可视化工具来看到这些数据呢?当然有,就是kibana。kibana之于elasticsearch就像Navicat之于MySQL。我们先这么认为就行。所以我们还要再拉取一个kibana:7.9.2。
在这里插入图片描述
我们先启动这个elasticsearch。

docker run --name es1 -p 8080:9200 -itd elasticsearch:7.9.2

然后我们就会发现,它没有启动成功,所以我们就看看这个日志,使用这个命令:docker logs es1。我们就会发现报错的这一行是这个:
在这里插入图片描述
看这个意思就是说 [discovery.seed_hosts, discovery.seed_providers, cluster.initial_master_nodes] 这里面的属性最少要设置一个。那我们就需要写一个配置文件,写上我们的配置信息,然后在启动的时候映射这个配置文件。接下来我们先删掉这个失败的容器docker rm es1,然后再启动一次。docker实在是方便(心理上的方便)。
首先创建一个elasticsearch.yml文件,然后写上配置信息:

cluster.name: xiumu
node.name: es1
network.host: 0.0.0.0
http.port: 9200
cluster.initial_master_nodes: ["es1"]
http.cors.enabled: true
http.cors.allow-origin: "*"

启动一个新的容器

$ docker run --name es1 -p 8080:9200 -v /mnt/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml -itd elasticsearch:7.9.2

这些配置信息应该能猜出来什么意思吧,就是设置集群名称为xiumu,当前节点名称为es1,初始选举主节点的有es1,毕竟我们就这一个节点。反正我觉得是这么个意思,然后就是允许跨域什么的。
这次我们就能看到,它启动成功了。我们就用curl -XGET localhost:8080?pretty检验一下成果。
在这里插入图片描述
看到这个就知道我们启动成功了。我们现在来启动可视化工具kibana。启动kibana也是非常的简单:

$ docker run --name kiss -p 8081:5601 -itd kibana:7.9.2

当然光启动这个也是不行的,我们用浏览器访问虚拟机的8081端口就会出现,kibana没有准备好之类的一句话。所以我们需要进入这个kibana的容器里,修改一个配置,让它能够连接到我们的elasticsearch。我们知道容器内部也是有ip地址的,所以我们先看一下刚刚启动的es1的ip地址。

$ docker inspect --format '{{ .NetworkSettings.IPAddress }}' es1

在这里插入图片描述
我们进入kibana容器内部,然后进入config文件夹,编辑kibana.yml

$ docker exec -it kiss /bin/bash

打印一下编辑后的配置文件是这样的:
在这里插入图片描述
最后我们退出到虚拟机,然后用docker重启这个kibana容器就可以了。
通过浏览器访问虚拟机的8081端口号就可以看到我们的kibana了。
在这里插入图片描述
这些乱七八糟的,大家先不用关注,只需要关注两个部分就可以了。
在这里插入图片描述
第一个Dev Tools很简单,大家打开就知道了,主要是用来练习elasticsearch的各种restful请求。第二个Stack Management就是索引管理了,点开它会进入下面这个页面
在这里插入图片描述
点开这个索引管理,我们就可以看到目前elasticsearch中存在的所有索引了。目前我们是什么都没有的。基本上我们的安装已经结束了,历经了千辛万苦,九九八十一难。

elasticsearch中的基本概念

  说起索引管理,我们不得不聊一些它的基本概念了,我觉得最神奇的就是这么一句话,索引一个文档到一个索引里。这句话里,第一个索引是个动词,第二个索引是一个名词。确定这不是迷惑人呢???
  刚开始我们需要理解"_index" 、"_type"、 “_id"这三个东西,我们可以把它当成,数据库,表,主键。一个document对应着一个id,有了这三个我们就能确定一个唯一的document。不过”_type"要废弃了。
  通过kibana的Dev Tools不断练习,来慢慢明白它的一些概念,我就懒得讲了,毕竟最难的安装部分已经解决了。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值