ElasticStack学习(二):ElasticStack安装与运行

  一、ElasticSearch的安装与运行

  1、由于ElasticSearch是由Java语言开发的,若要运行ElasticSearch,需要安装并配置JDK,并要设置$JAVA_HOME环境变量。

  2、ElasticSearch版本对于Java依赖的说明:

    1)ElasticSearch5.0需要Java8以上的版本;

    2)ElasticSearch6.5开始支持Java11;

    3)从ElasticSearch7.0开始,内置了Java环境;.

    4)下图是ElasticSearch和JVM的对应关系矩阵:https://www.elastic.co/cn/support/matrix#matrix_jvm

     ElasticStack学习(二):ElasticStack安装与运行

   3、ElasticSearch下载说明

    1)下载地址:https://www.elastic.co/cn/downloads/elasticsearch

    2)ElasticSearch可以运行在主流操作系统上,同时也可以运行在Docker中;

    3)本人电脑是Windows系统,所以下载的是ElasticSearch的Windows版本;

  4、ElasticSearch安装过程--前台模式(Windows系统)

    1)ElasticSearch在Windows上的安装提供了两种形式,一种是以zip文件的形式进行解压;一种是以MSI文件的形式进行安装;以前通常是以zip文件的形式在Windows上进行安装,现在以MSI文件格式进行安装也是可行的,它提供了一种最简便的入门体验;

    2)我们采用以zip文件的形式进行安装。首先将下载完毕的ElasticSearch压缩包进行解压,此时会创建一个名称为ElasticSearch-x.x.x的文件夹,将其设置为$ES_HOME环境变量的引用路径;

    ElasticStack学习(二):ElasticStack安装与运行

    3)打开命令窗口,进入到当前ElasticSearch的目录中,如下图所示:

    ElasticStack学习(二):ElasticStack安装与运行

    4)运行ElasticSearch,进入bin目录下,执行elasticsearch.bat文件。如若想停止运行ElasticSearch,按Ctrl+C;

    ElasticStack学习(二):ElasticStack安装与运行

    5)验证ElasticSearch是否正在运行,通过发送Http请示,向localhost:9200进行请求。若ElasticSearch运行正常,则返回如下结果:

    ElasticStack学习(二):ElasticStack安装与运行

  5、ElasticSearch安装过程--后台模式(Windows系统)

  ElasticSearch可以作为一个服务在后台进行运行,或当系统启动时可以自动运行,不需要人为干预。服务安装可以通过bin目录下面的elasticsearch-service.bat脚本来实现,该脚本可以实现安装、卸载、管理和配置服务,并可以启动和停止服务,所有操作均可以通过命令行来完成。如下所示:

1 G:\elasticsearch-7.2.0\bin>elasticsearch-service.bat
2 
3 可操作的命令:install|remove|manage|start|stop [service_id]

   所以,执行该脚本,需要一个命令参数。同时,根据情况需要一个service_id,也就是可选参数。

  在安装服务时,确保服务的名称和JAVA_HOME是可用的,如下图所示:

  ElasticStack学习(二):ElasticStack安装与运行

  6、ElasticSearch文件目录结构

  ElasticStack学习(二):ElasticStack安装与运行

  7、JVM配置说明

  在config目录中jvm.options文件里,对JVM的默认配置为1GB。在生产环境中,建议最大与最小内存设置成一样的,最大内存不要超过机器的50%,同时内存的总量不要超过30GB。相关文章可参照:www.elastic.co/blog/a-heap-of-trouble

   8、ElasticSearch插件的安装

  执行bin目录中elasticsearch-plugin脚本,查看目前已经安装的插件,如下图所示:

  ElasticStack学习(二):ElasticStack安装与运行

  可以看出目前没有安装任何插件,现在可以安装一个分词插件analysis-icu,如下图所示:

  ElasticStack学习(二):ElasticStack安装与运行

  可以看到,正在从elastic站点进行插件的下载和安装。

  二、Kibana的安装与运行

  1、Kibana下载地址:https://www.elastic.co/downloads/kibana ;

  2、将下载的压缩包进行解压缩,如果需要对kibana进行一些配置,可以在config目录下面的kibana.yml文件中进行修改;

  3、首先将ElasticSearch运行起来,因为kibana是基于ElasticSearch进行运行的;

  4、kibana运行的默认端口是5601,向浏览器中访问:http://localhost:5601,可见如下图所示:

  ElasticStack学习(二):ElasticStack安装与运行

  5、通过点击添加样例数据链接,可以看到如下图:

  ElasticStack学习(二):ElasticStack安装与运行

  我们可以添加关于电商、航空、网络日志三种样例数据。

  6、另外,在kibana中的DevTool是一个很有用的工具,它可以调试ElasticSearch的API;

  7、若要想对kibana进行汉化,从kibana6.8和ES7.0开始支持,在config目录中,对kibana.yml文件中的i18n.locale项设置成: "zh-CN",也就是i18n.locale: "zh-CN"就可以了。

  三、Logstash的安装与运行

  1、Logstash的下载地址:https://www.elastic.co/cn/downloads/logstash

  2、从https://grouplens.org/datasets/movielens/地址中下载最小的测试数据集,将下载的数据集中的movies.csv文件导入到ElasticSearch中;

  3、在Logstash目录下面的bin目录下面建立Logstash.conf文件,配置内容如下:

input {
  file {
    path => ["G:/logstash-7.2.0/sample-source/movies.csv"]
    start_position => beginning
    sincedb_path => "G:/logstash-7.2.0/abc"
  }
}
filter {
  csv {
    separator => ","
    columns => ["id","content","genre"]
  }

  mutate {
    split => { "genre" => "|" }
    remove_field => ["path", "host","@timestamp","message"]
  }

  mutate {

    split => ["content", "("]
    add_field => { "title" => "%{[content][0]}"}
    add_field => { "year" => "%{[content][1]}"}
  }

#  mutate {

#    gsub => [
#
#      "year", "\\)", ""
#    ]
#  }


  mutate {
    convert => {
      "year" => "integer"
    }
    strip => ["title"]
    remove_field => ["path", "host","@timestamp","message","content"]
  }



}
output {
   elasticsearch {
     hosts => "http://localhost:9200"
     index => "movies"
     document_id => "%{id}"
   }
  stdout {}
}

   4、打开cmd,进行Logstash目录下面的bin目录下,执行logstash -f logstash.conf,会将数据导入到ElasticSearch中,如下图所示:

  ElasticStack学习(二):ElasticStack安装与运行

  知识学习来源:《Elasticsearch核心技术与实战》