美文网首页
windows环境下搭建Elasticsearch

windows环境下搭建Elasticsearch

作者: 田大娃的辣条 | 来源:发表于2019-12-02 14:42 被阅读0次

    工作需要有辛在windows 环境下操作了一次es,在此我记录了一下es 搭建以及数据全量同步的过程。

    准备安装包:

    安装环境准备:

    node和grunt安装

    1.从地址:https://nodejs.org/en/download/ 下载相应系统的msi,双击安装node。

    2.安装完成用cmd进入安装目录执行 node -v可查看版本号。


    3.执行 npm install -g grunt-cli 安装grunt ,安装完成后执行grunt -version查看是否安装成功,会显示安装的版本号。


    4.:在安装node时出现
    run npm audit fix to fix them, or npm audit for details.错误时,
    依次执行下面的命令即可。

    npm audit fix
    npm audit fix --force
    npm audit
    

    ES安装

    ES本体安装

    解压本体安装包,进入config目录,修改elaticsearch.yml,在文档末尾加入。

      http.cors.enabled: true 
      http.cors.allow-origin: "*"
      node.master: true
      node.data: true
    

    并且去掉 network.host: 192.168.0.1的注释并改为network.host: 0.0.0.0,去掉 cluster.name;node.name;http.port的注释。
    修改 jvm.options 文件

    
    # Xms Xmx 内存大小
    -Xms256m
    -Xmx256m
    #-Dfile.encoding=UTF-8  utf-8会导致 控制台中文乱码
    -Dfile.encoding=GBK
    

    ES本体安装完成。 bin 目录 elasticsearch.bat 启动。

    Head插件安装

    解压插件安装包,修改Gruntfile.js

            connect: {
                server: {
                    options: {
                       #加入hosatname
                        hostname: '*', 
                        port: 9100,
                        base: '.',
                        keepalive: true
                    }
                }
            }
    

    cmd 目录下 npm install 安装head,然后npm run start 运行head插件。

    ik安装

    将安装包解压后,更名为iK,并且复制到Elasticsearch的解压目录下即可。

    此时ESwindows下搭建已经完成。
    打开浏览器访问:http://127.0.0.1:9100

    mysql 数据全量同步。

    解压Logstash插件,bin目录下执行

    logstash -e "input { stdin { } } output { stdout {} }"
    

    执行以下命令安装Logstash-input-jdbc插件

    logstash-plugin install logstash-input-jdbc
    

    新建一个mysql 文件夹用来存放mysql 驱动jar 与全量同步配置文件。
    mysql-connector-java-5.1.41.jar
    配置文件:

    input {
        stdin {
        }
        jdbc {
         type => "datatable"
          # mysql相关jdbc配置
          jdbc_connection_string => "jdbc:mysql://*.*.*.*:3306/*"
          jdbc_user => "*"
          jdbc_password => "*"
     
          # jdbc连接mysql驱动的文件目录
          jdbc_driver_library => "E:/work/logstash-6.2.4/mysql/mysql-connector-java-5.1.41.jar"
          # the name of the driver class for mysql
          jdbc_driver_class => "com.mysql.jdbc.Driver"
          jdbc_paging_enabled => "true"
          jdbc_page_size => "50000"
     
          # mysql文件, 也可以直接写SQL语句在此处,如下:
          statement => "SELECT * from pgmp_dth_datatable"
          #statement_filepath => "/opt/logstash/conf/jdbc.sql"
     
          # 这里类似crontab,可以定制定时操作,比如每10分钟执行一次同步(分 时 天 月 年)
          #schedule => "* * * * * *"
            
        }
    }
     
    # 此处我不做过滤处理
    filter {}
     
    output {
        #输出到elasticsearch的配置
        elasticsearch {
            hosts => ["127.0.0.1:9200"]
            index => "datatable_index"
        document_type => "%{type}" 
        }
     
        #这里输出调试,正式运行时可以注释掉 json_lines      rubydebug
        stdout {
            codec => json_lines
        }
    }
    
    

    切换到bin 目录下执行

    logstash -f ../mysql/jdbc.conf
    

    即可实现数据全量同步。

    相关文章

      网友评论

          本文标题:windows环境下搭建Elasticsearch

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