zoukankan      html  css  js  c++  java
  • 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

  • 相关阅读:
    APP测试-流量测试
    APP测试-流畅度测试
    APP测试-耗电分析
    工具安装-Homebrew
    工具安装-go for Mac
    APP测试-耗电量测试
    APP测试-CPU测试
    APP测试-内存测试
    APP测试-monkey
    APP测试-adb命令
  • 原文地址:https://www.cnblogs.com/zealousness/p/8757802.html
Copyright © 2011-2022 走看看