最近项目需要在windows上安装es搜索引擎,建议各位学友在Linux系统中操作。在此整理一番在windows上操作安装。
1.准备软件包(根据自己需要下载相应版本):
elasticsearch-6.8.6.zip 下载地址:https://www.elastic.co/cn/downloads/elasticsearch 选择下载windows版本
elasticsearch-head-master 下载地址:https://github.com/mobz/elasticsearch-head
kibana-6.8.6-windows-x86_64.zip 下载地址:https://www.elastic.co/cn/downloads/kibana 选择下载windows版本
logstash-6.8.6.zip 下载地址:https://www.elastic.co/cn/downloads/logstash 选择下载windows版本
elasticsearch-analysis-ik-6.8.6.zip 下载地址:https://github.com/medcl/elasticsearch-analysis-ik 选择相应版本下载(ik里面其实都是jar依赖包)
注意:以上软件包,除了elasticsearch-head-master,其他三个尽量选择版本一致。
软件包说明:
elasticsearch:是基于Lucene的搜索服务器。提供了一个分布式多用户能力的全文搜索引擎。使用Java语言开发,基于RESTful接口。
elasticsearch-head:是一款专门针对于elasticsearch的客户端工具,可以对elasticsearch中索引的数据进行操作。其他工具还有ElasticHD(界面风格比elasticsearch-head高大上一点)等,这些可视化工具自行选择。
kibana:是一个开源的分析与可视化平台,设计出来用于和Elasticsearch一起使用的。用kibana搜索、查看存放在Elasticsearch中的数据(不能删除和插入数据)。Elasticsearch、Logstash和Kibana这三个技术就是我们常说的ELK技术栈,一种很典型的MVC思想,模型持久层,视图层和控制层。Logstash担任控制层的角色,负责搜集和过滤数据。Elasticsearch担任数据持久层的角色,负责储存数据。而我们这章的主题Kibana担任视图层角色,拥有各种维度的查询和分析,并使用图形化的界面展示存放在Elasticsearch中的数据。
logstash:作为Elasicsearch常用的实时数据采集引擎,可以采集来自不同数据源的数据,并对数据进行处理后输出到多种输出源,是数据源与数据存储分析工具之间的桥梁。下图是logstash工作原理图。
2.安装
(1)安装elasticsearch
解压elasticsearch-6.8.6.zip,我这里解压到了D盘下。进入elasticsearch下的bin目录,doc命令窗运行elasticsearch.bat即可启动。在浏览器中输入loclahost:9200检测是否运行成功,如下图即成功。
(2)elasticsearch添加IK分词器
在上述部署好的elasticsearch的plugins目录下(我这里是D:/elasticsearch-6.8.6/plugins),创建ik文件目录,将elasticsearch-analysis-ik-6.8.6.zip 解压到ik目录下即可,重新启动elasticsearch。验证IK分词器是否添加成功,我这里用postman验证,使用:ip:port/索引名称/_analyze ,得到如下图结果证明IK分词器添加成功:
(3)安装elasticsearch-head
解压elasticsearch-head-master,(我解压到了D盘),安装elasticsearch-head需要先安装node,这里不在赘述,安装好node在安装grunt,执行npm install -g grunt-cli命令(前提是能联网下载),如果办公区不能连网下载,将下载好的grunt的node_modules包放在解压的elasticsearch-head-master根目录下即可,如下图,然后修改elasticsearch的配置文件elasticsearch.yml,在elasticsearch.yml末尾加上下面配置:
http.cors.enabled: true
http.cors.allow-origin: “*”
node.master: true
node.data: true
然后放开elasticsearch.yml文件中的cluster.name、node.name、network.host、http.port的注释。doc命令窗下ctrl+c先关闭elasticsearch,然后运行命令elasticsearch.bat(或双击elasticsearch.bat)重启。在浏览器输入127.0.0.1:9100即可出现操作页面,如下图:
(4)安装kibana
解压kibana-6.8.6-windows-x86_64.zip,(这里解压到了D盘),修改kibana的config目录下得kibana.yml,kibana默认的地址是localhost:5601,如果想改可以改kibana.yml的server.port和server.host并放开它俩的注释,修改kibana.yml的elasticsearch.hosts,修改成你的elasticsearch的地址和端口,配置完毕。双击kibana.bat启动即可,界面如图:
(5)安装logstash
解压logstash-6.8.6.zip,(我这里解压到了D盘),将ojdbc6-11.2.0.3.jar驱动包(事先下载好)放在D:logstash-6.8.6/logstash-core/lib/jar路径下,我使用的数据库是oracle,这个驱动包是oracle的驱动包,使用mysql的请下载mysql的驱动包,放在上述路径下。
logstash是读取数据库的数据到elasticsearch中,(我使用的数据库是oracle)所以需要新建读取数据库的conf文件和读取数据的sql文件。我在logstash的斌bin目录下创建了一个configs文件夹和sql文件夹的,创建这两个文件夹得目的是为了将自己新建的conf文件和sql文件放在里面,和logstash原本的配置文件区分开,学友们也可以不创建文件夹,直接在bin目录下新建conf文件和sql文件也行。我新建的路径如下图:
在configs文件夹下创建自己的配置文件oracle.conf,在oracle.conf文件中添加如下配置:
# Sample Logstash configuration for creating a simple
# Beats -> Logstash -> Elasticsearch pipeline.
input {
stdin {
}
jdbc {
jdbc_driver_library => "D:/logstash-6.8.6/logstash-core/lib/jars/ojdbc6-11.2.0.3.jar"
jdbc_driver_class => "Java::oracle.jdbc.driver.OracleDriver"
jdbc_connection_string => "jdbc:oracle:thin:@127.0.0.1:1521:orcl"
jdbc_user => "smq"
jdbc_password => "123456"
jdbc_paging_enabled => "true"
jdbc_page_size => "50000"
statement_filepath => "D:/logstash-6.8.6/bin/sql/jr_basic_information.sql"
schedule => "* * * * *"
}
}
filter {
json {
source => "message"
remove_field => ["message"]
}
}
output {
elasticsearch {
hosts => ["192.168.42.5:9200"]
# index => "%{es_index}_index"
index => "testOracle"
document_type => "doc"
document_id => "%{id}"
}
stdout {
codec => json_lines
}
}
说明:
jdbc_driver_library => 你自己的驱动包的位置
statement_filepath => 你自己的sql文件位置
schedule => "* * * * *" logstash启动后不能关闭,使用 schedule => "* * * * *"每分每秒从数据库同步数据
index =>可以指定elasticsearch中已经创建好的索引,elasticsearch中没有该索引就创建该索引,注释掉的 "%{es_index}_index" 是使用%获取你自己的sql文件的sql语句拼接 _index形成索引名,如果用它的话,sql语句就得这样写 :select 'user' as es_index, u.* from user u
在sql文件夹下创建自己的sql文件oracle.sql,在oracle.sql文件中添加你的sql语句:
select * from user
上述配置完毕后,在logstash的bin下启动dos命令窗,输入logstash.bat -f /logstash-6.8.6/bin/configs/oracle.conf 。就是使用oracle.conf
配置文件启动logstash,指定你的conf文件路径启动即可。然后在elasticsearch-head的可视化界面中查看是否导入数据。
至此,在windows上安装elasticsearch到此结束,下期简述一下将elasticsearch集成到springBoot项目中的操作。