zoukankan      html  css  js  c++  java
  • centos7 部署elasticsearch

    环境:

    系统:centos7.3

    版本:elasticsearch6.2.3

     head版本:https://codeload.github.com/mobz/elasticsearch-head/zip/master  (这个就是下面说的head目录,把解压后的文件夹命名为head,但也不是强制性的要求)

    首先下载elasticsearch

    下载地址 https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-6.2.3.zip

    解压到某个普通用户家目录下(解压目录没有硬性要求,但是必须把解压的文件夹所有者改为普通用户,因为开启服务时我们需要用普通用户才能启动服务,root用户不行)

    然后执行该解压目录下的bin下的elasticsearch文件

    可能会报错,max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144],修改

    解决:

    切换到root用户

    执行命令:

    sysctl -w vm.max_map_count=262144

    查看结果:

    sysctl -a|grep vm.max_map_count

    显示:

    vm.max_map_count = 262144

    上述方法修改之后,如果重启虚拟机将失效,所以:

    解决办法:

    在   /etc/sysctl.conf文件最后添加一行

    vm.max_map_count=262144

    即可永久修改

     上面这种问题我还遇到过其他的,快速解决的方法是ulimit -a查看全部属性

    比如说,他提示文件数太小,就是open files哪里,直接使用ulimit -n 2048就能直接设置为该值,其中-n是括号里面的那个n,如果想改processes那个,就该用-u

    访问localhost:9200,效果如下,这是Firefox浏览器,我用360极速浏览器,发现没有东西显示出来

    但是如果我们从外面访问,会无法访问

    解决方法

    vim ./config/elasticsearch.yml

    在最后增加一行,network.host:0.0.0.0,或者在原文找到network.host修改其值

    下载node

    去官网下载nodejs,https://nodejs.org/en/download/

    下载好之后,解压./configure;make;make install

    查看node是否安装成功

    node -v

    顺便看一下npm

    npm -v

    安装grunt

    npm install -g cnpm --registry=https://registry.npm.taobao.org

    npm install -g grunt-cli --registry=https://registry.npm.taobao.org

    检测是否成功安装grunt

    grunt -version

    编辑文件head/Gruntfile.js

    connect: {
        server: {
            options: {
                port: 9100, 
                hostname: '*',    #这里改为*
                base: '.',
                keepalive: true
            }
        }
    }
    

    编辑head/_site/app.js

    this.base_uri = this.config.base_uri || this.prefs.get("app-base_uri") || "http://localhost:9200";

    把上面的localhost改为服务器ip

    运行head

    npm install

    grunt server

    执行上面两条命令后,提示已连接localhost:9100

    如果不出意外的话,连接那里是灰色的,还需要进行额外的配置

    vim $ES_HOME$/config/elasticsearch.yml

    # 增加如下字段
    http.cors.enabled: true
    http.cors.allow-origin: "*"
     
    修改完成后重启es和head即可,即9100和9200端口应用
     
    现在我们在加上一个logstash
    下载地址 https://artifacts.elastic.co/downloads/logstash/logstash-6.2.3.tar.gz
    运行时只需要执行命令bin/logstash -f logstash.conf ,但是我们先不运行,因为我们还需要进行其他配置。比如说,我们现在尝试用logstash连接mysql,并同步到elasticsearch
    首先我们需要下载mysql连接工具https://cdn.mysql.com//Downloads/Connector-J/mysql-connector-java-5.1.46.tar.gz
    在logstash解压目录下的bin目录新建logstash.conf文件,内容如下(#后面的内容是我注释的,只做解释作用,复制时最好删除)
    input {
      jdbc {
        jdbc_driver_library => "/usr/local/elasticsearch/plugins/logstash/mysql-connector-java-5.1.44-bin.jar"    #解压后的mysql连接文件路径
        jdbc_driver_class => "com.mysql.jdbc.Driver"
        jdbc_connection_string => "jdbc:mysql://192.168.0.200:3306/vegent?characterEncoding=UTF-8&useSSL=false"    #ip需要更改为自己的ip,vegent是数据库名?
        jdbc_user => "test"      #数据库用户名
        jdbc_password => "test"    #数据库test用户密码
        statement => "SELECT * FROM vegent"  #数据库表
        jdbc_paging_enabled => "true"
        jdbc_page_size => "50000"
        schedule => "* * * * *"
      }
    }
     
    filter {
       json {
            source => "message"
            remove_field => ["message"]
        }
    }
     
    output {
      stdout {
        codec => rubydebug
      }
      elasticsearch {
        hosts => "192.168.0.200"       #这个也要改为自己的ip
        index => "vegent"        #不知道这个又是什么鬼,跟上面的vegent保持一致吧
      }       
    }
    

    现在执行bin/logstash -f logstash.conf  

     可以看到,有数据出来了

    参考文档

    https://blog.csdn.net/mergerly/article/details/53412417

    https://www.cnblogs.com/eleven24/p/7733052.html

  • 相关阅读:
    leaflet antvPath示例
    mysql根据属性分组找最值
    java stream流中的collect()方法详解
    Stream使用Collector.tomap方法value值为null时报空指针异常 解决方案
    mysql自定义函数计算时间段内的工作日(支持跨年)
    经典面试题:ES如何做到亿级数据查询毫秒级返回?
    一口气说出 4 种分布式一致性 Session 实现方式,面试杠杠的~
    使用Docker+nginx部署Vue项目
    linux重定向及/dev/null 2>&1详解
    Linux文件目录变只读(Read-only file system)导致mysql启动失败
  • 原文地址:https://www.cnblogs.com/biaopei/p/8632877.html
Copyright © 2011-2022 走看看