Elasticsearch数据库

news2024/11/25 7:16:11

目录

  • 1. 什么是ElasticSearch
    • 1.1 概念及特点
    • 1.2 ElasticSearch适用场景概述
  • 2. 安装ElasticSearch
    • 2.1 下载安装包
    • 2.2 环境说明
    • 2.3 创建es的用户
    • 2.4 创建es存储位置
    • 2.5 安装es
    • 2.5 修改配置文件
    • 2.6 系统优化
    • 2.7 安装jdk环境
    • 2.8 切换es用户启动数据库
    • 2.9 systemctl管理
    • 2.10 访问
  • 3. kibana
    • 3.1 kibana介绍
    • 3.2 安装kibana
    • 3.3 上传安装包
    • 3.4 解压文件
    • 3.5 修改配置文件
    • 3.6 启动
    • 3.7 浏览器访问

1. 什么是ElasticSearch

1.1 概念及特点

  1. Elasticsearch和MongoDB/Redis/Memcache一样,是非关系型数据库。是一个接近实时的搜索平台,从索引这个文档到这个文档能够被搜索到只有一个轻微的延迟,企业应用定位:采用Restful API标准的可扩展和高可用的实时数据分析的全文搜索工具。

  2. 可拓展:支持一主多从且扩容简易,只要cluster.name一致且在同一个网络中就能自动加入当前集群;本身就是开源软件,也支持很多开源的第三方插件。

  3. 高可用:在一个集群的多个节点中进行分布式存储,索引支持shards和复制,即使部分节点down掉,也能自动进行数据恢复和主从切换。

  4. 数据存储的最小单位是文档,本质上是一个JSON 文本:

在这里插入图片描述

1.2 ElasticSearch适用场景概述

  1. 维基百科,类似百度百科,全文检索,高亮,搜索推荐

  2. The Guardian(国外新闻网站),类似搜狐新闻,用户行为日志(点击,浏览,收藏,评论)+社交网络数据(对某某新闻的相关看法),数据分析,给到每篇新闻文章的作者,让他知道他的文章的公众反馈(好,坏,热门,垃圾,鄙视,崇拜)

  3. Stack Overflow(国外的程序异常讨论论坛),IT问题,程序的报错,提交上去,有人会跟你讨论和回答,全文检索,搜索相关问题和答案,程序报错了,就会将报错信息粘贴到里面去,搜索有没有对应的答案

  4. GitHub(开源代码管理),搜索上千亿行代码

  5. 电商网站,检索商品

  6. 国内:站内搜索(电商,招聘,门户,等等),IT系统搜索(OA,CRM,ERP,等等),数据分析(ES热门的一个使用场景)

2. 安装ElasticSearch

2.1 下载安装包

官网下载地址:
https://www.elastic.co/cn/downloads/past-releases

2.2 环境说明

//系统版本
[root@localhost ~]# cat /etc/redhat-release 
CentOS Linux release 7.8.2003 (Core)
//关闭防火墙
[root@localhost ~]# systemctl stop firewalld && systemctl disable firewalld
[root@localhost ~]# sed -i '7s/enforcing/disabled/g' /etc/selinux/config
[root@localhost ~]# setenforce 0
[root@localhost ~]# getenforce
Permissive

2.3 创建es的用户

[root@localhost ~]# groupadd es
[root@localhost ~]# useradd -g es -s /bin/bash -md /home/es es

2.4 创建es存储位置

//存放在/var/es(根据实际需求)
[root@localhost ~]# mkdir /var/es && cd /var/es
[root@localhost es]# mkdir data && mkdir log
[root@localhost es]# chown -Rf es:es /var/es/

2.5 安装es

//创建文件夹,并将安装包上传到这里
[root@localhost ~]# mkdir /usr/local/es && cd /usr/local/es
//上传安装包
[root@localhost src]# ls
debug  elasticsearch-6.8.20.tar.gz  kernels
//解压安装包
[root@localhost src]# tar xf elasticsearch-6.8.20.tar.gz -C /usr/local/es/
[root@localhost src]# cd /usr/local/es/
[root@localhost es]# chown -Rf es:es /usr/local/es/elasticsearch-6.8.20/

2.5 修改配置文件

//编辑配置文件
[root@localhost es]# vim /usr/local/es/elasticsearch-6.8.20/config/elasticsearch.yml
//取消cluster.name前的#号注释,改成自己起的名字。(注意前面的数字代表行号)
17 cluster.name: my-application
//node.name取消#号
23 node.name: node-1
//设置path.data,取消#号,改为如下的
33 path.data: /var/es/data
//设置path.logs,取消#号,改为如下的
37 path.logs: /var/es/log
//network.host取消#号,改为0.0.0.0(允许所有ip访问)
55 network.host: 0.0.0.0
//取消http.port#
59 http.port: 9200
//在文件的最后添加以下配置
 89 bootstrap.memory_lock: false
 90 bootstrap.system_call_filter: false

2.6 系统优化

//修改文件1
[root@localhost es]# vi /etc/security/limits.conf
末尾添加
62 es soft nofile 65536
63 es hard nofile 65536
64 es soft nproc 4096
65 es hard nproc 4096
//修改文件2
[root@localhost es]# vim /etc/sysctl.conf 
末尾添加
11 vm.max_map_count = 655360
[root@localhost es]# sysctl -p
vm.max_map_count = 655360

2.7 安装jdk环境

//上传jdk安装包
[root@localhost src]# ls
debug  elasticsearch-6.8.20.tar.gz  jdk-8u131-linux-x64.tar.gz  kernels
//解压安装包
[root@localhost src]# tar xf jdk-8u131-linux-x64.tar.gz -C /usr/local/
//添加环境变量
[root@localhost src]# vim /etc/profile
末尾添加
 78 #JAVA_HOME
 79 export JAVA_HOME=/usr/local/java
 80 #JRE_HOME
 81 export JRE_HOME=/usr/local/java/jre
 82 #CALSSPATH
 83 export CLASSPATH=$CLASSPATH:${JAVA_HOME}/lib:${JRE_HOME}/lib
 84 #PATH
 85 export PATH=$PATH:${JAVA_HOME}/bin:${JRE_HOME}/bin

//重命名
[root@localhost ~]# mv /usr/local/jdk1.8.0_131/ /usr/local/java
[root@localhost ~]# source /etc/profile
[root@localhost ~]# java -version
java version "1.8.0_131"
Java(TM) SE Runtime Environment (build 1.8.0_131-b11)
Java HotSpot(TM) 64-Bit Server VM (build 25.131-b11, mixed mode)

2.8 切换es用户启动数据库

[root@localhost ~]# su es
[es@localhost root]$ /usr/local/es/elasticsearch-6.8.20/bin/elasticsearch &

2.9 systemctl管理

2.10 访问

用浏览器访问ip:9200(安装的设备9200端口),看到如下的说明安装成功:
在这里插入图片描述

3. kibana

3.1 kibana介绍

Kibana是一个开源的分析与可视化平台,设计出来用于和Elasticsearch一起使用的。你可以用kibana搜索、查看存放在Elasticsearch中的数据。KibanaElasticsearch的交互方式是各种不同的图表、表格、地图等,直观的展示数据,从而达到高级的数据分析与可视化的目的。
ElasticsearchLogstashKibana这三个技术就是我们常说的ELK技术栈,可以说这三个技术的组合是大数据领域中一个很巧妙的设计。一种很典型的MVC思想,模型持久层,视图层和控制层。Logstash担任控制层的角色,负责搜集和过滤数据。Elasticsearch担任数据持久层的角色,负责储存数据。而我们这章的主题Kibana担任视图层角色,拥有各种维度的查询和分析,并使用图形化的界面展示存放在Elasticsearch中的数据。

3.2 安装kibana

官网下载地址:
https://www.elastic.co/cn/downloads/past-releases#kibana

3.3 上传安装包

//使用rz命令或者xftp上传
[root@localhost src]# ls
debug  elasticsearch-6.8.20.tar.gz  jdk-8u131-linux-x64.tar.gz  kernels  kibana-6.8.20-linux-x86_64.tar.gz

3.4 解压文件

[root@localhost src]# tar xf kibana-6.8.20-linux-x86_64.tar.gz -C /usr/local/

3.5 修改配置文件

//下列的序号为行号
[root@localhost src]# vim /usr/local/kibana-6.8.20-linux-x86_64/config/kibana.yml
7 server.host: "192.168.5.55"                           //ES服务器主机地址
28 elasticsearch.hosts: ["http://192.168.5.55:9200"]    //ES服务器地址

3.6 启动

[root@localhost src]# cd /usr/local/kibana-6.8.20-linux-x86_64/
[root@localhost kibana-6.8.20-linux-x86_64]# ./bin/kibana &

3.7 浏览器访问

http://192.168.5.55:5601/app/kibana
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/513698.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

听劝,不要什么都不懂就自学网络安全【黑客】

一、网络安全学习的误区 1.不要试图以编程为基础去学习网络安全 不要以编程为基础再开始学习网络安全,一般来说,学习编程不但学习周期长,且过渡到网络安全用到编程的用到的编程的关键点不多。一般人如果想要把编程学好再开始学习网络安全往…

SSL 证书安装使用中遇到的常见问题

为了实现网站HTTPS加密保护及身份的可信认证,防止传输数据的泄露或篡改,SSL证书已被各政企网站广泛应用。然而在部署和使用SSL证书的过程中,我们经常会遇到一些措手不及的问题,一旦处理不当,就会让网站面临信息被泄漏、…

Linux知识点 -- 常见指令及权限理解

Linux知识点 – 常见指令及权限理解 文章目录 Linux知识点 -- 常见指令及权限理解一、Linux下基本指令1.ls指令 - 列文件或目录信息2.pwd命令 - 显示用户当前所在目录3.cd指令 - 改变工作目录4.touch指令 - 更改文件时间或新建文件5.mkdir指令 - 创建目录 / tree - 以树状形式显…

Hbase入门篇02---数据模型和HBase Shell的基本使用

Hbase入门篇02---数据模型和基本使用 HBase数据模型表行列单元格 (cell)概念模型 shell命令行进行CRUD操作表的CRUD数据的CRUD数据批量导入计数操作大量数据的计数统计扫描操作limit限制返回条数返回指定列返回指定行键对应的数据 过滤器HBase中的过滤器…

【云原生进阶之PaaS中间件】第一章Redis-1.2数据类型

1 Redis 数据类型 Redis支持五种数据类型:string(字符串),hash(哈希),list(列表),set(集合)及zset(sorted set:有序集合)。…

XML配置方式使用Spring MVC:实战练习

文章目录 任务1、设置项目首页 - index.jsp1、修改web.xml文件2、创建首页文件3、修改登录控制器4、启动服务器,查看效果 任务2、首页添加登录链接,单击跳转到登录页面1、修改首页文件2、修改登录控制器3、启动服务器,查看效果 任务3、利用Sp…

预测性维护无线振动监测方案QA合集

一、虹科无线振动监测方案 虹科无线振动监测方案具有高安全性、高可靠性、全自动诊断的优势,广泛应用于各种旋转设备的故障诊断。虹科无线振动监测方案包括Accel 310高分辨率无线振动系统,用户能够实现每小时获取标量数据或每日诊断监控机器状态。借助先…

PostgreSQL(五)JDBC连接串常用参数

目录 1.单机 PostgreSQL 连接串2.集群PostgreSQL 连接串 PostgreSQL JDBC 官方驱动下载地址: https://jdbc.postgresql.org/download/ PostgreSQL JDBC 官方参数说明文档: https://jdbc.postgresql.org/documentation/use/ 驱动类: driver-…

yarn切换element-plus版本

yarn的安装和卸载 npm install -g yarn npm uninstall yarn -g //yarn卸载 本机的element-plus版本 "element-plus": "2.0.1", 想要切换的element-plus版本 由于我需要用到树型选择,所以需要升级到2.1.8 用npm卸载element-plus时报如下错误…

Scala学习(三)---函数式编程

文章目录 1.面向对象编程2. 函数式编程是什么3.函数定义4.函数参数的特殊用法5.函数至简原则6.匿名函数6.1 匿名函数化简原则 7.高阶函数7.1 函数可以作为值进行传递7.2 函数可以作为参数进行传递7.3 函数可以作为返回值进行传递7.4 柯里化写法 1.面向对象编程 Scala语言是一个…

解决Uncaught SyntaxError: Unexpected reserved word

解决思路: 首先,我运行项目报错,我查看了一下node版本,是否太低, 如果是14版本的话,那么node需要升级, 目前,node已经升级到19,升级到16即可,无需太高 更…

❤ 微信原生小程序的使用

❤ 微信原生小程序的使用 运行提示: Provisional headers are shown 微信小程序请求远程服务器接口时,响应非常慢,最后请求超时,导致失败。网络那里提示 provisional headers are shown警告 原因: 原因有很多&#…

什么人间悲剧,面试被刷了还要被HR怼.....

前一阵子向朋友诉苦,我在参加字节跳动面试的时候被面试官怼得哑口无言,场面让我一度十分尴尬。 印象最深的就是下面几个问题: 根据你以前的工作经验和学习到的测试技术,说说你对质量保证的理解? 非关系型数据库和关系型…

内网:bloodhound域渗透分析工具

目录 neo4j window下载 社区版neo4j kali下载 BloodHound BloodHound 使用 介绍: 利用BloodHound对庞大内网域环境进行自动化信息搜集并整理分析数据,提高渗透效率。BloodHound是一款可视化图形分析域环境中的关系的工具,…

ES 权威指南

一、检索文档 1.1 检索文档的一部分 通常, GET 请求将返回文档的全部, 存储在 _source 参数中。 但是可能你感兴趣的字段只是 title 。 请求个别字段可以使 用 _source 参数。 多个字段可以使用逗号分隔: GET /website/blog/123?_sourcetit…

ios 打包静态库

前言: 各位同学大家, 有段时间没有跟大家见面了。 相信很多做IOS手游sdk 的同学 都会用到静态库, 我们不用把我们都源代码都发给对接方 就可以把我们的逻辑跟研发都代码融合在一起 具体实现: 第一步 点击file 第二步创建一个p…

ES6中将非数组转换为数组的三种方法

大厂面试题分享 面试题库 前后端面试题库 (面试必备) 推荐:★★★★★ 地址:前端面试题库 web前端面试题库 VS java后端面试题库大全 我们常常想使用数组的方法,比如forEach,filter,又或者so…

解决 CentOS 7 内核安全漏洞 CESA-2018:3651 报错

如果你的 CentOS 7 服务器在安全测试时出现 kernel (CESA-2018:3651) 报错,那么您的服务器存在内核安全漏洞,需要更新修补。本文将介绍如何解决这个问题。 查看当前内核版本 在进行内核更新之前,您需要先查看当前服务器所使用的内核版本。可…

本地部署 MiniGPT-4

本地部署 MiniGPT-4 1. 什么是 MiniGPT-42. Github 地址3. 安装 MiniGPT-44. 准备预训练的 MiniGPT-4 checkpoint5. 在本地启动演示其他 1,安装 CUDA Toolkit 11.8其他 2,安装 GCC 9 版本,并设置为默认GCC版本其他 3(成功),重新安…

Shell脚本管道符常用搭配命令(我在人间贩卖黄昏,只为收集世间温柔去见你)

文章目录 1.sort2.uniq3.tr5.split6.paste7.eval 1.sort sort命令——以行为单位对文件内容进行排序,也可以根据不同的数据类型来排序比较原则是从首字符向后,依次按ASCII码值进行比较,最后将他们按升序输出。 sort [选项] 文件名 cat file …