- 前言
===
作为一名 .NET 平台开发者,选择开发框架时总会面临更多的局限性,不过对于搜索这种刚需服务来说,开源框架可供选择的余地还是比较大的。笔者之前用的是 Lucene.net ,现在深感其使用不便,而且也没有 .net core 版本,因此便找了基于其构建的两款搜索产品,一个是 Elasticsearch ,一个就是 Solr,后来查看了一些相关博客,确定了选择 Elasticsearch 进行搜索开发,对于两者的抉择详看 搜索引擎选择: Elasticsearch与Solr,大家可以根据自己的需要进行抉择。简单来说,更注重实时性和配置简便性的便选择 ES 即可。
Elasticsearch 是一个基于 Apache Lucene(TM) 的开源全文搜索和分析引擎,详细的介绍信息在官网文档中一应俱全,对 .NET 开发者也提供了相应的 NEST 和 Elasticsearch.NET 客户端,其他就不再赘述了。让我们来快速开始 Elasticsearch 在 Windows 下的快速安装吧。
特别提示:如果你是由 es 的旧版本升级到最新版本的话(并且使用 windows 系统),请尽快确认删除环境变量中 ES_HEAP_SIZE 选项,这会在运行初始化配置 ./bin/elasticsearch -E cluster.name=my_cluster -E node.name=node_1 时报错。原因是自 es 5.0.0 版本开始,便不再支持该变量名称,转而使用 jvm.options 文件配置代替,或是 ES_JAVA_OPTS 环境变量代替。
- 安装
===
2.1 安装 java 环境
安装 Elasticsearch 的唯一要求就是支持java环境,我们只需要去 Java 官网下载JRE进行安装即可,当然你也可以直接一步到位下载 JDK进行安装, JDK 默认包含 JRE 。
2.2 下载 ElasticSearch 本地安装包
前往 Elasticsearch 官网下载最新版本的软件包,下载完成后解压到本地。文件夹结构如下列代码所示(省略)。
我们只需要手动打开 bin 文件夹下的 elasticsearch.bat 处理文件,它便会自动运行安装 Elasticsearch。如果 java 环境没有正确安装,这一步便会提示失败。
或者你可以在命令行中定位至 elasticsearch-5.2.2 文件夹,输入 bin\elasticsearch.bat 命令起到同样的效果。
2.3 检验启动 Elasticsearch
这一步中,我们只需要在命令行中呼叫其默认网络地址即可,可以在 powershell 中输入 curl http://localhost:9200/
即可成功运行,运行成功提示如下
StatusCode : 200
StatusDescription : OK
Content : {
"name" : "sSxiwaM",
"cluster_name" : "elasticsearch",
"cluster_uuid" : "gf0rL8_nS6yVw845-E9_VQ",
"version" : {
"number" : "5.2.2",
"build_hash" : "f9d9b74",
"build_date" : "2017-...
RawContent : HTTP/1.1 200 OK
Content-Length: 327
Content-Type: application/json; charset=UTF-8
{
"name" : "sSxiwaM",
"cluster_name" : "elasticsearch",
"cluster_uuid" : "gf0rL8_nS6yVw845-E9_VQ",
"versi...
Forms : {}
Headers : {[Content-Length, 327], [Content-Type, application/json; charset=UTF-8]}
Images : {}
InputFields : {}
Links : {}
ParsedHtml : mshtml.HTMLDocumentClass
RawContentLength : 327
如果你没有使用 powershell ,你可以去 http://curl.haxx.se/download.html 网址下载 curl 软件。
2.4 配置 Elasticsearch
2.4.1 命令行启动配置
Elasticsearch 的默认配置文件 elasticsearch.yml 放置于 bin 文件夹下,当然我们也可以在命令行中通过命令选项进行手动配置。
./bin/elasticsearch -Ecluster.name=my_cluster -Enode.name=node_1
该段命令的含义是启动 es 服务,并将集群名和节点名分别设置为 my_cluster 和 node_1。
2.4.2 注册服务
Elasticsearch 可以作为服务被安装在 windows 后台运行,启动时可以自动启动。命令处理同样位于 bin 文件夹下。让我们输入以下命令,可以看到相应的服务命令参数。
PS C:\Elasticsearch\elasticsearch-5.2.2> .\bin\elasticsearch-service
Usage: elasticsearch-service.bat install|remove|start|stop|manager [SERVICE_ID]
- install:安装Elasticsearch作为服务
- remove:删除已安装的Elasticsearch服务(并停止该服务,如果启动)
- start:启动Elasticsearch服务(如果安装)
- stop:停止Elasticsearch服务(如果已启动)
- manager:启动GUI管理安装服务
明白上述参数后,我们继续输入以下命令,服务即可自动安装和运行。
.\bin\elasticsearch-service.bat install #安装
.\bin\elasticsearch-service.bat start #启动
同时,es 也为我们提供了一个简单的 manager gui,如上述列表最后一个参数,我们只需要输入以下命令即可运行。大家也可以好好利用起来。
.\bin\elasticsearch-service.bat manager #启动 gui
manager gui 界面如图所示。
2.5 安装 Kibana 服务
Kibana 是一个开源的分析和可视化平台,旨在与Elasticsearch协同工作。Kibana可以被用来搜索,查看存储在Elasticsearch索引中的数据。 Kibana的安装也十分方便。详见 Kibana 服务。
2.5.1 下载 Kibana
Kibana 在 Windows 上可以以软件服务的状态存在,所以我们需要去官网下载页面对应的服务包。需要下载与 ElasticSearch 对应的产品版本,否则将会运行失败。目前最新版本是 kibana-5.2.2。
2.5.2 安装运行
下载完成后,解压到本地磁盘,比如 C:\ElasticSearch\kibana-5.2.2-windows-x86
。通过 powershell 导航到对应文件夹位置,输入 .bin\kibana ,在 Elasticsearch 服务已经启动的情况下, Kibana也将成功运行。此时再在浏览器中输入 http://localhost:5601
网址,即可进入 Kibana 控制台使用相关 api 查看 ES 的相关情况。如下图所示,之后我们的一些 api 演示都会在 Kibana 的控制台中运行。
提示一:es 中的服务 api 执行有数种方式,比如检查服务器状态的语句为
GET /_cat/health?v
,等价的 bash 命令为curl -XGET 'localhost:9200/_cat/health?v&pretty'
,等价的网址 url 为http://localhost:9200/_cat/health?v
,它们都可以返回相同的结果。
提示二:Kibana 的配置文件存放于 config 文件夹下,开发者可以根据需要修改对应运行域名等信息,相当于可以提供一种外部服务器监测的手段。默认的 Kibana 服务端口为
server.port: 5601
。
提示三:部分教程中提及的 sense 客户端,在5.0之后的版本中已经集成到 kibana 的 dev tool 中,请大家不用再费力去寻找了。
- 结尾
===
之后我将陆陆续续带来对 Elasticsearch 和 Kibana 的实战使用博文(结合 .NET Core),同时也会把运行环境逐步由 Windows 转向 Linux ,请大家敬请期待吧
- ubuntu 安装简要补充
===
2017年3月1号补充
4.1 安装java环境
我目前的 ubuntu 版本是16.04(桌面版),安装 java 环境十分简单,软件库里默认继承了 open_sdk ,我们直接在终端中输入 sudo apt-get install default-jdk
,对于新机来说,也不用进行 jdk 软件版本校对的步骤,所以再把环境变量设置以一下即可。
继续在终端中输入 sudo update-alternatives --config java
,选择对应的路径(假如有多个java版本请注意选择)。如我的机器中输入上述代码后会出现下列提示。
There is only one alternative in link group java (providing /usr/bin/java): /usr/lib/jvm/java-8-openjdk-amd64/jre/bin/java
Nothing to configure.
输入 sudo nano /etc/environment
,使用nano编辑器打开环境变量设置文件进行编辑,加入 JAVA_HOME="/usr/lib/jvm/java-8-openjdk-amd64/jre/bin/java"
至最后一行即可。
PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/$ames:/usr/local/games"
JAVA_HOME="/usr/lib/jvm/java-8-openjdk-amd64/jre/bin/java"
之后使用 ctrl+x
保存退出。
4.2 安装运行 ES 和 Kibana
跟 windows 下的安装十分类似,ES 和 Kibana 也是同样的步骤。前往 ES 和 Kibana 的下载地址,下载对应的 tar 包至 linux 服务器上,使用相应的 tar -zvxf xx.tar.gz
指令解除封印,召唤卡牌。之后再分别定位到各自的文件夹,分别调用 ./bin/elasticsearch
,./bin/kibana
即可成功运行。
真够“简要”的……
Elasticsearch 在 windows 和 ubuntu 下详细安装过程的更多相关文章
-
elasticsearch 6.0在Ubuntu下的安装
1:直接下载 elasticsearch 6.0 zip文件 https://www.elastic.co/downloads/past-releases 2:解压:进入到解压后的bin目录,执行 ...
-
linux,windows,ubuntu下git安装与使用
ubuntu下git安装与使用:首先应该检查本地是否已经安装了git ,如果没有安装的话,在命令模式下输入 sudo apt-get install git 进行安装 输入git命令查看安装状态及常用 ...
-
Torch7在Ubuntu下的安装与配置
Torch7的本系列教程的主要目的是介绍Torch的入门使用.今天首先分享一下Torch7的安装.(在Ubuntu14.04安装torch7) 为什么选择Torch Torch的目标是在建立科学算法的 ...
-
windows、ubuntu下eclipse搭建java、Python环境问题总结
前两篇博文分别讲述了如何在windows.ubuntu下用eclipse搭建java.python环境,下面就针对本人遇到的问题做一个总结. 一.windows下关于java环境变量JAVA_HOME ...
-
Tomcat7.0.22在Windows下详细配置过程
Tomcat7.0.22在Windows下详细配置过程 一.JDK1.7安装 1.下载jdk,下载地址:http://www.oracle.com/technetwork/java/javase/do ...
-
Windows Server 2003 下如何安装及配置 FTP 服务器(转)
Windows Server 2003 下如何安装及配置 FTP 服务器 一.安装 FTP 服务器组件: 写在这里的一点 : 安装及配置 FTP 服务器之前 , 必须先手工配置服务器本身的 IP 地址 ...
-
Ubuntu下软件安装方式、PATH配置、查找安装位置
Ubuntu 18.04, 安装方式 目前孤知道的Ubuntu下安装软件方式有3种(命令): 1.make 2.apt/apt-get 3.dpkg 方式1基于软件源码安装,需要经历配置(可选).编译 ...
-
[转]:Ubuntu 下Apache安装和配置
[转]:Ubuntu 下Apache安装和配置_服务器应用_Linux公社-Linux系统门户网站 https://www.linuxidc.com/Linux/2013-06/85827.htm ...
-
ubuntu下git安装及使用
ubuntu下git安装及使用 其实,好几个月前,就已经安装好了,可是一直搁置在那儿,所以密码等一些其它细节都忘的差不多了,所以今天就重新部署了一下,并开始积极使用......... 1,git ...
随机推荐
-
移动端 h5调试技巧
一 安卓 一 chrome 1.安卓手机安装chrome浏览器,手机打开开发者模式,用usb线链接电脑,并且允许调试. 2.电脑chrome地址栏输入 chrome://inspect 进入后点击 i ...
-
Struts2 源码分析——前言
笔者简言 笔者在博园里面注册是在二年前.可是那个时候我不知道要写些什么,也怕写出来被别人骂误人子弟.而现在却动笔了是因为前一段时间内我去参加一些大公司的面试,让笔者内心深处留下很多问号.最近三年来我一 ...
-
Shell日期时间和时间戳的转换
Gitlab的备份文件是以时间戳显示的,类似:1438624820_gitlab_backup.tar 为了更易于阅读,想把文件名转换成日期格式:2015-08-04_gitlab_backup.ta ...
-
ROR 环境的 搭建
1)安装RUBY:从 http://www.ruby-lang.org/en/ 下载 ruby182-15.exe,安装Ruby.ruby -v 看是否安装成功.2)安装RAILS框架 :gem in ...
-
Win7 64位系统上配置使用32位的Eclipse(转)
Win7 64位系统上配置使用32位的Eclipse 博客分类: Eclipse eclipse 最近工作电脑换成了64位的win7系统,之前个人电脑上安装的jdk和Eclipse都是32位的.而新 ...
-
Swift - 做一个简单的无线U盘(手机端Http服务器搭建)
由于iOS系统的封闭性,在数据传输方面十分不方便.不像安卓设备,直接连接电脑就能当U盘使用.所以一般我们如果用iPhone临时存取个东西,要么使用数据线连接iTunes,要么手机电脑都登上QQ,使用Q ...
-
j2ee常用包的作用
1.antlr-2.7.7.jar 呵呵 一句话,没有此包,hibernate不会执行hql语句 2.aopalliance-1.0.jar 这个包是AOP联盟的API包,里面包含了针对面向切面的 ...
-
201521123064 《Java程序设计》第14周学习总结
本次作业参考文件 数据库PPT MySql操作视频与数据库相关jar文件请参考QQ群文件. 1. 本章学习总结 1.1 以你喜欢的方式(思维导图.OneNote或其他)归纳总结数据库相关内容. 1.数 ...
-
数据结构与算法(C/C++版)【串】
第四章<串.数组> (一)串 数据结构中提到的串,即字符串,由 n 个字符组成的一个整体( n >= 0 ).这 n 个字符可以由字母.数字或者其他字符组成.例如,S = &qu ...
-
Python/MySQL(一、基础)
Python/MySQL(一.基础) mysql: MYSQL : 是用于管理文件的一个软件 -socket服务端 (先启动) -本地文件操作 -解析 指令[SQL语句] -客户端软件 (各种各样的客 ...