前言
这一系列文章是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=$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar;
- PATH = $JAVA_HOME/bin:$PATH;
-
退出并保存esc + shift + : + w + q + enter
-
刷新文件source /etc/profile
-
查看版本java --version
-
查看java javac
-
安装完毕
第二步
安装 es
-
上传es包到linux服务器中
-
获取资料地址
- 链接:https://pan.baidu.com/s/1kr6C3Dcp4kD3HxKMPIlUKA
- 提取码:xszf
-
然后放置到你指定的目录中去
-
进行解压缩
-
进入到bin目录 使用 ./elasticsearch 启动
-
报错
-
这是由于 elasticsearch 不允许使用 root 用户启动
-
使用这条指令 启动 ./elasticsearch -Des.insecure.allow.root=true 启动 允许root用户
- 其实这一步可以省了 但是为了 充分的见识到错误 还是加上了
-
报错
-
这个是处于安全的考虑 建议创建一个单独的用户来运行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
-
代表 成功
-
但是这时候不能够通过windows去访问es服务器 还是需要进行配置
-
进入到config文件夹修改有yml文件
-
修改如下两处
- network.host 你的ip
- network.host 你的ip
-
然后在启动es
-
报错
-
出现三个错误 一一解决
-
处理第一个错误
- 切换到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 查看情况
-
至此 es6.2.4 的安装基本完成
es的停止
- 前台模式停止
- Ctrl + c 即可
- 后台模式停止
- Jps 查看进程号
- Kill -9 pid 杀死即可
结语
今天这个就到这里啦~