(ES1)ElasticSearch+Kibana+Elasticsearch-analysis-ik系统环境搭建
ElasticSearch简称ES,可以理解为提供分词快速检索的分布式数据库,和传统数据库不同,传统数据库只能模糊匹配关键字,比如搜索:java架构,传统数据库只能匹配字段里面包含:java架构的数据,但是ES会先拆成java,架构,ES会将含有这2个关键词的数据都将检索出来。
Kibana可以理解为传统数据库的客户端,比如可以连各种数据库的DbVisualizer。
Elasticsearch-analysis-ik 应该是中国人开发的中文分词器,默认的英文分词器是会将每个词都检索的,但是中文语境,不需要拆的那么细。
本文主要介绍这3个软件的安装。后续将介绍Springboot如何和ElasticSearch集成。
环境搭建了两天,各种报错。还好通过网上查资料都一一解决了。本文记录一下,供大家参考。
一.ElasticSearch安装
7.3.0版本自带jdk11,如果安装了jdk1.8,启动的时候报个错误没有安装jdk11,没有关系的。
下载地址
Past Releases of Elastic Stack Software | Elastic
或者
wget https://mirrors.huaweicloud.com/elasticsearch/7.3.0/elasticsearch-7.3.0-linux-x86_64.tar.gz
因为elasticsearch不能使用root账号启动,
需要创建一个新用户
sudo adduser es,修改 es 用户的密码:sudo passwd 123456
cd /usr/local
mkdir elasticsearch
cd elasticsearch
下载安装包到当前文件夹
wget https://mirrors.huaweicloud.com/elasticsearch/7.3.0/elasticsearch-7.3.0-linux-x86_64.tar.gz
解压缩
tar -xzf elasticsearch-7.3.0-linux-x86_64.tar.gz
# 将目录复制三份,作为三个节点,后面配置 ES 集群时,对应了三个 ES 实例
cp -R elasticsearch-7.3.0 es-7.3.0-node-1
cp -R elasticsearch-7.3.0 es-7.3.0-node-2
mv elasticsearch-7.3.0 es-7.3.0-node-3
# 因为以 root 用户启动不了 ES
chown -R es es-7.3.0*
集群配置
vi /usr/local/elasticsearch/es-7.3.0-node-1/config/elasticsearch.yml
#es-7.3.0-node-1
cluster.name: search-7.3.2
node.name: node-1
node.master: true
node.data: false
node.ingest: false
network.host: 0.0.0.0
http.port: 9200
transport.port: 9300
discovery.seed_hosts: ["118.118.133.73:9300","118.118.133.73:9301","118.118.133.73:9302"]
cluster.initial_master_nodes: ["node-1"]
bootstrap.memory_lock: false
bootstrap.system_call_filter: false
vi /usr/local/elasticsearch/es-7.3.0-node-2/config/elasticsearch.yml
#es-7.3.0-node-2
cluster.name: search-7.3.2
node.name: node-2
node.master: true
node.data: true
node.ingest: false
network.host: 0.0.0.0
http.port: 9201
transport.port: 9301
discovery.seed_hosts: ["118.118.133.73:9300","118.118.133.73:9301","118.118.133.73:9302"]
bootstrap.memory_lock: false
bootstrap.system_call_filter: false
vi /usr/local/elasticsearch/es-7.3.0-node-3/config/elasticsearch.yml
# es-7.3.0-node-3
cluster.name: search-7.3.2
node.name: node-3
node.master: true
node.data: true
node.ingest: false
network.host: 0.0.0.0
http.port: 9202
transport.port: 9302
discovery.seed_hosts: ["118.118.133.73:9300","118.118.133.73:9301","118.118.133.73:9302"]
bootstrap.system_call_filter: false
单机配置
如果单机测试这么写(节点名称和集群名称一样):
cluster.name: es-7.3.2
node.name: es-7.3.2
node.master: true
node.data: false
node.ingest: false
network.host: 0.0.0.0
http.port: 9200
transport.port: 9300
discovery.seed_hosts: ["118.118.133.73:9300"]
cluster.initial_master_nodes: ["es-7.3.2"]
bootstrap.memory_lock: false
bootstrap.system_call_filter: false
访问:
http://118.118.133.73:9200/
能正常返回数据表示部署正常
二.IK分词器安装
https://github.com/medcl/elasticsearch-analysis-ik
安装的时候需要和elasticsearch版本保持一致,也需要7.3.0的
每个节点的es plugins下面新建一个ik文件夹,然后将对应的ik下载后解压到当前文件夹
/usr/local/elasticsearch/es-7.3.0-node-1/plugins/ik
/usr/local/elasticsearch/es-7.3.0-node-2/plugins/ik
/usr/local/elasticsearch/es-7.3.0-node-3/plugins/ik
wget https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v7.3.0/elasticsearch-analysis-ik-7.3.0.zip
unzip elasticsearch-analysis-ik-7.3.0.zip
后台启动与关停
启动:
./elasticsearch -p /tmp/elasticsearch-pid -d
查询进程号
cat /tmp/elasticsearch-pid && echo
或者
ps -ef|grep elasticsearch
关闭当前进程
kill -9 查询出来的pid
启动脚本startup.sh
#!/bin/bash
./es-7.3.0-node-1/bin/elasticsearch -p /tmp/elasticsearch1-pid -d
./es-7.3.0-node-2/bin/elasticsearch -p /tmp/elasticsearch2-pid -d
./es-7.3.0-node-3/bin/elasticsearch -p /tmp/elasticsearch3-pid -d
关停脚本stop.sh
#!/bin/bash
jarname='elasticsearch'
pid=`ps aux | grep $jarname | grep -v grep | awk '{print $2}'`
echo $pid
kill -9 $pid
查看集群
http://118.118.133.73:9200/_cat/nodes
http://118.118.133.73:9200 会显示
{
"name" : "node-1",
"cluster_name" : "search-7.3.2",
"cluster_uuid" : "sniRZF0-Qwi3J-I9U3rc_g",
"version" : {
"number" : "7.3.0",
"build_flavor" : "default",
"build_type" : "tar",
"build_hash" : "de777fa",
"build_date" : "2019-07-24T18:30:11.767338Z",
"build_snapshot" : false,
"lucene_version" : "8.1.0",
"minimum_wire_compatibility_version" : "6.8.0",
"minimum_index_compatibility_version" : "6.0.0-beta1"
},
"tagline" : "You Know, for Search"
}
其他两个9201,9202一样显示正常就说明部署好了,
一般都会出现各种报错。
各种报错,我这里也做了总结,供参考:
ElasticSearch安装过程异常解决
异常1
max file descriptors [4096] for elasticsearch process is too low, increase to at least [65535]
在 /etc/security/limits.conf 文件末尾添加
* soft nofile 65535
* hard nofile 65535
异常2
max number of threads [3795] for user [elastic] is too low, increase to at least [4096]
在 /etc/security/limits.conf 文件末尾添加
* soft nproc 4096
* hard nproc 4096
异常3
max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]
在 /etc/sysctl.conf文件末尾添加
vm.max_map_count=262144
异常4
the default discovery settings are unsuitable for production use; at least one of [discovery.seed_hosts, discovery.seed_providers, cluster.initial_master_nodes] must be configured
添加elasticsearch.yml配置
cluster.initial_master_nodes: ["node-1"]
异常5
max number of threads [1024] for user [lishang] likely too low
解决办法:
1.切换至root用户
su root
2. 修改limits.d目录下的配置文件:
vi /etc/security/limits.d/90-nproc.conf
改成如下
* soft nproc 4096
root soft nproc unlimited
异常6
system call filters failed to install; check the logs and fix your configuration or disable system c
在elasticsearch.yml中配置bootstrap.system_call_filter为false,注意要在Memory下面:
bootstrap.memory_lock: false
bootstrap.system_call_filter: false
异常7
future versions of Elasticsearch will require Java 11; your Java version from [/usr/java/jdk1.8.0_171/jre] does not meet this requirement
不要紧,es自带了jdk会使用自带的
异常8
org.elasticsearch.bootstrap.StartupException: java.lang.RuntimeException: can not run elasticsearch as root
需要创建一个新用户
sudo adduser es,修改 es 用户的密码:sudo passwd 123456
异常9:
es用户打开elasticsearch的时候,报错
java.nio.file.AccessDeniedException: /usr/local/elasticsearch/es-7.3.0-node-2/config/elasticsearch.keystore
通过 root账户转让所有权限
chown -R es /usr/local/elasticsearch/es-7.3.0-node-2
异常10:
seccomp unavailable: requires kernel 3.5+ with CONFIG_SECCOMP and CONFIG_SECCOMP_FILTER compiled in
在config 目录下
vim elasticsearch.yml
在最后添加
bootstrap.system_call_filter: false
改完这些重启Linux,启动Elasticsearch即可其他ip访问
三.Kibana安装
下载地址:Download Kibana Free | Get Started Now | Elastic
kibana也需要安装对应的版本 7.3.0的 https://artifacts.elastic.co/downloads/kibana/kibana-7.3.0-linux-x86_64.tar.gz
在/usr/local下新建一个kibana的文件夹,同样不要使用root账户启动,
将kibana下载后解压的kibana文件夹
修改配置文件
vi /usr/local/kibana/kibana-7.3.0-linux-x86_64/config/kibana.yml
server.port: 5601 #这个不一定需要配置
server.host: "0.0.0.0" #配置IP 建议设置0.0.0.0,方便访问
elasticsearch.hosts: ["http://10.118.133.73:9200"]
i18n.locale: "zh-CN" #默认是英文,这个是中文设置
启动与关停
ps -ef|grep kibana
ps -ef|grep 5601
都找不到
尝试 使用 fuser -n tcp 5601
kill -9 端口
ps -ef|grep node 或 netstat -anltp|grep 5601
启动查看是否报错即可 ./kibana
没有报错改成后台启动:
nohup ../bin/kibana &
打开首页
http://118.118.133.73:5601/
能正常打开说明部署成功。
(ES1)ElasticSearch+Kibana+Elasticsearch-analysis-ik系统环境搭建相关推荐
- 【虚拟化】docker安装ElasticSearch+Kibana,下载IK分词器
1.拉取镜像 docker pull elasticsearch:7.5.0 2.配置 mkdir -p /mydata/elasticsearch/config # 用来存放配置文件 mkdir - ...
- Logstash+Elasticsearch+kibana搭建日志平台文档(xjh20160527重庆公司亲测可用)
Logstash+Elasticsearch+kibana搭建日志平台文档 v1.0_xjh 20160527 http://wenku.baidu.com/link?url=_HaXh4neqWm ...
- 服务器安装配置elasticsearch,kibana,IK分词器和拼音分词器,集群搭建教程
docker安装配置elasticsearch,kibana和IK分词器 elasticsearch文章系列 前置安装docker 创建docker网络 安装Elasticsearch 运行elast ...
- Kibana + Elasticsearch + ik分词的集群搭建
Elasticsearc: Elasticsearch 是一个分布式的搜索和分析引擎,可以用于全文检索.结构化检索和分析,并能将这三者结合起来.Elasticsearch 基于 Lucene 开发,是 ...
- ELK学习3_使用redis+logstash+elasticsearch+kibana快速搭建日志平台
日志的分析和监控在系统开发中占非常重要的地位,系统越复杂,日志的分析和监控就越重要,常见的需求有: 根据关键字查询日志详情 监控系统的运行状况 统计分析,比如接口的调用次数.执行时间.成功率等 异常数 ...
- “Elasticsearch + Kibana + ik分词器“介绍与使用
Elasticsearch 介绍 Elasticsearch 是一个分布式.RESTful 风格的搜索和数据分析引擎,能够解决不断涌现出的各种用例. 作为 Elastic Stack 的核心,它集中存 ...
- [Elasticsearch](五)Docker环境下搭建Elasticsearch,Elasticsearch集群,Elasticsearch-Head以及IK分词插件和拼音分词插件
目录: https://github.com/dolyw/ProjectStudy/tree/master/Elasticsearch DockerStudy dolyw:https://note.d ...
- ElasticSearch + Kibana + logstash+ik结合springboot代码实现,比较ES和传统Mysql查询效率
开发环境:Win10 开发环境:STS 概要:此篇文章主要是传统的Mysql查询和ES查询两种方式的效率比较,以及代码实现,另外使用logstash进行mysql数据的同步也可以直接理解为" ...
- ELK(Logstash+Elasticsearch+Kibana)的原理和详细搭建
一. Elastic Stack Elastic Stack是ELK的官方称呼,网址:https://www.elastic.co/cn/products ,其作用是"构建在开源基础之上, ...
最新文章
- [svc]samba服务搭建
- [ASP.NET MVC 小牛之路]11 - Filter
- app每次更新版本时调用js代码提示用户下载更新
- ps命令与top命令参数意义详解
- 2017年最新的全国省市sql数据
- fastapi学习(二):路径参数获取与GET、POST参数获取
- Linux一键编译,linux下一键编译安装MariaDB10.0.12
- Linux 安装MongoDB 并设置防火墙,使用远程客户端访问
- hibernate 镜像下载_虚拟光驱软件下载手机版-虚拟光驱免费中文版64位下载v5.8.0...
- 仿金蝶进销存源码(含数据库脚本)
- mysql pxc介绍_MySQL高可用之PXC简介
- C# DevExpress控件安装使用教程
- 什么是服务器、ip以及域名以及他们之间的联系
- 与计算机相关的格言,与机器相关的经典名言
- 狂神说Java系列视频教程之docker(记录到swarm安装)
- 深信服AD应用交付管理维护
- 【图像分类】Deep Layer Aggregation论文理解
- python for 循环中的下划线
- 无约束优化:修正阻尼牛顿法
- OpenCV入门(C++/Python)- 使用OpenCV标注图像(六)
热门文章
- 利用tensorflow构建LSTM预测单词
- java比较炫的登录界面_教你写一个炫酷的Material Design 风格的登录和注册页面
- python爬虫之SSL、加密、破解有道词典加密算法并编写有道词典实时翻译
- 机器学习 (三) k-近邻算法应用-约会网站匹配系统
- vscode常用插件 - Path Autocomplete
- 这些两轮电动车的黑科技你知道吗?
- iPad Air 3(iPad Air 2019)的主要参数与特性
- 主数据管理系统(MDM)的四种实现风格
- linux下输入ls显示时间格式,【Linux基础】linux下修改ls显示的时间格式
- 如何在面试中回答「你最大的缺点是什么」?