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

news/2024/7/7 5:48:08 标签: docker, elasticsearch, 数据库

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

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

dockerkibana_65">使用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.niftyadmin.cn/n/5239676.html

相关文章

面了一个测试工程师要求月薪26K,总感觉他背了很多面试题

最近有朋友去华为面试,面试前后进行了20天左右,包含4轮电话面试、1轮笔试、1轮主管视频面试、1轮hr视频面试。 据他所说,80%的人都会栽在第一轮面试,要不是他面试前做足准备,估计都坚持不完后面几轮面试。 其实&…

Vue 元素动画缓入效果

效果展示 vue文件的指令使用 <style lang"scss"> .container {width: 88%;margin: 1rem auto;.item {background:url(../assets/boxImg.jpg) no-repeat;background-size: 100% 100%;width: 100%;height: 300px;margin-bottom: 20px;display: flex;align-items…

spring cloud 整合Feign经行远程调用

文章目录 Feign远程调用Feign替代RestTemplate1&#xff09;引入依赖2&#xff09;添加注解3&#xff09;编写Feign的客户端4&#xff09;测试5&#xff09;总结 自定义配置配置文件方式Java代码方式 Feign使用优化 Feign远程调用 先来看我们以前利用RestTemplate发起远程调用…

ubuntu安装kafka

一、前提&#xff0c;先去安装java环境 二、安装kafka wget http://www.apache.org/dyn/closer.cgi?path/kafka/2.8.0/kafka_2.13-3.6.0.tgz tar xzf kafka_2.13-3.6.0.tgz mv kafka_2.13-3.6.0 /usr/local/kafka // 这一步也可以不用 启动zookeeper sudo /usr/local/kafka_2…

Python小案例:打印10以内的素数

解析 1、利用循环控制范围&#xff08;1,100&#xff09; 2、通过循环判断素数 3、利用标记位法进行打印素数 代码 #求1——100之间的素数 for i in range(2,101):# 设置标记位is_primeNumis_primeNum Truefor j in range(2,i):if i%j 0:# print(f"{i}不是素数"…

LeetCode:2661. 找出叠涂元素(C++、Java)

目录 2661. 找出叠涂元素 题目描述&#xff1a; 实现代码与解析&#xff1a; Hash 原理思路&#xff1a; 2661. 找出叠涂元素 题目描述&#xff1a; 给你一个下标从 0 开始的整数数组 arr 和一个 m x n 的整数 矩阵 mat 。arr 和 mat 都包含范围 [1&#xff0c;m * n] 内的…

新华三数字大赛复赛知识点 VLAN基本技术

VLAN IEEE 802.1Q 交换机端口类型 MVRP协议 VLAN Virtual LAN虚拟局域网。LAN可以是由几台少数家用计算机构成的网络&#xff0c;也可以是数以百计的计算机构成的企业网络。VLAN所指的LAN特指使用路由器分割的网络–也就是广播域。将一个物理的局域网在逻辑上划分成多个广播域…

3.2 Puppet 和 Chef 的比较与应用

Puppet 和 Chef 的比较与应用 文章目录 Puppet 和 Chef 的比较与应用Puppet 和 Chef 简介工作原理对比**模块化的重要性**&#xff1a; Puppet 和 Chef 简介 介绍 Puppet 和 Chef 这两个流行的配置管理工具的背景和用途。强调它们的共同目标&#xff1a;实现自动化的系统配置和…