美文网首页各种工具配置
elasticsearch/elasticsearch-rtf安

elasticsearch/elasticsearch-rtf安

作者: Demons丶 | 来源:发表于2018-02-19 20:28 被阅读0次

    本地mac安装没出现什么问题,直接安装都运行了,最近在阿里云服务器安装的时候各种坑不断的踩,平时也没有习惯写出来的习惯,但是每次安装都好费时间,而且还容易忘记,就自己写一写,留作以后备用.仅是个人安装遇到的问题.

    什么是Elasticsearch-RTF

    RTF是Ready To Fly的缩写,在航模里面,表示无需自己组装零件即可直接上手即飞的航空模型,Elasticsearch-RTF是针对中文的一个发行版,即使用最新稳定的elasticsearch版本,并且帮你下载测试好对应的插件,如中文分词插件等,目的是让你可以下载下来就可以直接的使用(虽然es已经很简单了,但是很多新手还是需要去花时间去找配置,中间的过程其实很痛苦),当然等你对这些都熟悉了之后,你完全可以自己去diy了,跟linux的众多发行版是一个意思。

    一、Java环境安装。

    因为Elasticsearch是Java环境编写的,所以要有Java环境来支持运行

    1. 检查是否有java(我直接输入java -version看的)


    2. 下载安装包并上传服务器
      http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html


      我这边放到了根目录
       scp jdk-8u162-linux-x64.rpm root@*:/root   - *为ip
      
    3. 安装JDK

       rpm -ivh jdk-8u162-linux-x64.rpm
      
    4. 查看是否安装正常


    5. 就是我们的常规配置环境变量了

       1. vim /etc/profile
       2. JAVA_HOME=/usr/java/jdk1.8.0_162
          JRE_HOME=/usr/java/jdk1.8.0_162/jre
          PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin
          CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib
          export JAVA_HOME JRE_HOME PATH CLASSPATH
       3. source /etc/profile 
      
    6. 手工,开始继续安装我们的主角

    二、安装Elasticsearch-rtf

    1. 下载(安装git)

       git clone git://github.com/medcl/elasticsearch-rtf.git -b master --depth 1
      
    1. 运行
      Mac/Linux:

       cd elasticsearch-rtf/bin
       ./elasticsearch
      
    2. 满怀惊喜,结果...

      3.1.

    Java HotSpot(TM) 64-Bit Server VM warning: INFO: os::commit_memory(0x000000008a660000, 1973026816, 0) failed; error='Cannot allocate memory' (errno=12)
    #
    # There is insufficient memory for the Java Runtime Environment to continue.
    # Native memory allocation (mmap) failed to map 1973026816 bytes for committing reserved memory.
    # An error report file with more information is saved as:
    # /home/wangyw/elasticsearch-rtf/bin/hs_err_pid28563.log
    

    错误原因:由于elasticsearch5.0默认分配jvm空间大小为2g,修改jvm空间分配
    解决方案:

        vim config/jvm.options 
    
    修改如上就可以了

    3.2 继续运行

    [WARN ][o.e.b.ElasticsearchUncaughtExceptionHandler] [] uncaught exception in thread [main]
    org.elasticsearch.bootstrap.StartupException: java.lang.RuntimeException: can not run elasticsearch as root
        at org.elasticsearch.bootstrap.Elasticsearch.init(Elasticsearch.java:125) ~[elasticsearch-5.1.1.jar:5.1.1]
        at org.elasticsearch.bootstrap.Elasticsearch.execute(Elasticsearch.java:112) ~[elasticsearch-5.1.1.jar:5.1.1]
        at org.elasticsearch.cli.SettingCommand.execute(SettingCommand.java:54) ~[elasticsearch-5.1.1.jar:5.1.1]
        at org.elasticsearch.cli.Command.mainWithoutErrorHandling(Command.java:96) ~[elasticsearch-5.1.1.jar:5.1.1]
        at org.elasticsearch.cli.Command.main(Command.java:62) ~[elasticsearch-5.1.1.jar:5.1.1]
        at org.elasticsearch.bootstrap.Elasticsearch.main(Elasticsearch.java:89) ~[elasticsearch-5.1.1.jar:5.1.1]
        at org.elasticsearch.bootstrap.Elasticsearch.main(Elasticsearch.java:82) ~[elasticsearch-5.1.1.jar:5.1.1]
    Caused by: java.lang.RuntimeException: can not run elasticsearch as root
        at org.elasticsearch.bootstrap.Bootstrap.initializeNatives(Bootstrap.java:100) ~[elasticsearch-5.1.1.jar:5.1.1]
        at org.elasticsearch.bootstrap.Bootstrap.setup(Bootstrap.java:176) ~[elasticsearch-5.1.1.jar:5.1.1]
        at org.elasticsearch.bootstrap.Bootstrap.init(Bootstrap.java:306) ~[elasticsearch-5.1.1.jar:5.1.1]
        at org.elasticsearch.bootstrap.Elasticsearch.init(Elasticsearch.java:121) ~[elasticsearch-5.1.1.jar:5.1.1]
        ... 6 more
    

    错误原因:因安全因素,不能在root用户下运行
    解决方案:

        groupadd es
        useradd es -g es -p es
        chown -R es:es es/elasticsearch-rtf
        su es
    

    然后再次启动
    3.3 又出错了,快崩溃了

    ERROR: bootstrap checks failed
    max file descriptors [65535] for elasticsearch process is too low, increase to at least [65536]
    max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]
    

    解决方法:切换到root用户,编辑limits.conf 添加类似如下内容

        ~ vim /etc/security/limits.conf
        修改内容:* soft nofile 65536
    

    然后重新登录一下用户输入

        ~ ulimit -Hn
          65536
    

    在切回root用户

        ~ vim /etc/sysctl.conf 
          vm.max_map_count=262144
        ~ sysctl -a|grep vm.max_map_count
          sysctl: reading key "net.ipv6.conf.all.stable_secret"
          sysctl: reading key "net.ipv6.conf.default.stable_secret"
          sysctl: reading key "net.ipv6.conf.eth0.stable_secret"
          sysctl: reading key "net.ipv6.conf.lo.stable_secret"
          vm.max_map_count = 262144
    

    然后执行sysctl -p,然后,重新启动elasticsearch,即可启动成功。
    阿里云服务器访问外网修改了config/elasticsearch.yml 后还需要添加安全组

    1. 开启外网访问并且验证

       ~ vim config/elasticsearch.yml 
        翻到下面找到并修改
        network.host: 0.0.0.0
        http.cors.enabled: true
        http.cors.allow-origin: "*"
        http.cors.allow-methods: OPTIONS,HEAD,GET,POST,PUT,DELETE
        http.cors.allow-headers: "X-Requested-With,Content-Type,Content-Length, X-User"
      

    然后保存退出,重新运行

         ~ ./elasticsearch
    

    三、安装 elasticsearch-head

    elasticsearch-head是集群管理工具、数据可视化、增删改查工具

        git clone git://github.com/mobz/elasticsearch-head.git
    

    elasticsearch-head的使用需要基于nodejs,所以需要安装nodejs

        cd /usr/local/
        wget https://npm.taobao.org/mirrors/node/v8.9.3/node-v8.9.3-linux-x64.tar.xz
    

    不知道为什么我下载下来就是xz格式 一开始不能直接解压然后

        xz -d node-v8.9.3-linux-x64.tar.xz
        tar -xvf node-v8.9.3-linux-x64.tar
        名字太长了重命名
        mv node-v8.9.3-linux-x64 node
        配置环境变量
        vim /etc/profile
        export NODE_HOME=/usr/local/node  
        export PATH=$NODE_HOME/bin:$PATH  
        保存退出,执行生效
        source /etc/profile
    

    然后使用命令查看版本


    然后切回刚才下载的elasticsearch-head 目录执行

        npm install
        npm run start
        正常执行  http://localhost:9100 就可以访问了
    

    相关文章

      网友评论

        本文标题:elasticsearch/elasticsearch-rtf安

        本文链接:https://www.haomeiwen.com/subject/tplitftx.html