2.1 安装Java

运行ES需要JAVA环境
各个版本对Java的以来

  1. ES5需要Java8以上的版本
  2. ES6.5开始支持Java 11
  3. ES7.0开始内置Java环境
  4. https://www.elastic.co/cn/support/matrix#matrix_jvm

    2.2 获取ES安装包

下载https://www.elastic.co/cn/downloads/past-releases#elasticsearch

这个文档写的是依据7.1

2.2.1 目录结构

image.png

2.2.2 JVM配置

2.2.3 启动 bin/elasticsearch

访问 http://localhost:9200/ 响应

  1. {
  2. "name": "192.168.0.103",
  3. "cluster_name": "elasticsearch",
  4. "cluster_uuid": "DtJanm4HRyin88L4HTO5_A",
  5. "version": {
  6. "number": "7.1.0",
  7. "build_flavor": "default",
  8. "build_type": "tar",
  9. "build_hash": "606a173",
  10. "build_date": "2019-05-16T00:43:15.323135Z",
  11. "build_snapshot": false,
  12. "lucene_version": "8.0.0",
  13. "minimum_wire_compatibility_version": "6.8.0",
  14. "minimum_index_compatibility_version": "6.0.0-beta1"
  15. },
  16. "tagline": "You Know, for Search"
  • 查看已安装插件 bin/elasticsearch-plugin list
  • 安装插件 bin/elasticsearch-plugin install analysis-icu 一个国际化分词插件
  • 访问 http://localhost:9200/_cat/plugins 查看插件是否安装成功

2.2.4 在本机启动ES集群

  1. bin/elasticsearch -E node.name=node1 -E cluster.name=geektime -E path.data=node1_data -d
  2. bin/elasticsearch -E node.name=node2 -E cluster.name=geektime -E path.data=node2_data -d
  3. bin/elasticsearch -E node.name=node3 -E cluster.name=geektime -E path.data=node3_data -d

查看集群是否启动http://localhost:9200/_cat/nodes

2.4 安装Kibana

Kibana 7.10.0

  1. # 启动
  2. bin/kibana -d # 后台启动
  3. # 汉化
  4. # 只需要在配置文件 kibana.yml 中加入
  5. i18n.locale: "zh-CN"

访问http://localhost:5601/app/kibana

2.4.1 dev_tool

image.png

http://localhost:5601/app/kibana#/dev_tools/console?_g=(refreshInterval:(pause:!f,value:900000),time:(from:now-7d,to:now),time:(from:now-7d,to:now))) ,可以在这个界面内直接查看访问ES里的数据

一些快捷键

cmd + / (查看API帮助文档)

cmd + option + 0

cmd + option +shift + 0

2.4.2 Kibana Plugins

Known Plugins | Kibana Guide [7.1] | Elastic

查询所有Kibana支持的插件

  1. bin/kibana-plugin install plugin_location #安装插件
  2. bin/kibana-plugin list # 查看所有插件
  3. bin/kibana remove # 删除插件

安装logtrail

  1. ./bin/kibana-plugin install https://github.com/sivasamyk/logtrail/releases/download/v0.1.31/logtrail-7.1.0-0.1.31.zip

2.4.3 在Docker安装ElasticSerach

Compose: https://docs.docker.com/compose/install/

docker-compose.yml

  1. 放到指定目录下然后执行docker-compose up 启动

如果执行失败请参考 https://www.elastic.co/guide/en/elasticsearch/reference/7.2/docker.html#docker-cli-run-prod-mode
MACOS :stty -echo -icanon && nc -U ~/Library/Containers/com.docker.docker/Data/debug-shell.sock && stty sane # ls -al /var/lib/docker/overlay2/

  1. http://localhost:9000/#/connect 可以查看集群状态【cerebro】

2.5 安装Logstash

Logstash 7.1.0

  1. vim bin/logstash.conf
  2. ==================
  3. input {
  4. file {
  5. path => "/Users/weibin/personal/Learn/applications/ElasticStack/logstash-7.1.0/bin/movies.csv"
  6. start_position => "beginning"
  7. sincedb_path => "/dev/null"
  8. }
  9. }
  10. filter {
  11. csv {
  12. separator => ","
  13. columns => ["id","content","genre"]
  14. }
  15. mutate {
  16. split => { "genre" => "|" }
  17. remove_field => ["path", "host","@timestamp","message"]
  18. }
  19. mutate {
  20. split => ["content", "("]
  21. add_field => { "title" => "%{[content][0]}"}
  22. add_field => { "year" => "%{[content][1]}"}
  23. }
  24. mutate {
  25. convert => {
  26. "year" => "integer"
  27. }
  28. strip => ["title"]
  29. remove_field => ["path", "host","@timestamp","message","content"]
  30. }
  31. }
  32. output {
  33. elasticsearch {
  34. hosts => "http://localhost:9200"
  35. index => "movies"
  36. document_id => "%{id}"
  37. }
  38. stdout {}
  39. }

启动

  1. sudo ./logstash -f logstash.conf

movies.csv