| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 大数据 -> Elasticsearch和kibana -> 正文阅读 |
|
[大数据]Elasticsearch和kibana |
一.docker安装1、下载镜像文件
????????docker pull elasticsearch:7.4.2 ????????存储和检索数据
????????docker pull kibana:7.4.2 ??????????????????可视化检索数据
2
、创建实例
?(1)安装ElasticSearch
????????mkdir -p /mydata/elasticsearch/config
????????mkdir -p /mydata/elasticsearch/data
? ?(mkdir创建了目录,如果创建一级目录使用mkdir就可以了,创建多级目录使用mkdir -p才行)
? ? ? ? 执行上面两行后可见:
????????echo "http.host: 0.0.0.0" >> /mydata/elasticsearch/config/elasticsearch.yml
(http.host: 0.0.0.0使es可以被任何机器访问。echo "..." >> 被写入的位置)
? ? ? ? 执行上面一行后可见:
????????
????????chmod -R 777 /mydata/elasticsearch/? ? ? ? ?使任何组的任何成员对 /mydata/elasticsearch/ 目录下的所有文件都是可读可写可执行。保证权限
????????docker run --name elasticsearch -p 9200:9200 -p 9300:9300 \
(此处- p作用是端口映射,9200端口用于es的http请求,9300是es分布式集群状态下节点之间的通信端口)
????????
????????-e "discovery.type=single-node" \
(设置以单节点运行)
????????-e ES_JAVA_OPTS="-Xms64m -Xmx512m" \
(如果不指定,es一启动会把内存全部占用,虚拟机直接卡死。初始64m,最大512m)
????????
????????-v /mydata/elasticsearch/config/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml \
(- v参数用于挂载或者说关联。以后修改左面的也就修改了右面的配置)
????????-v /mydata/elasticsearch/data:/usr/share/elasticsearch/data \
????????-v /mydata/elasticsearch/plugins:/usr/share/elasticsearch/plugins \
????????-d elasticsearch:7.4.2
(- d为后台启动,使用es:7.4.2版本)
以后再外面装好插件重启即可;
特别注意:
-e ES_JAVA_OPTS="-Xms64m -Xmx256m" \
测试环境下,设置
ES
的初始内存和最大内存,否则导
致过大启动不了
ES
执行上面一串代码后,查看一下:可见启动完成 windows浏览器访问:192.168.23.130:9200? ? ? ? 可见下图,可见已完成 docker logs elasticsearch(也可以使用docker logs 容器id。容器id通过docker ps 查看):若上方出错可用此命令查看es日志判断哪里出错,当然我们这里我没有出错。
(2)安装Kibana
注意:操作ES也就是给它请求,postman也行。安装Kibana是让其在web端有可视化界面,且kibana还有其他小的优点。
docker run --name kibana -e ELASTICSEARCH_HOSTS=
http://192.168.23.130:9200
-p 5601:5601 \
-d kibana:7.4.2
http://192.168.56.10:9200
一定改为自己虚拟机的地址
安装且启动后可见如图:
windows浏览器访问:192.168.23.130:5601? ? ? ? 可见下图,可见已完成。
二.初步检索注意:索引就是数据库。类型就是数据库表。文档就是表字段。其中类型的概念并不重。 这里 Types 的概念已经被逐渐弱化,Elasticsearch 6.X 中,一个 index 下已经只能包含一个 type,Elasticsearch 7.X 中, Type 的概念已经被删除了。 1._cat(查询系统信息) 查看es的健康状况 ?查看主节点信息: 查看所有索引: ?查看所有节点: ?2、索引一个文档(增加)
来自于别处:
保存一个数据,保存在哪个索引的哪个类型下(即mysql的哪个数据库的哪张表下),指定用哪个唯一标识。
PUT customer/external/1:
在
customer
索引下的
external
类型下保存
1
号数据为
PUT
和
POST
都可以,
POST
新增。如果不指定
id
,会自动生成
id
。指定
id
就会修改这个数据,并新增版本号
PUT
可以新增可以修改。
PUT
必须指定
id
;由于
PUT
需要指定
id
,我们一般都用来做修改
操作,不指定
id
会报错。
自己总结:
请求方式为:PUT? ? ? ?
URI:192.168.23.130:9200/
customer/external/1
body内容JSON格式:
注意:PUT请求方式同一请求发送多次为更新操作
执行后返回的数据:
请求方式为:POST? ? ?
URI:192.168.23.130:9200/
customer/external/
????????
????????192.168.23.130:9200/
customer/external/1? ? ? ? (1表示其id,其他数字也可以)
body内容JSON格式:
(1)若URI:192.168.23.130:9200/customer/external/ 注意:上方URI执行,POST?请求方式同一请求发送多次依旧是添加操作,且每一次执行都会自动创造一个唯一id。
执行后返回的数据:
(2)若URI:192.168.23.130:9200/
customer/external/1????????(1表示其id,其他数字也可以)
注意:此时多次执行为更新
若带id,PUT和POST请求为一次新增,多次修改。POST可以不带id,不带id多次都为新增
3.查询文档(查找)
GET customer/external/1
自己总结:
请求方式为:GET??
URI:192.168.23.130:9200/
customer/external/1? ? ? ? 查询数据库customer下的数据库表external下的1号数据
乐观锁字段的测试:
????????更新携带 ?if_seq_no=0&if_primary_term=1
执行前:
执行后:
返回结果:
4.更新文档(修改)
5
、删除文档
&
索引
ES中类型(数据库表)的概念不深刻,没有删除这个的方法。
6.
bulk
批量 API
bulk API
以此按顺序执行所有的
action
(动作)。如果一个单个的动作因任何原因而失败,
它将继续处理它后面剩余的动作。当
bulk API
返回时,它将提供每个动作的状态(与发送
的顺序相同),所以您可以检查是否一个指定的动作是不是失败了。
(1)批量新增
运行结果见下图:可见批量增加了两个数据。
注意:新增的两个数据是独立的。即一个运行失败另一个不一定运行失败
(2)
复杂实例
运行结果见下图: |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
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/24 7:56:43- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |