linux安装ES
创始人
2024-02-17 10:13:54
0

基本概念

ES是什么?我们可以把ES比作一个Mysql数据库,同样用来存储数据,不过比Mysql提供了更多的搜索功能,例如分词搜索,关联度搜索等,而且搜索速度也不是同一级别的, ES能够实现百万数据/秒的查询速度。接下来将ES中用到的概念和Mysql进行类比:

字段解释
index索引,相当于Mysql中的一个库,例如有一个叫『orders』的库,那么里面可以建立很多表,存储不同类型的数据,而表在ES中就是type。
type类型,相当于Mysql中的一张表,存储json类型的数据
document文档,一个文档相当于Mysql一行的数据
shards分片,通俗理解,就是数据分成几块区域来存储,可以理解为mysql中的分库分表(不太恰当)
replicas备份,就是分片的备份数,相当于mysql的备份库

一、准备工作

ES为了安全不允许使用root用户启动。ES5之后的都不能使用添加启动参数或者修改配置文件等方法启动了,必须要创建用户。
root用户身份创建用户es

  1. adduser es
  2. passwd es

二、 安装ES

es安装目录放在了root的家目录下,新用户是不能访问到的,所以即使ES属于新用户了,但目录权限原因访问不到lib里的jar包,所以找不到Java类。 把ES搬到新用户的家(home)目录以内即可。
为了避免上述麻烦,我们直接切换到新建的es用户下,然后新建目录和下载安装包。

[root@iZj6c49h0dw85252u6oxu0Z ~]# su es
[es@iZj6c49h0dw85252u6oxu0Z root]$ cd ~
[es@iZj6c49h0dw85252u6oxu0Z ~]$ pwd
/home/es
[es@iZj6c49h0dw85252u6oxu0Z ~]$ mkdir es
[es@iZj6c49h0dw85252u6oxu0Z ~]$ cd es

下载6.5.0版本:

[es@iZj6c49h0dw85252u6oxu0Z es]$ wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-6.5.0.tar.gz

解压:

[es@iZj6c49h0dw85252u6oxu0Z es]$ tar -zxvf elasticsearch-6.5.0.tar.gz 

启动,通过 -d 参数,表示后台运行。:

[es@iZj6c49h0dw85252u6oxu0Z es]$ cd elasticsearch-6.5.0/
[es@iZj6c49h0dw85252u6oxu0Z elasticsearch-6.5.0]$ bin/elasticsearch -d

可以通过 logs/elasticsearch.log 日志,查看启动是否成功。

三、测试:

访问 http://服务器 IP:9200 后,成功返回如下 JSON 串,表示成功。

es@izuf672oio5mc4fbyj0s0jz elasticsearch-6.5.0]$ curl http://localhost:9200/
{"name" : "UK2obWU","cluster_name" : "elasticsearch","cluster_uuid" : "ao_6EsyNQ5q2Epd-Xe5mMg","version" : {"number" : "6.5.0","build_flavor" : "default","build_type" : "tar","build_hash" : "816e6f6","build_date" : "2018-11-09T18:58:36.352602Z","build_snapshot" : false,"lucene_version" : "7.5.0","minimum_wire_compatibility_version" : "5.6.0","minimum_index_compatibility_version" : "5.0.0"},"tagline" : "You Know, for Search"
}

3.1 错误1

如果没有看到json,而是如下信息:

[root@izuf672oio5mc4fbyj0s0jz ~]# curl http://47.244.38.173:9200/
curl: (7) Failed connect to 47.244.38.173:9200; Connection refused

修改elasticsearch.yml文件,去掉注释并修改IP:network.host: 0.0.0.0,并开通入方向的阿里云访问规则,再次启动ES就可以了。

[es@izuf672oio5mc4fbyj0s0jz elasticsearch-6.5.0]$ vi config/elasticsearch.yml 

修改network.host

3.2 错误2

启动失败查看日志提示:

[1] bootstrap checks failed
[1]: max file descriptors [65535] for elasticsearch process is too low, increase to at least [65536]

3.2.1

修改 /etc/security/limits.conf ,在此配置中修改以下内容。如果服务器已经配置好,可以不用重复配置。需要在 Root 下执行。

* soft nofile 65536
* hard nofile 65536

修改完成后同时使用命令修改配置:

$ ulimit -n 65536
$ ulimit -n
65536

这些配置主要为文件系统描述符及相关的配置,具体的配置可以根据自己的系统配置调大或调小。

3.2.2

修改/etc/sysctl.conf,增加如下内容(如果服务器已经配置好,可以不用重复配置。需要在 Root 下执行):

vm.max_map_count=655360

修改完成后,执行 sysctl -p 命令,使配置生效。

[es@izuf672oio5mc4fbyj0s0jz elasticsearch-6.5.0]$ su root
Password: 
[root@izuf672oio5mc4fbyj0s0jz elasticsearch-6.5.0]# vi /etc/security/limits.conf
[root@izuf672oio5mc4fbyj0s0jz elasticsearch-6.5.0]#  ulimit -n 65536
[root@izuf672oio5mc4fbyj0s0jz elasticsearch-6.5.0]#  ulimit -n
65536
[root@izuf672oio5mc4fbyj0s0jz elasticsearch-6.5.0]# vi /etc/sysctl.conf
[root@izuf672oio5mc4fbyj0s0jz elasticsearch-6.5.0]# sysctl -p
......
net.ipv4.tcp_syncookies = 1
net.ipv4.tcp_max_syn_backlog = 1024
net.ipv4.tcp_synack_retries = 2
kernel.sysrq = 1
vm.max_map_count = 655360
...

通过浏览器访问http://101.133.227.13:9200/,可以返回json数据证明ES可以正常运行。

相关内容

热门资讯

央行发布一次性信用修复政策 新京报讯 12月22日,中国人民银行发布关于实施一次性信用修复政策有关安排的通知。 中国人民银行上海...
爱看头评 | “体重立法”引热... 经浙江省人大常委会批准,《杭州市全民健康促进条例》(以下简称“《条例》”)将于明年1月1日起正式施行...
美日央行政策分化 国内方面,11月经济数据呈现“生产端稳中修复、需求端分化加剧”格局。工业生产方面,规模以上工业增加值...
一次性信用修复政策来了 央视新闻 今天(22日),中国人民银行发布通知,实施一次性信用修复政策,支持信用受损但积极还款的个人...
陕西:公检法联合集中打击拒执犯... 本报讯 (记者 刘辉 通讯员 赵玲)“依法打击拒不执行判决、裁定犯罪,是解决执行难问题的一项有力措施...
卓然股份被证监会立案调查,律师... 雷达财经雷助吧出品 文|周慧 编|深海 12月19日,卓然股份发布了《关于公司及实际控制人收到立案告...
公牛集团回应宣传语争议:起诉家... 日前,公牛集团就“10户中国家庭,7户用公牛”宣传语引发的争议作出回应。近日,广东中山市家的电器有限...
一次性信用修复政策来了!细则详... 今天(22日),中国人民银行发布通知,实施一次性信用修复政策,支持信用受损但积极还款的个人高效便捷重...
《中国人民银行关于实施一次性信... 1.符合哪些条件的逾期信息可以适用一次性信用修复政策,作不予展示处理? 一次性信用修复政策主要有四个...