Elasticsearch与Kibana的虚拟机部署和在Kibana可视化界面进行对Elasticsearch的基础操作
·
1、这里部署涉及到docker容器中的通信,所以这里我们首先使用命名创建一个网络,这里我创建的是Es
#创建网络
docker network create Es
#查看网络列表
docker network ls
2、使用命令分别创建运行容器
创建Elasticsearch容器
docker run -d \
--name es \ # 容器名称
-e "ES_JAVA_OPTS=-Xms512m -Xmx512m" \ # 设置 JVM 堆内存(这里设置比512m还小可能会出现问题,建议最小就这个)
-e "discovery.type=single-node" \ # 单节点模式(无需集群)
-v es-data:/usr/share/elasticsearch/data \ # 挂载数据卷(持久化存储)
-v es-plugins:/usr/share/elasticsearch/plugins \ # 挂载插件卷(后续我们可以安装像ik这样的插件进行分词)
--privileged \ # 提升容器权限(可能不必要)
--network Es \ # 加入自定义网络 `Es`
-p 9200:9200 \ # 映射 HTTP 端口(REST API)
-p 9300:9300 \ # 映射节点间通信端口(集群模式)
elasticsearch:7.12.1 # 使用的镜像版本
创建Kibana容器
docker run -d \
--name kibana \ # 容器名称
-e ELASTICSEARCH_HOSTS=http://es:9200 \ # 指定 Elasticsearch 地址(也可以使用虚拟机的IP地址)
--network=Es \ # 加入自定义网络 `Es`
-p 5601:5601 \ # 映射 Kibana Web 端口
kibana:7.12.1 # 使用的镜像版本
这里我们创建好后可以用dockerps进行查看。没问题,就去访问虚拟机IP+9200端口,出现以下页面代表Elasticsearch部署成功。

接着我们继续用IP+5601端口去访问,如果出现以下页面代表Kibana也部署成功。我们点击下面的Dev tools就可以去调用Elasticsearch提供的Api

3、部署完成后我们就可以在Kibana的开发者工具选项中进行操作
如,创建索引库、删除索引库等操作
#创建索引库
PUT /es
{
"mappings": {
"properties": {
"info": {
"type": "text",
"analyzer": "ik_smart"
},
"age":{
"type": "byte"
},
"email":{
"type": "keyword",
"index": false
},
"name":{
"type": "object",
"properties": {
"firstName": {
"type": "keyword"
},
"lastName":{
"type": "keyword"
}
}
}
}
}
}
#查询索引库
GET /es
#删除索引库
DELETE /es
#修改索引库
PUT /es/_mapping
{
"properties":{
"weight":{
"type":"float"
}
}
}
#新增文档
POST /es/_doc/1
{
"info": "程序员Java讲师",
"email": "z444y@itcast.cmmn",
"name": {
"firstName": "云",
"lastName": "赵"
}
}
#查询文档
GET /es/_doc/4
#删除文档
DELETE /es/_doc/1
#全量修改
PUT /es/_doc/2
{
"info": "程序员Java讲师9",
"email": "ZyyyyY@itcast.cn",
"name": {
"firstName": "si",
"lastName": "赵"
}
}
#增量修改
POST /es/_update/1
{
"doc": {
"email": "zhaodddyun@itcast.cndd"
}
}
#批量新增
POST /_bulk
{"index": {"_index":"es", "_id": "3"}}
{"info": "程序员C++讲师", "email": "ww@itcast.cn", "name":{"firstName": "五", "lastName":"王"}}
{"index": {"_index":"es", "_id": "4"}}
{"info": "程序员前端讲师", "email": "zhangsan@itcast.cn", "name":{"firstName": "三", "lastName":"张"}}
#批量删除
POST /_bulk
{"delete": {"_index":"es", "_id": "3"}}
{"delete": {"_index":"es", "_id": "4"}}
这里就截个图看看界面,就不一一去运行截图了。点击三角就可以运行,这里Elasticsearch大致还是遵循restful风格。大家对这种格式不理解的,还得去学习一下Elasticsearch的json数据格式,倒排索引,以及他的基本数据类型,还有就是mapping规则等,这里就不做说明了。

到这里篇幅有限,也就介绍完成了用Kibana去调Elasticsearch的Api的基础用法。但是,这种往往是不常用的操作方式。一般是放在代码中去操作了。
更多推荐


所有评论(0)