目录
简介
什么是ElasticSearch
安装
传统方式安装
开启远程访问
Docker方式安装
Kibana
简介
安装
传统方式安装
Docker方式安装
compose方式安装
简介
什么是ElasticSearch
ElasticSearch
简称ES
,是基于Apache Lucene
构建的开源搜索引擎
,是当前最流行的企业级搜索引擎
。Lucene本身就可以被认为迄今为止性能最好的一款开源搜索引擎工具包
,但是lucene的API相对复杂,需要深厚的搜索理论。很难集成到实际的应用中去。ES是采用java语言编写,提供了简单易用的RestFul API,开发者可以使用其简单的RestFul API,开发相关的搜索功能,从而避免lucene的复杂性
。
安装
-
传统方式安装 下载安装包---> 平台 window macos linux
-
Docker 方式安装 推荐
传统方式安装
# 0.环境准备
- centos7.x+、ubuntu、windows、macos
- 安装jdk11.0+ 并配置环境变量 jdk8
# 1.下载ES
- https://www.elastic.co/cn/start# 2.安装ES不用使用root用户,创建普通用户# 添加用户名
$ useradd ***
# 修改密码
$ passwd ***
# 普通用户登录# 3.解压缩ES安装包
$ tar -zxvf elasticsearch-7.14.0-linux-x86_64.tar.gz
# 4.查看ES解压包中目录结构
- bin 启动ES服务脚本目录
- config ES配置文件的目录
- data ES的数据存放目录
- jdk ES提供需要指定的jdk目录
- lib ES依赖第三方库的目录
- logs ES的日志目录
- modules 模块的目录
- plugins 插件目录
# 5.启动ES服务
[mqm@localhost ~]$ ./elasticsearch-7.14.0/bin/elasticsearch
- 这个错误时系统jdk版本与es要求jdk版本不一致,es默认需要jdk11以上版本,当前系统使用的jdk8,需要从新安装jdk11才行!
- 解决方案:
1.安装jdk11+ 配置环境变量、
2.ES包中jdk目录就是es需要jdk,只需要将这个目录配置到ES_JAVA_HOME环境变即可、
# 6.配置环境变量
$ vim /etc/profile
- export ES_JAVA_HOME=指定为ES安装目录中jdk目录
- source /etc/profile
# 7.从新启动ES服务
# 8.ES启动默认监听9200端口,访问9200
$ curl http://localhost:9200
开启远程访问
# 1.默认ES无法使用主机ip进行远程连接,需要开启远程连接权限
- 修改ES安装包中config/elasticsearch.yml配置文件
$ vim elasticsearch.yml
# 2.重新启动ES服务
- ./elasticsearch
- 启动出现如下错误:
`bootstrap check failure [1] of [4]: max file descriptors [4096] for elasticsearch process is too low, increase to at least [65535]
`bootstrap check failure [2] of [4]: max number of threads [3802] for user [chenyn] is too low, increase to at least [4096]
`bootstrap check failure [3] of [4]: max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]
`bootstrap check failure [4] of [4]: the default discovery settings are unsuitable for production use; at least one of [discovery.seed_hosts, discovery.seed_providers
# 3.解决错误-1
$ vim /etc/security/limits.conf
# 在最后面追加下面内容
* soft nofile 65536
* hard nofile 65536
* soft nproc 4096
* hard nproc 4096
# 退出重新登录检测配置是否生效:
ulimit -Hn
ulimit -Sn
ulimit -Hu
ulimit -Su
# 3.解决错误-2
#进入limits.d目录下修改配置文件。
$ vim /etc/security/limits.d/20-nproc.conf
# 修改为
启动ES用户名 soft nproc 4096
# 3.解决错误-3
# 编辑sysctl.conf文件
$ vim /etc/sysctl.conf
vm.max_map_count=655360 #centos7 系统
vm.max_map_count=262144 #ubuntu 系统
# 执行以下命令生效:
$ sysctl -p
# 3.解决错误-4
# 编辑elasticsearch.yml配置文件
$ vim conf/elasticsearch.yml
cluster.initial_master_nodes: ["node-1"]
# 4.重启启动ES服务,并通过浏览器访问
{
"name": "localhost.localdomain",
"cluster_name": "elasticsearch",
"cluster_uuid": "OWh3xLYwR-6lZ_fQNhVY3A",
"version": {
"number": "7.14.0",
"build_flavor": "default",
"build_type": "tar",
"build_hash": "dd5a0a2acaa2045ff9624f3729fc8a6f40835aa1",
"build_date": "2021-07-29T20:49:32.864135063Z",
"build_snapshot": false,
"lucene_version": "8.9.0",
"minimum_wire_compatibility_version": "6.8.0",
"minimum_index_compatibility_version": "6.0.0-beta1"
},
"tagline": "You Know, for Search"
}
Docker方式安装
# 1.获取镜像 - docker pull elasticsearch:7.14.0 # 2.运行es - docker run -d -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" elasticsearch:7.14.0 # 3.访问ES - http://10.15.0.5:9200/
Kibana
简介
Kibana Navicat
是一个针对Elasticsearch mysql
的开源分析及可视化平台
,使用Kibana可以查询、查看并与存储在ES索引的数据进行交互操作
,使用Kibana能执行高级的数据分析,并能以图表、表格和地图的形式查看数据。
安装
传统方式安装
# 1. 下载Kibana - https://www.elastic.co/downloads/kibana # 2. 安装下载的kibana - $ tar -zxvf kibana-7.14.0-linux-x86_64.tar.gz # 3. 编辑kibana配置文件 - $ vim /Kibana 安装目录中 config 目录/kibana/kibana.yml # 4. 修改如下配置 - server.host: "0.0.0.0" # 开启kibana远程访问 - elasticsearch.hosts: ["http://localhost:9200"] #ES服务器地址 # 5. 启动kibana - ./bin/kibana # 6. 访问kibana的web界面 - http://10.15.0.5:5601/ #kibana默认端口为5601
Docker方式安装
# 1.获取镜像 - docker pull kibana:7.14.0 # 2.运行kibana - docker run -d --name kibana -p 5601:5601 kibana:7.14.0 # 3.进入容器连接到ES,重启kibana容器,访问 - http://**********:5601 # 4.基于数据卷加载配置文件方式运行 - a.从容器复制kibana配置文件出来 - b.修改配置文件为对应ES服务器地址 - c.通过数据卷加载配置文件方式启动`docker run -d -v /root/kibana.yml:/usr/share/kibana/config/kibana.yml --name kibana -p 5601:5601 kibana:7.14.0
compose方式安装
version: "3.8" volumes:data:config:plugin: networks:es: services:elasticsearch:image: elasticsearch:7.14.0ports:- "9200:9200"- "9300:9300"networks:- "es"environment:- "discovery.type=single-node"- "ES_JAVA_OPTS=-Xms512m -Xmx512m"volumes:- data:/usr/share/elasticsearch/data- config:/usr/share/elasticsearch/config- plugin:/usr/share/elasticsearch/plugins kibana:image: kibana:7.14.0ports:- "5601:5601"networks:- "es"volumes:- ./kibana.yml:/usr/share/kibana/config/kibana.yml
# kibana配置文件 连接到ES server.host: "0" server.shutdownTimeout: "5s" elasticsearch.hosts: [ "http://elasticsearch:9200" ]monitoring.ui.container.elasticsearch.enabled: true