Elasticsearch核心技术(一):Elasticsearch环境搭建

磨刀不误砍柴工,要学习Elasticsearch,首先要搭建起来一套学习环境,本文为手把手教你在MacOS上面搭建Elasticsearch学习环境。

1.1 Elasticsearch安装

Elasticsearch 是一个分布式、RESTful 风格的搜索和数据分析引擎,能够解决不断涌现出的各种用例。 作为 Elastic Stack 的核心,它集中存储您的数据,帮助您发现意料之中以及意料之外的情况。详情可查看:https://www.elastic.co/cn/elasticsearch/

1.1.1 Elasticsearch安装

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

选择相应的版本进行下载:

解压到~ Develop目录

cd命令进入到elasticsearch-7.10.2/bin:执行./elasticsearch即可启动。

浏览器访问http://localhost:9200/,说明Elasticsearch启动成功。

1.1.2 Elasticsearch目录结构

目录 描述
bin 脚本文件,包括启动Elasticsearch,安装插件等
config 集群配置文件
JDK Java运行环境
data 数据文件
lib Java类库
modules 模块目录
plugins 插件目录

1.1.3 Elasticsearch插件安装

查看已经安装插件:./elasticsearch-plugin list

安装插件:./elasticsearch-plugin install analysis-icu

查看已经安装的插件:./elasticsearch-plugin list

或者浏览器访问:http://localhost:9200/_cat/plugins

1.1.4 Elasticsearch多实例启动

进入Elasticsearch的bin目录:

./elasticsearch -E node.name=node1 -E cluster.name=james -E path.data=mode1_data -d
./elasticsearch -E node.name=node2 -E cluster.name=james -E path.data=mode2_data -d
./elasticsearch -E node.name=node3 -E cluster.name=james -E path.data=mode3_data -d

在浏览器访问:http://localhost:9200/_cat/nodes ,可以查看正在运行的节点信息:

1.2 Kibana安装

Kibana 是一个免费且开放的用户界面,能够让您对 Elasticsearch 数据进行可视化,并让您在 Elastic Stack 中进行导航。您可以进行各种操作,从跟踪查询负载,到理解请求如何流经您的整个应用,都能轻松完成。详情可查看:https://www.elastic.co/cn/kibana/

1.2.1 Kibana安装

Kibana安装与启动方式与Elasticsearch基本相同:

下载地址:https://www.elastic.co/cn/downloads/kibana

选择相应的版本进行下载,解压,进入bin目录,启动kibana

浏览器访问:http://localhost:5601/

1.2.2 Kibana插件安装

安装插件:bin/kibana-plugin install plugin_location

查看已装插件:bin/kibana-plugin list

移除插件:bin/kibana remove

1.3 Logstash安装

Logstash 是免费且开放的服务器端数据处理管道,能够从多个来源采集数据,转换数据,然后将数据发送到您最喜欢的“存储库”中。详情可查看:https://www.elastic.co/cn/logstash/

1.3.1 Logstash安装

Logstash安装与启动方式与Elasticsearch基本相同:

下载地址:https://www.elastic.co/cn/downloads/logstash

选择相应的版本进行下载,解压,进入bin目录,启动logstash

1.3.2 Logstash导入数据

下载最MovieLens最小测试数据集:https://grouplens.org/datasets/movielens/

进入logstash安装目录的bin目录,添加logstash.conf文件:

path为movie.csv的路径。

input {
  file {
    path => "/Users/sgh/Develop/data/movies.csv"
    start_position => "beginning"
    sincedb_path => "null"
  }
}
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 {
    convert => {
      "year" => "integer"
    }
    strip => ["title"]
    remove_field => ["path", "host","@timestamp","message","content"]
  }

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

启动logstash:sudo logstash -f logstash.conf

在kibana界面可以看到movies数据集已经导入到了Elasticsearch中,完毕。

至此,Elasticsearch的环境搭建已经完成,下面可以正式进入快乐的Elasticsearch学习之旅了,各位加油~

posted @ 2021-03-07 20:58  James_Shangguan  阅读(591)  评论(0编辑  收藏  举报