elasticsearch 单节点搭建与爬坑记录

 

prepare

 

  • 虚拟机或者云服务器(这里用的是阿里云ECS)

  • linux---centos7

  • 安装完毕的jdk

  • 相应的安装包(在https://www.cnblogs.com/G-Aurora/p/13099459.html中有快速下载的镜像站)

  • ps.下文主要指出主要注意的地方,步骤按照标注的数字来即可(编写此文时使用的是市面上多数新版参考书所使用的Elasticsearch5.x版)

 

用户组

首先需要高度关注的是文件夹的“归属”和权限。

Elasticsearch在Linux下只能通过root用户启动。并且为了尽量避免解压缩后再次回头修改文件夹的”归属“,我建议使用新建的用户解压安装包,这样解压缩后的文件的归属就直接归属于新用户。

  1. 创建新用户

    若出现如下报错就是需要解决文件夹归属问题

    详见:https://www.cnblogs.com/G-Aurora/p/13100261.html 中的 “为文件更改归属&赋权”

  2. 解压缩安装包

 

启动前修改参数

我个人的建议是要根据自己机器的实际情况判断是否需要更改,不足的就改,有余的可以不改(以root用户修改

 

vim /etc/security/limits.conf

增加最大文件数

* soft nofile 65536
* hard nofile 131072
* soft nproc 2048
* hard nproc 4096

拓展阅读:https://www.cnblogs.com/youngerger/p/9128245.html

 

所有配置完成后启动出现:

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

那是因为配置没有生效,我们可以使用

ulimit -Hn

来进行检验,如果小于等于65535,那么通过

ulimit -Hn 65536

使配置生效,再次使用ulimit -Hn进行检验即可

 

哈哈,但是还是有可能报相同的错误

例如在我的启动过程中,我是使用xshell同时开了为root和es两个用户开了两个窗口,当我在root下修改了limits.conf并ulimit -Hn 65536后,分别使用root和es使用ulimit -Hn进行检验,发现两个用户的返回结果不一样,es的还是默认的65535

此时你可以选择

  • 重启
  • 在返回了已更改的ulimit -Hn结果的用户下(root),切换为es再进行启动,(当然后面的配置要完成)。Great,you get it.

 

vim /etc/security/limits.conf/90-nproc.conf

增大最大进程数

* soft nproc 2048  //修改,而非添加

在我的ECS机器上只发现了20-nproc.conf文件,配置参数有余,而且应该不用手动创建90-nporoc.conf文件(后来事实证明也是如此)

拓展阅读:https://yq.aliyun.com/articles/238584

对于拓展文章的拓展:https://www.cnblogs.com/ftl1012/p/ulimit.html

需要考虑修改nproc的情况 :

  • Cannot create GC thread. Out of system resources
  • java.lang.OutOfMemoryError: unable to create new native thread

 

vim /etc/sysctl.conf

增加虚拟内存

vm.max_map_count=655360

记得

sysctl -p

 

启动

在es用户下进入elasticsearch/bin

使用

elasticsearch

即可启动

 

检验

  • 通过curl

    curl -XGet 'http://localhost:9200/'

  • 任意用户使用jps

 

解决只能通过localhost+端口访问的问题

https://www.cnblogs.com/G-Aurora/p/13111162.html

 

elasticsearch 单节点搭建与爬坑记录的更多相关文章

  1. mybatis-generator 详细配置及使用,爬坑记录

    mybatis-generator 详细配置及使用,爬坑记录 提示:如果不成功一定是项目路径和 数据库配置出问题,本篇基于 MySQL 8.0.13,调试没有问题. 如果失败,建议使用相同的项目结构, ...

  2. centos7安装Mysql爬坑记录

    centos7安装Mysql爬坑记录   查看是否已安装 使用下列命令查看是否已经安装过mysql/mariadb/PostgreSQL 如果未安装,不返回任何结果(ECS的centos镜像默认未安装 ...

  3. elasticsearch 单节点实现

    一.安装java环境,这么不说了,一般用源码安装,配置好环境变量 二.新建es用户和组,es不能用root启动 三.下载需要的稳定版es 四.解压安装es .zip /opt/app/ es / 五. ...

  4. RAC+单节点搭建DG

    primary RAC to single standby 参考文献:RAC+单实例DATAGUARD 配置   http://blog.csdn.net/miyatang/article/detai ...

  5. 03、Swagger2和Springmvc整合详细记录(爬坑记录)

    时间 内容 备注 2018年6月18日 基本使用 spirngmvc整合swagger2 开始之前这个系列博文基本是,在项目的使用中一些模块的内容记录,但是后期逐渐优化,不单单是整合内容. swagg ...

  6. elasticsearch 单节点出现unassigned_shards

    查看单节点Elasticsearch健康状态 使用head插件查看集群状态 从上面截图可以看出存在5个unassigned的分片,新建索引blog5的时候,分片数为5,副本数为1,新建之后集群状态成为 ...

  7. vuex2.0.0爬坑记录 -- mutations的第一个参数state不能解构

    今天在学习vuex的过程中,遇到了一个很困扰人的问题,最终利用vuex的状态快照工具logger解决了问题. 问题是这样的,我在子组件中使用了mapState()函数来将状态映射至子组件中,使子组件能 ...

  8. JdbcTemplate的一次爬坑记录

    时隔三个多月,我终于想起我还有个博客,其实也不是忘了我这个博客,只是平时工作繁忙没时间去写博客,故今晚腾出时间来记录一下上次工作中遇到的一个问题,给园友们分享出来,以免入坑. 上个星期在工作中使用Jd ...

  9. Vue开发爬坑记录

    1.使用eslint代码检查时,常见的的错误: 1.1 Expected indentation of 0 spaces but found 1 前面的空格个数不对.应该不能有空格. 1.2 Stri ...

随机推荐

  1. Java实现第十届蓝桥杯旋转

    试题 F: 旋转 时间限制: 1.0s 内存限制: 512.0MB 本题总分:15 分 [问题描述] 图片旋转是对图片最简单的处理方式之一,在本题中,你需要对图片顺时 针旋转 90 度. 我们用一个 ...

  2. java实现第四届蓝桥杯危险系数

    危险系数 抗日战争时期,冀中平原的地道战曾发挥重要作用. 地道的多个站点间有通道连接,形成了庞大的网络.但也有隐患,当敌人发现了某个站点后,其它站点间可能因此会失去联系. 我们来定义一个危险系数DF( ...

  3. 数据结构&算法

    20个最常用.最基础数据结构与算法: 10个数据结构:数组.链表.栈.队列.散列表.二叉树.堆.跳表.图.Trie 树. 10个 算法      :递归.排序.二分查找.搜索.哈希.贪心.分治.回溯. ...

  4. K8S-PV和PVC的实践

    一.什么是PV和PVC? PV的全称是Persistent Volume,翻译过来为持久化存储卷,是对底层的共享存储的一种抽象,PV由管理员进行创建和配置,主要含存储能力.访问模式.存储类型.回收策略 ...

  5. CSS中的float和margin的混合使用

    在最近的学习中,在GitHub上找了一些布局练习,我发现了我自己对布局超级不熟悉(很难受). 在以前的学习中,感觉使用CSS就记住各个属性的功能就OK了,但是呢?真的很打脸.不说了,太伤心了,进入正题 ...

  6. HashMap(一)之源码分析基本功

    1. 位运算 参考 java中位运算^,&,<<,>>,<<<,>>>总结 2. 关键字 transient 理解一下这个关键字,顺 ...

  7. JAVA 代码查错

    1.abstract class Name { private String name; public abstract boolean isStupidName(String name){}} 大侠 ...

  8. JAVA多线程实现的三种方法

    JAVA多线程实现方式主要有三种:继承Thread类.实现Runnable接口.使用ExecutorService.Callable.Future实现有返回结果的多线程.其中前两种方式线程执行完后都没 ...

  9. 微信小程序session_key解析中反斜杠问题处理 Java解析

    Java服务端微信小程序解密用户信息.手机号需用到session_key也需要decode,以下是官方描述: 加密数据解密算法 接口如果涉及敏感数据(如wx.getUserInfo当中的 openId ...

  10. 【转载】图解NumPy

    目录 1. 读写文件 2. 内建向量/矩阵 3. 切片操作 4. 聚合函数 4.1. 向量 4.2. 矩阵 5. 矩阵的转置和重构 6. 常用操作API 7. 应用实例 7.1. 生成向量.矩阵 7. ...