Docker中部署ElasticSearch 和Kibana,用脚本实现对数据库资源的未授权访问

news2024/11/25 21:50:15

图未保存,不过文章当中的某一步骤可能会帮助到您,那么:感恩!

1、docker中拉取镜像

#拉取镜像
docker pull elasticsearch:7.7.0

#启动镜像
docker run --name elasticsearch -d -e ES_JAVA_OPTS="-Xms512m -Xmx512m" -e "discovery.type=single-node" -p 9200:9200 -p 9300:9300 elasticsearch:7.7.0

2、熟悉目录

bin 启动文件
config 配置文件
	log4j2 日志配置文件
  jvm.options  JAVA 虚拟机相关配置文件
  ElasticSearch  的配置文件 !默认端口为9200  跨域
lib 相关jar包
modules 功能模块

3、启动,访问9200
4、访问测试
image.png

安装可视化页面es head

1、下载(同样使用docker环境)

#拉取镜像
docker pull mobz/elasticsearch-head:5

#创建容器
docker create --name elasticsearch-head -p 9100:9100 mobz/elasticsearch-head:5

#启动容器
docker start 容器id (docker ps -a 查看容器id )

2、启动

http://ip:9100

3、连接测试easticsearch发现失败,是前后端分离开发存在跨域问题,需要在服务端做CORS的配置
(1)进入docker当中

docker exec -it id /bin/bash 

(2) 进入 elasticsearch.yml文件中

vi config/elasticsearch.yml

文末添加数据

http.cors.enabled:true
http.cors.allow-orgin:"*"

退出重启es服务器

exit
docker restart 容器id

4、重启es服务器后,然后在此连接集群(先前的截图没有截,这里边的地址是你部署es的地址)
image.png
()初学时把es当作数据库!(可以建立索引(库),文档(库中的数据!))
image.png
图中的数字代表集群的分辨信息
image.png
这个head就把它当作一个数据展示工具 !想要查询数据,使用kibana

使用docker安装部署kibana

介绍:
Kibana 是为 Elasticsearch设计的开源分析和可视化平台。
你可以使用 Kibana 来搜索,查看存储在 Elasticsearch 索引中的数据并与之交互。
你可以很容易实现高级的数据分析和可视化,以图标的形式展现出来。
1、拉取镜像

#拉去Kibana
docker pull kibana:7.7.0

2.启动容器:

docker run --name kibana -e ELASTICSEARCH_HOSTS=http://搭建elasticsearch IP地址:9200 -p 5601:5601 -d kibana:7.6.2

3、进入容器

docker exec -it 容器ID /bin/sh

修改配置文件

vi /usr/share/kibana/config/kibana.yml 

将内容添加进去

server.name: kibana
server.host: "0"
#elasticsearch.hosts: [ "http://elasticsearch的IP:9200" ]
elasticsearch.hosts: [ "http://自己的elasticsearch的IP:9200" ]
xpack.monitoring.ui.container.elasticsearch.enabled: true
#设置kibana中文显示
i18n.locale: zh-CN

4、访问5601端口后,最终呈现页面image.png
简单操作
image.png

ES基本操作
1、PUT增加数据
格式:

PUT  /索引名/类型名/文档id(数据) 
{
    请求体
}
PUT /test1/type1/1
{
  "name":"云山",
  "age":999
}

执行完后的格式

_index:索引名
_type:类型名
_id:文档id

(1)插入索引
image.png
回到header 点击数据浏览——》选择索引
image.png
(2)获取索引库中的某条文档数据
image.png
(3)更新数据

PUT /test1/type/1
{
  "name": "萧炎"
}

(4)post修改

POST /ceshi/user/1/_update
{
   "doc": {  //这块需要指定为doc
     "name" : "美杜莎"
   }
}

完整版脚本

import argparse #
from elasticsearch import Elasticsearch


def main():
    parser = argparse.ArgumentParser(description="Process some integers")
    parser.add_argument("--host", required=True, help="Elasticsearch地址")
    parser.add_argument("--port", required=True, type=int, help="Elasticsearch端口")
    parser.add_argument("--size", type=int, default=5, help="文档数量为5")

    args = parser.parse_args()

    try:
        es = Elasticsearch([{'host': args.host, 'port': args.port}])
        indices = es.indices.get_alias("*")
        index_names = list(indices.keys())

        if len(index_names) > 0:
            first_index = index_names[0]
            print("选择的索引:", first_index)
            result = es.search(index=first_index, body={"query": {"match_all": {}}}, size=args.size)
            print("查询结果:", result)
        else:
            print("没有找到索引")

    except Exception as e:
        print(f"发生错误:{e}")


if __name__ == "__main__":
    main()

脚本报错报错解决参考

https://blog.csdn.net/yuan2019035055/article/details/126487852

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

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

相关文章

删除误提交的 git commit

背景描述 某次的意外 commit 中误将密码写到代码中并且 push 到了 remote repo 里面, 本文将围绕这个场景讨论如何弥补. 模拟误提交操作 在 Gitee 创建一个新的 Repo, clone 到本地 git clone https://gitee.com/lpwm/myrepo.git创建两个文件, commit 后 push 到 remote 作…

JSON 语法详解:轻松掌握数据结构(下)

🤍 前端开发工程师(主业)、技术博主(副业)、已过CET6 🍨 阿珊和她的猫_CSDN个人主页 🕠 牛客高级专题作者、在牛客打造高质量专栏《前端面试必备》 🍚 蓝桥云课签约作者、已在蓝桥云…

CSS中 设置文字下划线 的几种方法

在网页设计和开发中,我们经常需要对文字进行样式设置,包括字体,颜色,大小等,其中,设置文字下划线是一种常见需求 一 、CSS种使用 text-decoration 属性来设置文字的装饰效果,包括下划线。 常用的取值&…

JFrog----基于Docker方式部署JFrog

文章目录 1 下载镜像2 创建数据挂载目录3 启动 JFrog服务4 浏览器登录5 重置密码6 设置 license7 设置 Base URL8 设置代理9 选择仓库类型10 预览11 查看结果 1 下载镜像 免费版 docker pull docker.bintray.io/jfrog/artifactory-oss体验版: docker pull releas…

【网络奇缘】- 如何自己动手做一个五类|以太网|RJ45|网络电缆

​ ​ 🌈个人主页: Aileen_0v0🔥系列专栏: 一见倾心,再见倾城 --- 计算机网络~💫个人格言:"没有罗马,那就自己创造罗马~" 本篇文章关于计算机网络的动手小实验---如何自己动手做一个网线, 也是为后面的物理层学习进…

在cmd下查看当前python的版本

在cmd窗口下运行python --version或者py --version,可以查看当前python的版本。例如:

OpenAI在中国,申请GPT-6、GPT-7商标

根据最新商标信息显示,OpenAI已经在中国提交了GPT-6和GPT-7的商标注册信息,分类是科学仪器和网站服务两大类。申请日期是今年的11月2日,目前处于审核状态。 该申请由知识产权代理公司完成,但申请人的地址正是OpenAI在美国公司的地…

LeetCode437.路径总和III

看完题目我就拿直接用递归写了如下代码: class Solution {private int ans;public int pathSum(TreeNode root, int targetSum) {ans 0;dfs(root, targetSum, 0);return ans;}public void dfs(TreeNode root, int targetSum, int sum){if(root null)return;sum r…

【MATLAB】辛几何模态分解分解+FFT+HHT组合算法

有意向获取代码,请转文末观看代码获取方式~也可转原文链接获取~ 1 基本定义 辛几何模态分解(CEEMDAN)是一种处理非线性和非平稳信号的适应性信号分解方法。通过在信号中加入白噪声,并多次进行经验模态分解(EMD&#…

CSS BFC特性和应用

目录 1,介绍2,BFC布局规则3,创建BFC4,BFC应用1,浮动子元素使父级高度坍塌2,非浮动元素被浮动元素覆盖3,margin 合并1,父子 margin 合并:父级和第1个/最后1个子元素2&…

【matlab程序】matlab画子图的多种样式

【matlab程序】matlab画子图的多种样式

Ps:文字操作常用快捷键

对文字的设置操作,可在工具选项栏或“字符”面板上进行。但是,如果能记住并使用快捷键,可大大提高工作效率。 设置文字颜色 Color 1、选中几个或全部文字后,除了使用工具选项栏上的“颜色”按钮,还可以使用快捷键 Alt…

【Vue】将官方路由管理器 vue-router 库引入 Vue 项目的三种方法

前言 Vue Router 是 Vue.js 的官方路由管理器。它可以帮助我们在 Vue 应用中实现页面之间的跳转和导航,并且提供了一些高级功能,如路由参数、路由嵌套、路由守卫等。 Vue Router 的主要作用是将不同的组件映射到不同的 URL,并根据 URL 的变化…

UE5 - 把ArchvizExplorer项目改造成自己的数字孪生项目 - 开发记要

参考: https://blog.csdn.net/qq_17523181/article/details/133853099 https://blog.csdn.net/qq_17523181/article/details/134455597 1. 安装项目 https://www.unrealengine.com/marketplace/zh-CN/product/archviz-explorer https://karldetroit.com/archviz-exp…

IDEA中,光标移动快捷键(Shift + 滚轮前后滚动:当前文件的横向滚动轴滚动。)

除此之外,其他常用的光标移动快捷键包括: Shift 滚轮前后滚动:当前文件的横向滚动轴滚动。Shiftenter:快速将鼠标移动到下一行。Ctrl ]:移动光标到当前所在代码的花括号结束位置。Ctrl 左方向键:光标跳转…

华为鸿蒙开发——Stage/FA模型在ArkTs语言、JS语言 实现页面互转

文章目录 一、ArkTs(Stage模型)二、ArkTs(FA模型)三、JS(FA模型) 一、ArkTs(Stage模型) 目的:实现两个页面的跳转功能 步骤: 1、打开entry > src > main > ets > pages 2、在默认页面基础上,我们添加一个…

线性表之-栈

栈的表示: 栈的概念及结构 栈:一种特殊的线性表,其只允许在固定的一端进行插入和删除元素操作。进行数据插入和删除操作的一端称为栈顶,另一端称为栈底。栈中的数据元素遵守后进先出LIFO(Last In First Out&#xff…

YN 500U无法上网问题

版本信息 YN LU YN上问题现象 在后台ping,在web上抓包 抓包结构发现是收到回包了的 通过ssh登录到网关上抓包,也是一样,是可以抓到回应包的,但是终端上就是无法显示。 通过wan后ping包是能够看到回显的。 这块模组有问题

C++基础 -43- STL库之set集合

在set插入数据的时候会自动排序 set集合定义格式 int myints[] {50,10,40,30,20};set<int,classcomp> second (myints,myints5);设置排序方式 struct classcomp {bool operator() (const int& lhs, const int& rhs) const{return lhs>rhs;} };举例遍历se…

Web APIs—事件监听、事件类型、事件对象、环境对象、回调函数、综合案例:随机点名案例,轮播图完整版,评论区回车发布,Tab栏切换

版本说明 当前版本号[20231205]。 版本修改说明20231205初版 目录 文章目录 版本说明目录Web APIs - 第2天事件事件监听案例&#xff1a;通过点击按钮&#xff0c;弹出一个对话框 事件类型事件处理程序综合案例&#xff1a;随机点名案例 事件类型鼠标事件键盘事件焦点事件案…