elasticsearch(一)介绍与安装

介绍

基于Lucene构建的开源、分布式、ResufulApi全文搜索引擎。是一个分布式文档数据库,其中每个字段均是可以被索引的数据且可被搜索,它能够扩展至数以百计的服务器存储以及处理PB级的数据。可以在很短的时间内存储、搜索和分析大量的数据。通常作为具有复杂搜索场景情况下的核心发动机。

elasticsearch需要比较大的内存,启动比较慢,高可用和可扩展,可以通过购置性能更强的服务器来完成。

 

 

优势

  • 横向扩展性:只需要增加台服务器,做一点配置,就可以并入集群。
  • 分片机制提供更好的分布性:同一个索引分为多个分片(sharding),这点类似于HDFS的块机制;分而治之的方式可提升处理效率。
  • 高可用:提供复制(replica)机制,一个分片可以设置多个复制,使得某台服务器在宕机的情况下,集群仍旧可以照常运行,并会把服务器宕机丢失的数据信息复制恢复到其它可用节点上。
  • 使用简单:只需一条命令就可以下载文件,然后很快就能搭建一个站内搜索引擎。

 

 

应用场景

大型分布式日志分析系统ELK(elasticsearch存储日志+logstash收集日志+kibana展示数据)

大型电商商品搜索系统、网盘搜索引擎等。

 

 

存储结构

用的是文件存储,是面向文档型数据库,一条数据就是一个文档,用JSON作为文档序列化的格式。

关系数据库存储结构是: 数据库-->表-->行-->列

elasticsearch存储结构: 索引-->类型-->文档-->字段

 

 

 

安装(linux)

需求先安装jdk

Jdk下载地址:

http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html

1.将jdk复制到linux服务器

2.解压

3.设置环境变量:

    sudo vi /etc/profile

    在文件最后添加以下内容

    #Java Env

    export JAVA_HOME=/usr/jdk1.8.0_121

    export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

    export PATH=$PATH:$JAVA_HOME/bin

4.保存退出vi编辑器,执行 source /etc/profile使设置生效  

5.查看jdk安装是否成功  java -version

 

安装elasticsearch

 

1.下载

https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-6.4.2.tar.gz

用迅雷下载速度比较快,然后复制到linux服务器

2.解压

3.修改配置文件elasticsearch.yml   

network.host: 192.168.45.128      #linux服务器ip地址

http.port: 9200

4.启动(切换到es目录执行启动命令)     

   ./bin/elasticsearch

 

启动有可能出现的错误:

1.启动报can not run elasticsearch as root

   原因是不能用root的权限去启动es,避免es用过高的权限去执行一些操作,可以新增一个用户解决

 

2.启动之后进程自己kill掉了

   原因可能是因为内存不足导致的,可以通过修改配置文件解决

 

3.报bootstrap checks failed错误

 

4.报max file descriptors [4096] for elasticsearch process is too low, increase to at least [65536]

vi /etc/security/limits.conf

* soft nofile 65536

* hard nofile 131072

* soft nproc 2048

* hard nproc 4096

 

5.报max number of threads [3895] for user [elk] is too low, increase to at least [4096]
   解决方法:root用户修改:vi /etc/security/limits.d/90-nproc.conf
   *          soft    nproc     2048
   修改为:
   *          soft    nproc     4096
 

6.如果是centos6系统的话,有可能会出现system call filters failed to install; check the logs and fix your configuration or disable  system call filters at your own risk。
   原因是Centos6不支持SecComp,而ES默认bootstrap.system_call_filter为true
  解决办法:修改elasticsearch.yml,在一行注释为Memory的下面添加:
  bootstrap.memory_lock: false
  bootstrap.system_call_filter: false

 

如果以上解决办法还是不行的话,可以尝试重启一下服务器。

 

访问elasticsearch需要关闭服务器防火墙

   systemctl stop firewalld.service

 

访问http://192.168.45.128:9200/

说明安装并且启动成功了。

 

需要注意的是,elasticsearch有两个端口9300和9200

9300端口: ES节点之间通讯使用
9200端口: ES节点 和 外部 通讯使用

 

 

 

 

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值