搜索引擎elasticsearch + kibana + X-pack + IK安装部署
准备安装环境
这次我们安装以下软件或插件:
- elasticsearch(es):You Know, for Search
- kibana:提供很便捷的观察和控制es的网页
- xpack:安全插件,提供授权认证登陆
- IK:分词插件,提供功能强大的中文分词
es建议安装在独立的系统账户下,这里我们创建es账户。
JAVA版本为1.8。
下载elasticsearch和kibana,注意两者版本号要严格保持一致。这里我们用6.7.1(届时生产的阿里云也采用6.7)。
$ cd /home/es
$ wget https://artifacts.elastic.co/downloads/kibana/kibana-6.7.1-linux-x86_64.tar.gz
$ wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-6.7.1.tar.gz
$ tar -zxvf kibana-6.7.1-linux-x86_64.tar.gz
$ tar -zxvf elasticsearch-6.7.1.tar.gz
配置启动
启动elasticsearch
官方号称开箱即用,这里我们显式的配置几个关键项
修改es配置文件/home/es/elasticsearch-6.7.1/config/elasticsearch.yml
path.data: /home/es/data # 数据文件存放目录
path.logs: /home/es/logs # 日志存放目录
network.host: 192.168.1.212
http.port: 9200
启动elasticsearch,-d参数表示后台运行
$ cd /home/es/elasticsearch-6.7.1/
$ sh bin/elasticsearch -d
检测elasticsearch是否启动成功:
浏览器访问:http://192.168.1.212:9200/
或者:
$ curl http://192.168.1.212:9200/
输出以下内容表示ES已启动:
{
"name" : "uMMV8Hc",
"cluster_name" : "elasticsearch",
"cluster_uuid" : "JHaM0vXORy-In37Duldahg",
"version" : {
"number" : "6.7.1",
"build_flavor" : "default",
"build_type" : "tar",
"build_hash" : "2f32220",
"build_date" : "2019-04-02T15:59:27.961366Z",
"build_snapshot" : false,
"lucene_version" : "7.7.0",
"minimum_wire_compatibility_version" : "5.6.0",
"minimum_index_compatibility_version" : "5.0.0"
},
"tagline" : "You Know, for Search"
}
关闭es,官方没有提供关闭方案,我们直接kill进程
$ ps -efj|grep elasticsearch
# 把es相关的进程挨个Kill掉
启动kibana
这个也是开箱即用的,同样我们显式的配置几个关键项
修改配置文件:/home/es/kibana-6.7.1-linux-x86_64/config/kibana.yml
server.port: 5601 # 访问kibana时的ip/port
server.host: "192.168.1.212"
elasticsearch.hosts: ["http://192.168.1.212:9200"] # 显式指定ES,不指定的话kibana也会默认连接本机的es
logging.dest: /home/es/logs/kibana.log # 日志文件
启动kibana,注意启动参数加"&",后台执行
$ cd /home/es/kibana-6.7.1-linux-x86_64/
$ ./bin/kibana &
访问kibana,浏览器打开192.168.1.212:5601即可
关闭kibana
# 找到后台的kibana进程得费点事
$ ps -efj |grep src/cli
es 11759 9289 11759 9289 0 10:35 pts/6 00:00:45 ./bin/../node/bin/node --no-warnings --max-http-header-size=65536 ./bin/../src/cli
es 12068 11517 12067 11517 0 12:23 pts/7 00:00:00 grep --color=auto src/cli
# 这个11759的就是kibana进程,我们Kill掉即可
$ kill 11759
启用X-pack
X-pack已经集成在当前版本的es中,但是收费项目,我们先试用个30天。
启用trial licence,成功后日志会打出trial - valid字样
$ curl -H "Content-Type:application/json" -XPOST http://192.168.1.212:9200/_xpack/license/start_trial?acknowledge=true
$ tail -f /home/es/logs/elasticsearch.log
[uMMV8Hc] license [c5cf3e70-7287-4d56-942a-19192c82043c] mode [trial] - valid
启用X-pack,在/home/es/elasticsearch-6.7.1/config/elasticsearch.yml配置文件中添加下面这行配置
xpack.security.enabled: true
此时我们再连接192.168.1.212:9200,会报“missing authentication token”,需要先登陆。
接下来修改密码
$ bin/elasticsearch-setup-passwords interactive
Enter password for [elastic]:
Reenter password for [elastic]:
Enter password for [apm_system]:
Reenter password for [apm_system]:
Enter password for [kibana]:
Reenter password for [kibana]:
Enter password for [logstash_system]:
Reenter password for [logstash_system]:
Enter password for [beats_system]:
Reenter password for [beats_system]:
Enter password for [remote_monitoring_user]:
Reenter password for [remote_monitoring_user]:
Changed password for user [apm_system]
Changed password for user [kibana]
Changed password for user [logstash_system]
Changed password for user [beats_system]
Changed password for user [remote_monitoring_user]
Changed password for user [elastic]
给kibana配置账号密码,并重启kibana
$ vi /home/es/kibana-6.7.1-linux-x86_64/config/kibana.yml
...
elasticsearch.username: "kibana"
elasticsearch.password: "123456"
...
重启kibana后,我们在浏览器上连接kibana(192.168.1.212:5601),将弹出登陆页面,此时我们可以用相关权限的账号密码登陆,其中elastic账号拥有管理员权限。
安装使用IK
1、安装IK:
IK的版本号也要求与es和kibana保持一致。
安装方式可以用elasticsearch-plugin安装,或自行在github上下载zip包,解压到/home/es/elasticsearch-6.7.1/plugins/ik目录
这里我们用第1种方式:
$ ./bin/elasticsearch-plugin install https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v6.7.1/elasticsearch-analysis-ik-6.7.1.zip
安装完成后重启es。
2、IK的作用:
默认情况下,es处理中文的方式是拆分成单个文字进行匹配,比如“我是中国人”,es默认拆分成我、是、中、国、人这5个字。IK分词器,顾名思义,支持按词分,于是用IK可以拆成我、是、中国人、中国、国人。
3、使用IK:
es默认按单个字拆分中文,如果要用IK分词,在创建索引时需指定分词器:
PUT hereweuseik
{
"settings":{
"number_of_shards": "1",
"number_of_replicas": "1",
"analysis":{
// 使用ik_max_word
"analyzer":{
"ik":{
"tokenizer":"ik_max_word"
}
}
}
},
"mappings":{
// 字段定义
}
}
使用示例
关于使用操作的示例,请参见:
官方Clients
官方维护的客户端见页面:https://www.elastic.co/guide/en/elasticsearch/client/index.html
目前包含以下语言:
- Java REST Client [7.1] —— other versions
- Java API [7.1] —— other versions
- JavaScript API [7.x] —— other versions
- Go API
- .NET API [6.x] —— other versions
- PHP API [6.7.x] —— other versions
- Perl API
- Python API
- Ruby API
- Community Contributed Clients
golang client的源码在github的elastic/go-elasticsearch仓库
GitHub:https://github.com/elastic/go-elasticsearch
GoDoc:https://godoc.org/github.com/elastic/go-elasticsearch
注:注意客户端版本应匹配es的版本。
搜索引擎elasticsearch + kibana + X-pack + IK安装部署的更多相关文章
- elasticsearch + kibana + x-pack + logstash_集群部署安装
elasticsearch 部分总体描述: 1.elasticsearch 的概念及特点.概念:elasticsearch 是一个基于 lucene 的搜索服务器.lucene 是全文搜索的一个框架. ...
- lagstash + elasticsearch + kibana 3 + kafka 日志管理系统部署 02
因公司数据安全和分析的需要,故调研了一下 GlusterFS + lagstash + elasticsearch + kibana 3 + redis 整合在一起的日志管理应用: 安装,配置过程,使 ...
- Kibana在Linux上安装部署及使用说明
Kibana安装及使用说明 Kibana是一个针对Elasticsearch的开源分析及可视化平台,用来搜索.查看交互存储在Elasticsearch索引中的数据. 官方地址:https://www. ...
- logstash+elasticsearch+kibana管理日志(安装)
logstash1.先安装jdk2.wget https://download.elastic.co/logstash/logstash/logstash-2.4.0.tar.gz tar -xzvf ...
- 分布式搜索引擎Elasticsearch在CentOS7中的安装
1. 概述 随着企业业务量的不断增大,业务数据随之增加,传统的基于关系型数据库的搜索已经不能满足需要. 在关系型数据库中搜索,只能支持简单的关键字搜索,做不到分词和统计的功能,而且当单表数据量到达上百 ...
- 分布式搜索引擎ElasticSearch+Kibana (Marvel插件安装详解)
在安装插件的过程中,尤其是安装Marvel插件遇到了很多问题,要下载license.Marvel-agent,又要下载安装Kibana 版本需求 Java 7 or later Elasticsear ...
- elasticsearch kibana logstash(ELK)的安装集成应用
官网关于kibana的学习指导网址是:https://www.elastic.co/guide/en/kibana/current/index.html Kibana是一个开源的分析和可视化平台,设计 ...
- ElasticSearch在linux上的安装部署全程记录
由于项目需求,需要在linux平台搭建一套ES服务.在搭建过程中,遇到各种各样的问题.后来都一一解决.现在要记录下来这个过程,以及其中遇到的问题,及其解决方法. 一.环境配置 操作系统:Cent OS ...
- 快速搭建应用服务日志收集系统(Filebeat + ElasticSearch + kibana)
快速搭建应用服务日志收集系统(Filebeat + ElasticSearch + kibana) 概要说明 需求场景,系统环境是CentOS,多个应用部署在多台服务器上,平时查看应用日志及排查问题十 ...
随机推荐
- Jenkins+Gitlab+Ansible自动化部署(二)
接Jenkins+Gitlab+Ansbile自动化部署(一):https://www.cnblogs.com/zd520pyx1314/p/10210727.html Ansible的配置与部署 工 ...
- css3创建多边形clip属性,可用来绘制不规则图形了
.path1 { clip-path: polygon(5px 10px, 16px 3px, 16px 17px); } .path2 { clip-path: polygon(3px 5px, 1 ...
- Collection-Iterator-foreach
一.Collection(java.util) 1.概述:具有相同性质的一类事物的汇聚的整体,称为集合.任何集合都包含三块内容:对外的接口/接口的实现/对集合运算的算法. java中使 ...
- 解决easyUI下拉控件无法触发onkeydown事件
实现在combotree下拉控件中按Backspace键清除combotree选中的值 下面的代码无法获取到键盘事件 <input class="easyui-combotree&qu ...
- 如何提高Mysql的查询效率???
1.对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引. 2.应尽量避免在 where 子句中对字段进行 null 值判断,否则将导致引擎放弃使用索 ...
- 深入理解Java流机制(一)
一.前言 C语言本身没有输入输出语句,而是调用"stdio.h"库中的输入输出函数来实现.同样,C++语言本身也没有输入输出,不过有别于C语言,C++有一个面向对象的I/O流类库& ...
- python+selenium之中类/函数/模块的简单介绍和方法调用
# coding=utf-8 class ClassA (object): string1 = "这是一个字符串." def instancefunc(self): print ( ...
- centos7-httpd虚拟主机
Apache虚拟主机: 一台WEB服务器发布单个网站会非常浪费资源,所以一台WEB服务器上会发布多个网站, 在一台服务器上发布多网站,也称之为部署多个虚拟主机,WEB虚拟主机配置方法有三种: 基于单I ...
- Linux curl命令中,HTTP 302处理
在Linux中使用curl命令时,偶尔会遇到一些URL跳转到新的URL,即HTTP中的3XX(redirection,重定向 ). $curl -s -I $URL > log 这时在返回的报文 ...
- 【转】LDA-linear discriminant analysis
分类问题也可以用降维来理解,比如一个D维的数据点x,我们可以采用下面的映射进行线性的降维, y=θTx 在计算出y后,就可以选择一个阈值h,来进行分类.正如我们在前面的PCA模型中看到的,降维会有信息 ...