elastic search安装与本地测试

elastic search是一个全文搜索引擎

教程:

综合:http://www.ruanyifeng.com/blog/2017/08/elasticsearch.html 强烈推荐

centos7上安装与配置:https://www.biaodianfu.com/centos-7-install-elasticsearch.html 不全

正确安装步骤:

root身份登陆服务器

安装java8并配置环境变量

执行一个命令,修改内核参数,让java能够锁定内存:https://www.cnblogs.com/rabbitpei/p/6738671.html

创建一个普通用户es

以es身份重新登陆服务器

修改~/.bashrc文件,加入如下两行:

source ~/.bashrc让配置生效

下载elastic search,解压,进入文件夹,执行./bin/elasticsearch,看到如下就说明启动起来了,可以在本机测试一下:

我的安装历程(用的putty来远程登陆控制服务器):

root身份登陆服务器

安装java8并配置环境变量

下载elastic search,解压,进入文件夹。

执行./bin/elasticsearch,报错,检查后发现,java不能锁定内存:https://www.cnblogs.com/rabbitpei/p/6738671.html

解决办法:执行命令,让java可以锁定内存。

执行./bin/elasticsearch,报错,检查后发现,奇奇怪怪的错误,看教程后发现,新版的elastic search不支持root启动。

解决办法:创建一个普通用户es

su es,输入密码,继续./bin/elasticsearch,却发现因为此时在/root文件夹中,没有权限,于是sudo,又被提示not in the sudoers:https://jingyan.baidu.com/article/2a1383284bb3e8074a134f2d.html

解决办法:加入sudoers

继续sudo执行./bin/elasticsearch,奇奇怪怪的错误。

解决办法:于是,以es身份重新登录服务器,进到了es用户的文件夹,这下总算没有权限问题了。

下载elastic search,解压,进入文件夹。

执行./bin/elasticsearch,报错,这次报错倒是很简短,被kill。检查后发现,因为我的服务器只有1G内存,而我没有设置elastic search使用的内存大小,所以elastic search采用默认值1G,故启动elastic search时,elastic search进程试图向操作系统申请1G的内存空间,直接导致内存不足,触发了linux的OOM killer,OOM killer遂将刚启动的elastic search杀死。

关于elastic search的内存申请以及OOM killer:

什么是oom killer:https://www.vpsee.com/2013/10/how-to-configure-the-linux-oom-killer/

如何防止elastic search被oom killer杀死:https://stackoverflow.com/questions/25355726/prevent-elasticsearch-from-being-killed-by-oom-killer(注意,里面的ES_HEAP_SIZE的写法,在elastic search5.0中已经被ES_JAVA_OPTS代替!)

是不是给elastic search分的内存越大越好呢?不是!:https://www.v2ex.com/t/411036+++https://www.cnblogs.com/jiu0821/p/5650027.html (注意,里面的ES_HEAP_SIZE的写法,在elastic search5.0中已经被ES_JAVA_OPTS代替!)

解决办法:在环境变量/启动命令/elastic search配置文件里设置elastic search所占内存大小:修改~/.bashrc文件,加入如下两行:

第一行是JAVA_HOME环境变量,一定要配。

第二行就是elastic search所要申请的内存空间,200m的意思就是申请200MB的空间。如果想设的更大,例如4G,那么就这么写:export ES_JAVA_OPTS='-Xms4g -Xmx4g'。注意,不接受小数,例如这么写是错的:export ES_JAVA_OPTS='-Xms0.5g  -Xmx0.5g'(不应该写成0.5g而应该写成512m)。

修改完~/.bashrc后,保存退出,source ~/.bashrc让其生效。

再回到elastic search解压出的文件夹,执行./bin/elasticsearch

终于启动成功

然后新建一个putty session,以root身份登陆,在本机测试一下(为什么要在本机测试呢?因为elastic search默认只接受本机的请求,因为elastic search没有安全验证机制,所以如果要暴露端口到局域网乃至公网的话,是非常危险的,我们暂时就现在本机测试好了~,相关参考:http://bbs.360.cn/thread-14813424-1-1.html+++https://elasticsearch.cn/article/129

使用curl命令发送一个http请求到9200端口。

注意,有时,正在运行着elastic search的putty会因为超时而断开,此时如果重新登陆,需要查看一下占用9200端口/9300端口的进程,然后杀死那个进程,然后才能重新启动elastic search,否则端口被占用。

测试,成功!

sth.interesting:https://www.cnblogs.com/zlslch/p/6619089.html

elastic search安装与本地测试的更多相关文章

  1. SQL数据同步到ELK(二)- Elastic Search 安装

    开篇废话 没错,前面扯了一堆SQL SERVER,其实我连Elastic Search根本没动手玩过(是不是与时代有点脱节了?),那今天我就准备尝试安装一个ELK的简单集群出来(这个集群是使用我的小米 ...

  2. Elastic Search 安装和配置

    目标 部署一个单节点的ElasticSearch集群 依赖 java环境 $java -version java version "1.8.0_161" Java(TM) SE R ...

  3. ELASTIC SEARCH 安装

    elastic search 2017年3月18日 安装&使用 环境 表 1 环境信息 Centos cat /etc/issue CentOS release 6.8 (Final) cat ...

  4. Elastic Search安装-windows

    转载自:https://blog.csdn.net/linkkb/article/details/82805145 其中稍作修改 ElasticSearch介绍 ES是一个基于Lucene的分布式全文 ...

  5. elastic search远程测试

    elastic search远程测试 推荐:elastic官方教程:https://www.elastic.co/guide/en/elasticsearch/reference/6.2/index. ...

  6. aws ec2 安装Elastic search 7.2.0 kibana 并配置 hanlp 分词插件

    文章大纲 Elastic search & kibana & 分词器 安装 版本控制 下载地址 Elastic search安装 kibana 安装 分词器配置 Elastic sea ...

  7. elastic search&logstash&kibana 学习历程(一)es基础环境的搭建

    elastic search 6.1.x 常用框架: 1.Lucene Apache下面的一个开源项目,高性能的.可扩展的工具库,提供搜索的基本架构: 如果开发人员需用使用的话,需用自己进行开发,成本 ...

  8. Elastic Search快速上手(1):简介及安装配置

    前言 最近开始尝试学习Elastic Search,因此决定做一些简单的整理,以供后续参考,快速上手使用ES. 简介 ElasticSearch是一个基于Lucene的搜索服务器.它提供了一个分布式多 ...

  9. docker安装elastic search和kibana

    安装目标 使用docker安装elastic search和kibana,版本均为7.17.1 安装es 1. docker pull 去dockerhub看具体版本,这里用7.17.1 docker ...

随机推荐

  1. Android收起虚拟键盘

    关于收起虚拟键盘,网上能找到的大多是这个: InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_M ...

  2. dbutils使用---QueryRunner实现in批量查询

    sql.append("AND a.").append(MchStore.STORE_PROVINCE_COL).append(" IN ("); for (i ...

  3. 跟着百度学PHP[14]-PDO之Mysql的事务处理1

    事务处理:在实际案例当中干一件事的mysql语句(好比转账,小一同学转账100,小二同学收账,在mysql当中小一就要减去转账的钱,小二就要增加100快)倘若该语句执行过程中有任何一条的sql语句出错 ...

  4. npm太慢, 淘宝npm镜像使用方法[转]

    淘宝 npm 地址: http://npm.taobao.org/ 如何使用 有很多方法来配置npm的registry地址,下面根据不同情境列出几种比较常用的方法.以淘宝npm镜像举例: 1.临时使用 ...

  5. The Definitive Guide To Django 2 学习笔记(三) URLconfs 和松耦合

    前面的例子体现了一个设计模式中的重要思想,松耦合. 不论我们是将/time/改成/current_time/,还是新建一个/another-time-page/同样指向views.py中的 curre ...

  6. FastDFS安装详解

    1.安装环境 os:centos6.5 Fastdfs版本:FastDFS_v5.08.tar.gz 下载地址:https://sourceforge.net/projects/fastdfs/fil ...

  7. OSGI

    OSGi(Open Service Gateway Initiative)技术是面向Java的动态模型系统.OSGi服务平台向Java提供服务,这些服务使Java成为软件集成和软件开发的首选环境.Ja ...

  8. 8237dma的四种传送方式简介

    8237A有四种工作方式:单字节传送.数据块传送.请求传送和多片级联. (1)单字节传送(single mode) 单字节传送方式是每次DMA传送时,仅传送一个字节.传送一个字节之后,当前字节计数器减 ...

  9. 11 jsp脚本调用java代码

    大多数情况下, jsp 文档的大部分由静态文本(html)构成, 为处理该页面而创建的 servlet 只是将它们原封不动的传递给客户端, 原封不动的传送给客户端有两个小例外: 1. 如果想传送 &l ...

  10. 阐述二维码的原理以及使用google api和PHP QR Code来生成二维码

    一.什么是二维码:二维码 (2-dimensional bar code),是用某种特定的几何图形按一定规律在平面(二维方向上)分布的黑白相间的图形记录数据符号信息的.在许多种类的二维条码中,常用的码 ...