ElasticSearch 系列第一章 - 介绍和安装(CentOs7)

博主个人主页

前言

这一系列文章是ElasticSearch的 关于ElasticSearch 相信大家多少应该听过 他也是一个文档型的nosql 在之前搭建或多或少肯定接触过solr吧

首先借用百度百科对ElasticSearch的介绍

ElasticSearch是一个基于Lucene的搜索服务器。它提供了一个分布式多用户能力的全文搜索引擎,基于RESTful web接口。Elasticsearch是用Java语言开发的,并作为Apache许可条款下的开放源码发布,是一种流行的企业级搜索引擎

和Solr有什么区别呢?

Solr 2004年诞生(当时是Solar),ElasticSearch 2010年诞生从2016年来开始 es 的使用量就大大提高 逐渐超越了solr 同样es也是文档性的存储结构 不过仅仅支持json格式存储 但是能够处理大批量的数据 solr 支持的数据格式相比es来说要丰富多一些 但是在建立索引的时候可能会造成io阻塞 但是es在这方面做了一定的优化 ES更加新一些。 说白了 solr 就是一个 war 包 Solr 利用 Zookeeper 进行分布式管理,而 Elasticsearch 自身带有分布式协调管理功能 Solr 在传统的搜索应用中表现好于 Elasticsearch,但在处理实时搜索应用时效率明显低于 Elasticsearch

所以根据项目情况选择吧

ElasticSearch 安装

安装步骤相对来说比较复杂哦 不过跟着我的文章来 是没有错的 我都踩过坑了…0.0

我做了笔记 这里就直接 拿过来吧 记得先认真的吧安装过程步骤看一遍 再开始安装哦 否则 后果自负哦 hhh

后续出docker安装的~~ 简单多了

第一步

安装JDK8

由于ES是采用Java开发的所以需要我们安装Java环境 建议Java版本稍微高一点 JDK8 就行

  • 上传JDK tar 包 到LINUX服务器 可以使用xftp 或者其他ftp软件# 上传到 /usr/local/software/ 即可

  • 解压tar -zxvf jdk-8u111-linux-x64.tar.gz

  • 查看ls

  • 移动 mv jdk-8u111-linux-x64 /usr/local/user/jdk8# 切换到目标目录cd /usr/local/user/jdk8

  • 查看路径pwd# 复制路径vim /etc/profile

  • 增加内容 /usr/local/user/jdk8 根据你的实际位置为准

    • export JAVA_HOME=/usr/local/user/jdk8;
    • export CLASSPATH=JAVAHOME/lib/dt.jar:JAVA_HOME/lib/dt.jar:JAVA_HOME/lib/tools.jar;
    • PATH = JAVAHOME/bin:JAVA_HOME/bin:PATH;
  • 退出并保存esc + shift + : + w + q + enter

  • 刷新文件source /etc/profile

  • 查看版本java --version

  • 查看java javac

  • 安装完毕

第二步

安装 es

  • 上传es包到linux服务器中

  • 获取资料地址

    • 链接:https://pan.baidu.com/s/1CpFatoBIeeiWR4eq4uv1Hw
    • 提取码:ohkx
  • 然后放置到你指定的目录中去

  • 进行解压缩

  • 进入到bin目录 使用 ./elasticsearch 启动

  • 报错
    ElasticSearch 系列第一章 - 介绍和安装(CentOs7)

  • 这是由于 elasticsearch 不允许使用 root 用户启动

  • 使用这条指令 启动 ./elasticsearch -Des.insecure.allow.root=true 启动 允许root用户

    • 其实这一步可以省了 但是为了 充分的见识到错误 还是加上了
  • 报错ElasticSearch 系列第一章 - 介绍和安装(CentOs7)

  • 这个是处于安全的考虑 建议创建一个单独的用户来运行ES

  • 创建用户和用户组

  • 创建用户组groupadd esgroup 这是linux命令哦

  • 创建用户并添加到用户组 useradd esyonghu -g esgroup -p 123456

  • 修改 elasticsearch 文件夹以及内部文件的所属用户以及组

  • 移动到加压的es目录的上一级

  • 执行命令 chown -R esyonghu:esgroup elasticsearch-6.2.4 让这个用户可以运行这个下面的内容

  • 切换用户测试 su esyonghu

  • 移动到bin目录

  • 启动 ./elasticsearch -d 意思是后台启动 不占用当前客户端

  • 测试 curl 127.0.0.1:9200
    ElasticSearch 系列第一章 - 介绍和安装(CentOs7)

  • 代表 成功

  • 但是这时候不能够通过windows去访问es服务器 还是需要进行配置

  • 进入到config文件夹修改有yml文件

  • 修改如下两处

    • network.host 你的ip
      ElasticSearch 系列第一章 - 介绍和安装(CentOs7)
  • 然后在启动es

  • 报错
    ElasticSearch 系列第一章 - 介绍和安装(CentOs7)

  • 出现三个错误 一一解决

  • 处理第一个错误

    • 切换到root用户
    • 修改这个文件 vim /etc/security/limits.conf
    • 在末尾加上如下指令 esyonghu 是用户名
    • esyonghu soft nofile 65536
    • esyonghu hard nofile 65536
    • esyonghu soft nproc 4096
    • esyonghu hard npeoc 4096
  • 处理第二个错误 最大线程数

    • 修改 vi /etc/security/limits.d/20-nproc.conf 文件
    • 增加如下指令 或修改* 为指定用户
      • esyonghu soft nproc 4096
      • * hard nproc 4096
  • 处理第三个错误 内存大小至少需要262144

    • 修改如下文件 vim /etc/sysctl.conf
    • 增加如下内容 vm.max_map_count=262144
    • 执行以下命令生效 sysctl -p
  • 关闭防火墙 systemctl stop firewalld

  • 禁用防火墙 systemctl disable firewalld

  • 再次启动切换到esyonghu 用户 并移动到bin目录

  • 执行 ./elasticsearch 启动成功

  • 如果不成功还是报错两个的话 重启虚拟机重试

    • root 用户 执行 reboot 即可
  • 如果报错 已杀死 是JVM内存较少 那么就去修改elasticsearch 文件

    • 设置 ES_JVM_OPTS=”-Xms512m -Xms512m”
  • 在启动 不行就再次重启 重试 切换到 esyonghu

  • windows中访问es api 查看情况
    ElasticSearch 系列第一章 - 介绍和安装(CentOs7)

  • 至此 es6.2.4 的安装基本完成

es的停止

  • 前台模式停止
    • Ctrl + c 即可
  • 后台模式停止
    • Jps 查看进程号
    • Kill -9 pid 杀死即可

结语

今天这个就到这里啦~