| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 大数据 -> Elasticsearch 使用 -> 正文阅读 |
|
[大数据]Elasticsearch 使用 |
一. Elasticsearch 安装jdk 版本要求至少 1.8 以上,进入 ES?官网之后使用迅雷下载解压,解压之后就可以使用了,熟悉 ES 解压之后的各个目录;
二. Elasticsearch 启动进入 ES 解压之后的 bin 目录,双击 elasticsearch.bat 文件或者使用以命令行方式启动elasticsearch.bat 文件,当 ES 正常启动的时候不会显示报错信息,而且会生成 elastic 用户以及密码,配置 kibana 的 token 等信息(我的 elasticsearch 版本是8.2.0): 我们可以在浏览器中使用?ip 地址:9200(例如:https://12.20.20.15:9200)访问或者使用https://127.0.0.1:9200 访问,注意是 https 请求,这个时候会显示不安全的连接此时我们可以点击转到这个连接,转到这个连接之后需要输入 elasticsearch 的用户名和密码,用户名可以输入:elastic,密码输入使用?elasticsearch.bat 文件启动成功之后生成的密码(上图中生成的密码),成功登陆之后我们可以在页面中看到下面的信息: 安装可视化界面:es head 插件,head 插件可以方便看到 es 集群节点、索引和分片信息,安装 head 插件需要依赖 ?nodejs 和 grunt 环境,head 插件下载地址:https://gitee.com/cyberton/elasticsearch-head/repository/archive/master.zip: 安装 ES head 插件步骤:1. 安装 nodejs:在官网下载 nodejs? 按照提示进行安装;在 cmd 命令行中使用?node -v 检查是否可以显示 nodejs 版本;2. 进入到 nodejs 安装目录,使用 cmd 命令进入到这个nodejs 安装目录,使用命令:npm install -g grunt?-cli 安装;3. 进入到下载好的 es head 插件目录下,使用命令:npm install(这个命令下载很慢很有可能下载失败);或者是使用 cnpm install (在 cmd 命令行中先使用:npm install -g cnpm --registry=https://registry.npm.taobao.org 命令安装淘宝镜像,这样后面就可以使用 cnpm install 命令快速安装)下载 head 插件需要的各种依赖: 安装好了上面的环境之后进入到 head 插件目录,可以发现多了一个node_modules 文件夹,里面保存的就是各种下载好的依赖: 在 head 目录的 cmd 模式下然后使用命令:npm run start: 在浏览器中访问可以得到下面的页面:? 9100 访问 9200 就是跨域问题,如何解决这个问题呢?把?elasticsearch 关掉,在 elasticsearch 解压目录下编辑?elasticsearch.yml 文件,添加:http.cors.enabled: true 开启跨域;http.cors.allow-origin: "*"(运行所有人访问)可以在 gitee 上找到这个插件的相关使用说明:
但是修改完成之后点击连接之后发现还是无法连接,使用快捷键 fn + f12 打开浏览器的开发者模式,查看点击连接发送的请求,发现出现了 401 用户没有权限访问的错误,将 elasticsearch/config 目录下的 elasticsearch.yml 文件中的:xpack.security.enabled: true 修改为 false 才可以使用 head 插件正常访问 http 请求的 9200 端口,如果为 true 在浏览器中会报 401 没有权限的错误(报错的时候连接的是 https 请求),修改为 false 之后在浏览器中需要通过 http 请求来访问 9200 端口,默认这个属性值设置的是 true,官方推荐将其设置为 true 这样使用才比较安全,先将xpack.security.enabled 这个属性修改为 false,后面再看看还有哪些解决方案: es 中的索引可以看成是数据库; 三. Kibana 的安装ELK 是 Elasticsearch、Logstash、Kibana 三大开源框架首字母大写简称,市面上也被成为 Elastic Stack,其中 Elasticsearch 是一个基于 Lucene、分布式、通过 Restful 方式进行交互的近实时搜索平台框架;像类似百度、谷歌这种大数据全文搜索引擎的场景都可以使用 Elasticsearch 作为底层支持框架,可见 Elasticsearch 提供的搜索能力确实强大,市面上很多时候我们简称 Elasticsearch 为 es。 Kibana 是一个针对 Elasticsearch 的开源分析及可视化平台,用来搜索、查看交互存储在 Elasticsearch 索引中的数据,使用Kibana 可以通过各种图表进行高级数据分析及展示,Kibana 让海量数据更容易理解,它操作简单,基于浏览器的用户界面可以快速创建仪表板 (dashboard) 实时显示 Elasticsearch 查询动态,设置 Kibana 非常简单,无需编码或者额外的基础架构,几分钟内就可以完成 Kibana 安装并启动 Elasticsearch 索引监测。 1. 进入 Kibana 的解压目录,双击启动?kibana.bat,kibana 默认是 5601 端口;2. 在浏览器中输入http://localhost:5601/?访问测试: 3.? 开发工具:(postman,curl,head,谷歌浏览器插件),这里使用 kibana 进行测试,找到面板中的开发工具,之后我们的命令会写到这个面板: 我们可以显示的 kibana 页面修改为中文,找到 kibana.yml 文件将注释打开并且修改为(kibana 中有一个默认的插件文件夹 x-pack,里面可以找到国际化的相关文件),修改之后重启 kibana 然后在浏览器中访问 kibana 页面:
在浏览器中访问可以观察到 kibana 的中文页面: 四. ES 核心概念理解elasticsearch 是面向文档,关系型数据库和 elasticsearch 客观的对比: elasticsearch (集群) 中可以包含多个索引(数据库),每个索引中可以包含多个类型(表),每个类型下又包含多个文档(行),每个文档中又包含多个字段(列)。 物理设计: elasticsearch 在后台把每个索引划分成多个分片,每个分片可以在集群中的不同服务器间迁移;(一个人就是一个集群,默认的集群名字就是 elasticsearch), 逻辑设计: 一个索引类型中,包含多个文档,比如说文档1,文档2,当我们索引一篇文档时,可以通过这样的一各顺序找到它:索引-->类型--> 文档,通过这个组合我们就能搜索到某个具体的文档,注意:id 不必是整数,实际上它是个字符串。 文档 之前说 elasticsearch 是面向文档的,那么就意味着索引和搜索数据的最小单位是文档,elasticsearch 中,文档有几个重要属性: |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/23 19:48:02- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |