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

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环境变量的引用路径;

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

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

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

5、ElasticSearch安装过程--后台模式(Windows系统)
ElasticSearch可以作为一个服务在后台进行运行,或当系统启动时可以自动运行,不需要人为干预。服务安装可以通过bin目录下面的elasticsearch-service.bat脚本来实现,该脚本可以实现安装、卸载、管理和配置服务,并可以启动和停止服务,所有操作均可以通过命令行来完成。如下所示:
G:\elasticsearch-7.2.0\bin>elasticsearch-service.bat 可操作的命令:install|remove|manage|start|stop [service_id]
所以,执行该脚本,需要一个命令参数。同时,根据情况需要一个service_id,也就是可选参数。
在安装服务时,确保服务的名称和JAVA_HOME是可用的,如下图所示:

6、ElasticSearch文件目录结构

7、JVM配置说明
在config目录中jvm.options文件里,对JVM的默认配置为1GB。在生产环境中,建议最大与最小内存设置成一样的,最大内存不要超过机器的50%,同时内存的总量不要超过30GB。相关文章可参照:www.elastic.co/blog/a-heap-of-trouble
8、ElasticSearch插件的安装
执行bin目录中elasticsearch-plugin脚本,查看目前已经安装的插件,如下图所示:

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

可以看到,正在从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,可见如下图所示:

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

我们可以添加关于电商、航空、网络日志三种样例数据。
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中,如下图所示:

四、Cerebro的安装与运行
1、Cerebro可以比较方便的从集群的角度来理解ES内部的分布式工作机制,同时也可以用来做监控使用;
2、Cerebro的下载地址:https://github.com/lmenezes/cerebro/releases
3、首先将ElasticSearch运行起来,因为Cerebro是基于ElasticSearch进行运行的;
4、Cerebro运行的默认端口是9000,向浏览器中访问:http://localhost:9000,可见如下图所示:

5、在上图中可以看到,Cerebro需要指定ElasticSearch的节点地址,指定后点击连接可进入到如下页面:

大家可关注我的公众号

知识学习来源:《Elasticsearch核心技术与实战》
ElasticStack学习(二):ElasticStack安装与运行的更多相关文章
- JavaWeb学习之tomcat安装与运行、tomcat的目录结构、配置tomcat的管理用户、web项目目录、虚拟目录、虚拟主机(1)
1.tomcat安装与运行双击tomcat目录下的bin/startup.bat,启动之后,输入http://localhost:8080,出现安装成功的提示,表示安装tomcat成功 2.tomca ...
- maven权威指南学习笔记(二)——安装、运行、获取帮助
这部分在网上很容易找到详细教程,这里就略写了. 基础:系统有配置好的jdk,通过 命令行 java -version,有类似下面的提示,表示java环境以配好 下载maven:官网 http://ma ...
- Scrapy学习(二)、安装及项目结构
一.安装 1.安装pywin32,下载地址:https://sourceforge.net/projects/pywin32/files/pywin32/ 我选择的是Build 221,点进去,根据自 ...
- MySQL数据库学习二 MSQL安装和配置
2.1 下载和安装MySQL软件 2.1.1 基于客户端/服务器(C/S)的数据库管理系统 服务器:MySQL数据库管理系统 客户端:操作MySQL服务器 2.1.2 MySQL的各种版本 社区版(C ...
- caffe学习二:py-faster-rcnn配置运行faster_rcnn_end2end-VGG_CNN_M_1024 (Ubuntu16.04)
本文的主要目的是学习记录. 原文连接:https://blog.csdn.net/samylee/article/details/51099508 本博客中我将对py-faster-rcnn配置运行f ...
- kuma 学习二 centos 安装
前边有使用minikube运行kuma,以下是在centos 上安装使用 环境准备 下载软件包 wget https://kong.bintray.com/kuma/kuma-0.1.1-centos ...
- springboot深入学习(二)-----profile配置、运行原理、web开发
一.profile配置 通常企业级应用都会区分开发环境.测试环境以及生产环境等等.spring提供了全局profile配置的方式,使得在不同环境下使用不同的applicaiton.properties ...
- Linux 学习 二, 安装JDK
我是利用在window环境下载好JDK,然后传到VMware中linux中 下载JDK http://www.oracle.com/technetwork/java/javase/downloads/ ...
- doctor学习(二) - contos7安装doctor
1.更新update到最新的版本 yum update 2.卸载老版本docker yum remove docker docker-common docker-selinux docker- ...
- 图文详解安装PHP运行环境
一.什么是PHP运行环境 能够理解人与计算机交流时语言软件,通常指解释PHP编程语言的软件. 例如: PHP(代码) 需要PHP超文本预编译器(软件). Java需要JVM虚拟机 二.安装PHP运行环 ...
随机推荐
- MFC 窗口分割与通信
一.关于CSplitterWnd类我们在使用CuteFtp或者NetAnt等工具的时候,一般都会被其复杂的界面所吸引,在这些界面中窗口被分割为若干的区域,真正做到了窗口的任意分割. 那么我们自己如何创 ...
- 写在程序猿的困惑(特别Java程序猿)入行一年,感觉我不知道接下来该怎么办才能不断进步的,寻求翼
入行了一年.感觉不知道接下来该怎么做才干继续进步了,求不吝赐教(V2EX) @kafka0102 :做技术能够学的东西太多了.仅仅是在不同的阶段做好不同的规划.要结合当前所做的事情去做更深入或广度的学 ...
- iOS-swift-如何实现崩溃树级别文件夹和扩大
如何实现崩溃树级别文件夹和扩大 1 介绍 最近,它一直在使用swift写项目,现在,他已经完成了不到一半,大概11可在一月中旬完成,什么时候会出一系列视频,源代码放出来.我是iOS 零基础学习 ...
- 【代码备忘录】VC设置您的计算机环境变量、注册表操作
欢迎增加C/C++ QQ组,无论你的工作.学生,只有具备c / vc / c++ 编程经验.就来吧!158427611 [设置电脑环境变量] 设置电脑环境变量非常easy,由于window而言.环境变 ...
- RPC的发展历史(本质就是双方定义好协议,传递参数后远程调用)
服务器通讯原理就是一台socket服务器A,另一台socket客户端B,现在如果要通讯的话直接以流方式写入或读出. 这样能实现通讯,但有个问题.如何知道更多信息?比如需要发送流大小,编码,Ip等. 这 ...
- spring boot 集成mybatis报错Missing artifact
1. pom文件中的oracle依赖提示Missing artifact,需要手动下载并导入maven参考 oracle依赖下载地址 (ojdbc6.jar) cd到下载的ojdbc6.jar所在路径 ...
- abp.message
abp.message.success(app.localize('SomeMessage'), app.localize('Title')) .done(function() { //do some ...
- C# WebRequest WebResponse的使用
using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using Sy ...
- C#/WPF 计算字串的真实长度,调整控件的宽度
下面函数是经常用到的计算字串长度的方法: private double MeasureTextWidth(String str, string fontName, double fon ...
- iOS9 Spotlight使用
1.Spotloight是什么? Spotlight在iOS9上做了一些新的改进, 也就是开放了一些新的API, 通过Core Spotlight Framework你可以在你的app中集成Spotl ...