elastic search安装与本地测试
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安装与本地测试的更多相关文章
- SQL数据同步到ELK(二)- Elastic Search 安装
开篇废话 没错,前面扯了一堆SQL SERVER,其实我连Elastic Search根本没动手玩过(是不是与时代有点脱节了?),那今天我就准备尝试安装一个ELK的简单集群出来(这个集群是使用我的小米 ...
- Elastic Search 安装和配置
目标 部署一个单节点的ElasticSearch集群 依赖 java环境 $java -version java version "1.8.0_161" Java(TM) SE R ...
- ELASTIC SEARCH 安装
elastic search 2017年3月18日 安装&使用 环境 表 1 环境信息 Centos cat /etc/issue CentOS release 6.8 (Final) cat ...
- Elastic Search安装-windows
转载自:https://blog.csdn.net/linkkb/article/details/82805145 其中稍作修改 ElasticSearch介绍 ES是一个基于Lucene的分布式全文 ...
- elastic search远程测试
elastic search远程测试 推荐:elastic官方教程:https://www.elastic.co/guide/en/elasticsearch/reference/6.2/index. ...
- aws ec2 安装Elastic search 7.2.0 kibana 并配置 hanlp 分词插件
文章大纲 Elastic search & kibana & 分词器 安装 版本控制 下载地址 Elastic search安装 kibana 安装 分词器配置 Elastic sea ...
- elastic search&logstash&kibana 学习历程(一)es基础环境的搭建
elastic search 6.1.x 常用框架: 1.Lucene Apache下面的一个开源项目,高性能的.可扩展的工具库,提供搜索的基本架构: 如果开发人员需用使用的话,需用自己进行开发,成本 ...
- Elastic Search快速上手(1):简介及安装配置
前言 最近开始尝试学习Elastic Search,因此决定做一些简单的整理,以供后续参考,快速上手使用ES. 简介 ElasticSearch是一个基于Lucene的搜索服务器.它提供了一个分布式多 ...
- docker安装elastic search和kibana
安装目标 使用docker安装elastic search和kibana,版本均为7.17.1 安装es 1. docker pull 去dockerhub看具体版本,这里用7.17.1 docker ...
随机推荐
- makefile之伪目标
伪目标 1. 伪目标的语法: 在书写伪目标时,首先需要声明伪目标,然后再定义伪目标规则. 1.1 声明伪目标: .PHONY clean (这里声明clean是伪目标) 1.2 定义伪目标规则: cl ...
- 0055 <mvc:default-servlet-handler />不能同时访问静态资源和动态资源的问题
刚才在折腾的时候,发现applicationContext.xml中配置了<mvc:default-servlet-handler />后,能访问静态资源,却不能访问动态资源了:注释掉之后 ...
- hdu6038 Function 函数映射
/** 题目:hdu6038 Function 链接:http://acm.hdu.edu.cn/showproblem.php?pid=6038 题意:给定一个a排列[0,n-1],一个b排列[0, ...
- 自动化软件部署的shell脚本
在实际项目中,我们经常用到需要自动化部署软件的情况,这种情况下,我们就不能人为地在命令行下敲击命令了,一切都需要通过shell脚本自动化完成.所谓自动化完成,其实也就是通过写shell程序,模拟人为敲 ...
- c++11线程池实现
咳咳.c++11 增加了线程库,从此告别了标准库不支持并发的历史. 然而 c++ 对于多线程的支持还是比較低级,略微高级一点的使用方法都须要自己去实现,譬如线程池.信号量等. 线程池(thread p ...
- kubernetes和calico集成
硬件环境: 三台虚拟机: 192.168.99.129 master(kube-apiserver.kube-controller-manager.kube-proxy.kube-scheduler. ...
- C++ 类模板三(类模版中的static关键字)
//类模版中的static关键字 #include<iostream> using namespace std; /* 类模板本质上是c++编译器根据类型参数创建了不同的类, c++编译器 ...
- CNN图像分割总结
深度学习(三十三)CRF as RNN语义分割-未完待续 http://blog.csdn.net/hjimce/article/details/50888915 Fully Convolutiona ...
- 【分享】DevDocs API Documentation
http://devdocs.io/ 这是一份综合性的在线API列表,很全,方便查找.
- Python捕获异常
一.常见异常 1.语法错误:SyntaxError:invalid syntax (1)案例: (1)解决方法: ①查看代码有没有红色波浪线 ②熟悉python基本语法 2.变量名不存在:NameEr ...