【大数据】通过 docker-compose 快速部署 MinIO 保姆级教程

文章目录

    • 一、概述
    • 二、MinIO 与 Ceph 对比
      • 1)架构设计对比
      • 2)数据一致性对比
      • 3)部署和管理对比
      • 4)生态系统和兼容性对比
    • 三、前期准备
      • 1)部署 docker
      • 2)部署 docker-compose
    • 四、创建网络
    • 五、MinIO 编排部署
      • 1)下载 MinIO 安装包
      • 2)配置
      • 3)启动脚本 bootstrap.sh
      • 4)构建镜像 Dockerfile
      • 5)编排 docker-compose.yaml
      • 6)开始部署
      • 7)简单测试验证
      • 8)web 访问

一、概述

MinIO 是一个开源的对象存储服务器,它兼容Amazon S3(Simple Storage Service)API。它被设计用于构建分布式存储架构,提供高可用性、高性能和可扩展的对象存储解决方案。

下面是MinIO的一些主要特点和功能:

  • 对象存储:MinIO以对象为基本存储单元,可以存储和管理任意大小的文件、数据对象。它提供了标准的对象存储操作,如上传、下载、删除和元数据管理。

  • 分布式架构:MinIO采用分布式架构,可以在多个节点上部署,并将数据分布和复制在不同的节点上。这提供了高可用性和数据冗余,确保数据的持久性和可靠性。

  • 高性能:MinIO通过并行处理和分布式架构实现高性能的数据存取。它利用现代硬件和网络技术,充分利用多核处理器和高带宽网络,以实现快速的数据传输和处理。

  • 水平扩展:MinIO可以水平扩展,通过添加更多的节点来增加存储容量和吞吐量。它支持自动数据分片和负载均衡,确保数据在各个节点上均匀分布和访问的负载均衡。

  • 数据保护:MinIO提供了多种数据保护机制,包括数据冗余、故障转移和数据校验。它可以在不同的节点之间复制数据,以应对节点故障和数据损坏的情况。

  • 安全性:MinIO支持数据加密和访问控制,保护存储在其中的数据的安全性和隐私性。它提供了传输层加密(TLS/SSL)和服务器端加密选项,以及身份验证和访问控制机制。

总的来说,MinIO是一个开源的高性能对象存储服务器,适用于构建分布式存储系统。它具有高可用性、可扩展性和数据保护机制,兼容Amazon S3 API,使其与现有的S3生态系统和工具集成无缝。MinIO在大数据、云计算和容器化环境中广泛应用,为应用程序提供了可靠、高效的对象存储服务。

在这里插入图片描述
这里主要侧重使用docker快速部署环境,想了解更多,可以参考我以下几篇文章:

  • 高性能分布式对象存储——MinIO(环境部署)
  • 高性能分布式对象存储——MinIO实战操作(MinIO扩容)
  • 【云原生】Minio on k8s 讲解与实战操作
  • 【云原生.大数据】镜像仓库Harbor对接MinIO对象存储

官方文档:https://docs.min.io/
中文文档:http://docs.minio.org.cn/docs/

二、MinIO 与 Ceph 对比

MinIO和Ceph都是流行的开源存储解决方案,它们在对象存储领域有不同的特点和适用场景。下面是MinIO和Ceph的对比:

1)架构设计对比

  • MinIOMinIO采用分布式架构,以水平扩展为基础。它通过多个独立的MinIO节点组成集群,每个节点都是独立的对象存储服务器。MinIO专注于提供简单、轻量级的对象存储服务,适用于小型到中等规模的部署。
  • CephCeph是一个分布式存储系统,由对象存储、块存储和文件系统组成。它使用RADOS(Reliable Autonomic Distributed Object Store)作为底层存储系统,提供高可用性和数据冗余。Ceph适用于大规模的企业级部署,具有复杂的架构和丰富的功能。

2)数据一致性对比

  • MinIOMinIO在默认配置下提供最终一致性,即写入操作返回成功后,数据可能会有一定的时间窗口内的延迟才能完全一致。这适用于许多应用场景,如数据备份、存档等。
  • CephCeph提供强一致性,即写入操作在返回成功后,数据即刻就达到一致性。这对于需要强一致性保证的应用场景非常重要,如数据库和事务处理。

3)部署和管理对比

  • MinIOMinIO 的部署和管理相对简单,可以通过单个二进制文件或容器进行快速安装和配置。它提供了直观的管理界面和易于使用的API,使得管理和监控变得简单。
  • CephCeph 的部署和管理相对复杂,涉及多个组件和配置。它需要更多的时间和专业知识来设置和维护,需要熟悉Ceph的架构和配置。

4)生态系统和兼容性对比

  • MinIO:MinIO与Amazon S3 API兼容,这意味着现有的S3工具和应用程序可以无缝地与MinIO集成。它还有一个活跃的社区,提供了各种客户端库和插件,扩展了其功能和兼容性。

  • CephCeph 具有广泛的生态系统和丰富的功能集。它可以与多个协议和接口(如RADOS、RBD、CephFS)进行集成,提供块存储、文件系统和对象存储的全面解决方案。

综上所述,MinIO适用于简单、轻量级的对象存储需求,注重高性能和易用性。它适合中小规模部署,并且与Amazon S3兼容,易于与现有的S3生态系统集成。

  • Ceph则适用于大规模、复杂的企业级存储需求。它提供强一致性和丰富的功能集,适合需要高可用性、数据冗余和复杂数据操作的场景。Ceph的部署和管理相对复杂,需要更多的配置和管理工作。

  • 选择MinIO还是Ceph取决于具体的需求和场景。如果你需要一个简单、易用、高性能的对象存储解决方案,并与S3兼容,那么MinIO是一个不错的选择。如果你需要一个功能强大、可扩展、支持块存储和文件系统的分布式存储系统,且具备强一致性的要求,那么Ceph是更适合的选择。

无论选择MinIO还是Ceph,都需要仔细评估其与特定应用和环境的兼容性、性能需求、管理复杂性和可扩展性,以确保选择的解决方案能够满足实际需求并提供可靠的存储服务。

三、前期准备

1)部署 docker

# 安装yum-config-manager配置工具
yum -y install yum-utils

# 建议使用阿里云yum源:(推荐)
#yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

# 安装docker-ce版本
yum install -y docker-ce
# 启动并开机启动
systemctl enable --now docker
docker --version

2)部署 docker-compose

curl -SL https://github.com/docker/compose/releases/download/v2.16.0/docker-compose-linux-x86_64 -o /usr/local/bin/docker-compose

chmod +x /usr/local/bin/docker-compose
docker-compose --version

四、创建网络

# 创建,注意不能使用hadoop_network,要不然启动hs2服务的时候会有问题!!!
docker network create hadoop-network

# 查看
docker network ls

五、MinIO 编排部署

1)下载 MinIO 安装包

wget https://dl.min.io/server/minio/release/linux-amd64/minio

2)配置

这里部署的是伪集群,但是需要的磁盘还是那么多,下面就是挂载磁盘的步骤:

### 1、格式化
mkfs.ext4 /dev/sdb
mkfs.ext4 /dev/sdc
mkfs.ext4 /dev/sdd
mkfs.ext4 /dev/sde
mkfs.ext4 /dev/sdf
mkfs.ext4 /dev/sdg
mkfs.ext4 /dev/sdh
mkfs.ext4 /dev/sdi
mkfs.ext4 /dev/sdj
mkfs.ext4 /dev/sdk
mkfs.ext4 /dev/sdl
mkfs.ext4 /dev/sdm

### 2、创建挂载目录
mkdir /opt/apache/docker-compose-minio/data/minio-node{1..3}/data{1..4}

### 3、挂载
# minio-node1
mount /dev/sdb /opt/apache/docker-compose-minio/data/minio-node1/data1
mount /dev/sdc /opt/apache/docker-compose-minio/data/minio-node1/data2
mount /dev/sdd /opt/apache/docker-compose-minio/data/minio-node1/data3
mount /dev/sde /opt/apache/docker-compose-minio/data/minio-node1/data4

# minio-node2
mount /dev/sdf /opt/apache/docker-compose-minio/data/minio-node2/data1
mount /dev/sdg /opt/apache/docker-compose-minio/data/minio-node2/data2
mount /dev/sdh /opt/apache/docker-compose-minio/data/minio-node2/data3
mount /dev/sdi /opt/apache/docker-compose-minio/data/minio-node2/data4

# minio-node3
mount /dev/sdj /opt/apache/docker-compose-minio/data/minio-node3/data1
mount /dev/sdk /opt/apache/docker-compose-minio/data/minio-node3/data2
mount /dev/sdl /opt/apache/docker-compose-minio/data/minio-node3/data3
mount /dev/sdm /opt/apache/docker-compose-minio/data/minio-node3/data4

### 4、持久化配置
# minio-node1
echo "/dev/sdb /opt/apache/docker-compose-minio/data/minio-node1/data1  ext4  defaults        0 0" >> /etc/fstab
echo "/dev/sdc /opt/apache/docker-compose-minio/data/minio-node1/data2  ext4  defaults        0 0" >> /etc/fstab
echo "/dev/sdd /opt/apache/docker-compose-minio/data/minio-node1/data3  ext4  defaults        0 0" >> /etc/fstab
echo "/dev/sde /opt/apache/docker-compose-minio/data/minio-node1/data4  ext4  defaults        0 0" >> /etc/fstab

# minio-node2
echo "/dev/sdf /opt/apache/docker-compose-minio/data/minio-node2/data1  ext4  defaults        0 0" >> /etc/fstab
echo "/dev/sdg /opt/apache/docker-compose-minio/data/minio-node2/data2  ext4  defaults        0 0" >> /etc/fstab
echo "/dev/sdh /opt/apache/docker-compose-minio/data/minio-node2/data3  ext4  defaults        0 0" >> /etc/fstab
echo "/dev/sdi /opt/apache/docker-compose-minio/data/minio-node1/data4  ext4  defaults        0 0" >> /etc/fstab

# minio-node3
echo "/dev/sdj /opt/apache/docker-compose-minio/data/minio-node3/data1  ext4  defaults        0 0" >> /etc/fstab
echo "/dev/sdk /opt/apache/docker-compose-minio/data/minio-node3/data2  ext4  defaults        0 0" >> /etc/fstab
echo "/dev/sdl /opt/apache/docker-compose-minio/data/minio-node3/data3  ext4  defaults        0 0" >> /etc/fstab
echo "/dev/sdm /opt/apache/docker-compose-minio/data/minio-node3/data4  ext4  defaults        0 0" >> /etc/fstab

3)启动脚本 bootstrap.sh

#!/bin/bash
source /etc/profile

# 在三台机器上都执行该文件,即以分布式的方式启动了MINIO
# --address "0.0.0.0:9000" 挂载9001端口为api端口(如Java客户端)访问的端口
# --console-address ":9000" 挂载9000端口为web端口;
/opt/apache/minio/minio server --address 0.0.0.0:9000 --console-address 0.0.0.0:9001 --config-dir /etc/minio \
http://minio-node1/opt/apache/minio/data/export1 \
http://minio-node1/opt/apache/minio/data/export2 \
http://minio-node1/opt/apache/minio/data/export3 \
http://minio-node1/opt/apache/minio/data/export4 \
http://minio-node2/opt/apache/minio/data/export1 \
http://minio-node2/opt/apache/minio/data/export2 \
http://minio-node2/opt/apache/minio/data/export3 \
http://minio-node2/opt/apache/minio/data/export4 \
http://minio-node3/opt/apache/minio/data/export1 \
http://minio-node3/opt/apache/minio/data/export2 \
http://minio-node3/opt/apache/minio/data/export3 \
http://minio-node3/opt/apache/minio/data/export4 >/opt/apache/minio/logs/minio_server.log &

tail -f /opt/apache/minio/logs/minio_server.log

Minio默认9000端口,在配置文件中加入–address “127.0.0.1:9029” 可更改端口

  • MINIO_ACCESS_KEY:用户名,长度最小是5个字符
  • MINIO_SECRET_KEY:密码,密码不能设置过于简单,不然minio会启动失败,长度最小是8个字符
  • –config-dir:指定集群配置文件目录
  • –address: api的端口,默认是9000
  • --console-address :web端口,默认随机

【温馨提示】磁盘大小必须>1G,这里我添加的是4*2G的盘

4)构建镜像 Dockerfile

FROM registry.cn-hangzhou.aliyuncs.com/bigdata_cloudnative/centos-jdk:7.7.1908

# 创建日志存储目录
RUN mkdir -p /opt/apache/minio/logs
# 分别在三个节点上创建存储目录
RUN mkdir -p /opt/apache/minio/data/export{1..3}
# 创建配置目录
RUN mkdir -p /etc/minio
# 账号密码
ENV MINIO_ROOT_USER=admin
ENV MINIO_ROOT_PASSWORD=admin123456

# copy minio
COPY minio /opt/apache/minio/

# copy minio client mc
COPY mc /opt/apache/minio/

RUN ln -s /opt/apache/minio/mc /usr/local/sbin/mc

# copy bootstrap.sh
COPY bootstrap.sh /opt/apache/
RUN chmod +x /opt/apache/bootstrap.sh

WORKDIR /opt/apache

开始构建镜像

docker build -t registry.cn-hangzhou.aliyuncs.com/bigdata_cloudnative/minio:20230619 . --no-cache --progress=plain

# 为了方便小伙伴下载即可使用,我这里将镜像文件推送到阿里云的镜像仓库
docker push registry.cn-hangzhou.aliyuncs.com/bigdata_cloudnative/minio:20230619

### 参数解释
# -t:指定镜像名称
# . :当前目录Dockerfile
# -f:指定Dockerfile路径
#  --no-cache:不缓存

5)编排 docker-compose.yaml

version: '3'
services:
  minio-node1:
    image: registry.cn-hangzhou.aliyuncs.com/bigdata_cloudnative/minio:20230619
    container_name: minio-node1
    hostname: minio-node1
    restart: always
    privileged: true
    env_file:
      - .env
    expose:
      - "${MinIO_PORT}"
    ports:
      - "${MinIO_HTTP_PORT}"
    volumes:
      - /opt/apache/docker-compose-minio/data/minio-node1/data1:/opt/apache/minio/data/export1
      - /opt/apache/docker-compose-minio/data/minio-node1/data2:/opt/apache/minio/data/export2
      - /opt/apache/docker-compose-minio/data/minio-node1/data3:/opt/apache/minio/data/export3
      - /opt/apache/docker-compose-minio/data/minio-node1/data4:/opt/apache/minio/data/export4
    command: ["sh","-c","/opt/apache/bootstrap.sh"]
    networks:
      - hadoop-network
    healthcheck:
      test: ["CMD-SHELL", "netstat -tnlp|grep :${MinIO_PORT} || exit 1"]
      interval: 10s
      timeout: 10s
      retries: 5
  minio-node2:
    image: registry.cn-hangzhou.aliyuncs.com/bigdata_cloudnative/minio:20230619
    container_name: minio-node2
    hostname: minio-node2
    restart: always
    privileged: true
    env_file:
      - .env
    expose:
      - "${MinIO_PORT}"
    ports:
      - "${MinIO_HTTP_PORT}"
    volumes:
      - /opt/apache/docker-compose-minio/data/minio-node2/data1:/opt/apache/minio/data/export1
      - /opt/apache/docker-compose-minio/data/minio-node2/data2:/opt/apache/minio/data/export2
      - /opt/apache/docker-compose-minio/data/minio-node2/data3:/opt/apache/minio/data/export3
      - /opt/apache/docker-compose-minio/data/minio-node2/data4:/opt/apache/minio/data/export4
    command: ["sh","-c","/opt/apache/bootstrap.sh"]
    networks:
      - hadoop-network
    healthcheck:
      test: ["CMD-SHELL", "netstat -tnlp|grep :${MinIO_PORT} || exit 1"]
      interval: 10s
      timeout: 10s
      retries: 5
  minio-node3:
    image: registry.cn-hangzhou.aliyuncs.com/bigdata_cloudnative/minio:20230619
    container_name: minio-node3
    hostname: minio-node3
    restart: always
    privileged: true
    env_file:
      - .env
    expose:
      - "${MinIO_PORT}"
    ports:
      - "${MinIO_HTTP_PORT}"
    volumes:
      - /opt/apache/docker-compose-minio/data/minio-node3/data1:/opt/apache/minio/data/export1
      - /opt/apache/docker-compose-minio/data/minio-node3/data2:/opt/apache/minio/data/export2
      - /opt/apache/docker-compose-minio/data/minio-node3/data3:/opt/apache/minio/data/export3
      - /opt/apache/docker-compose-minio/data/minio-node3/data4:/opt/apache/minio/data/export4
    command: ["sh","-c","/opt/apache/bootstrap.sh"]
    networks:
      - hadoop-network
    healthcheck:
      test: ["CMD-SHELL", "netstat -tnlp|grep :${MinIO_PORT} || exit 1"]
      interval: 10s
      timeout: 10s
      retries: 5

# 连接外部网络
networks:
  hadoop-network:
    external: true

.env 文件内容

MinIO_PORT=9000
MinIO_HTTP_PORT=9001

6)开始部署

# --project-name指定项目名称,默认是当前目录名称
docker-compose -f docker-compose.yaml up -d

# 查看
docker-compose -f docker-compose.yaml ps

# 卸载
docker-compose -f docker-compose.yaml down

7)简单测试验证

# 登录容器内测试
docker exec -it minio-node1 bash

# 登录,密文输入(推荐)
[root@minio-node1 apache]# mc config host add minio http://localhost:9000
Enter Access Key: admin
Enter Secret Key: 输入密码
Added `minio` successfully.

# 查看集群信息
mc admin info minio

在这里插入图片描述

8)web 访问

http://ip:port

docker-compose -f docker-compose.yaml ps

账号/密码:admin/admin123456
在这里插入图片描述
在这里插入图片描述


到此通过 docker-compose 快速部署 MinIO 保姆级教程就完结了,有任何疑问请关注我公众号:大数据与云原生技术分享,加群交流或私信沟通,,如本篇文章对您有所帮助,麻烦帮忙一键三连(点赞、转发、收藏)~

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

插件WebApiClient.JIT的使用方法

我们在项目开发过程中,经常需要调用第三方接口,使用httpclient需要写一堆代码,使用插件WebApiClient.JIT可以简化很多代码量,接下来介绍一下WebApiClient.JIT的使用方式。 添加引用,打开NuGet,查询插件&am…

vue3+element plus 实现百度地图显示路径

添加依赖 <!-- index.html --><script type"text/javascript" src"//api.map.baidu.com/getscript?v3.0&akyI6kBeC9G4LntEWXklE2iNHwRUrmFEQc"></script><script type"text/javascript" src"//api.map.baidu.co…

【python基础学习11课_异常机制】

一、异常 1、异常的定义 异常&#xff1a;程序无法继续执行异常会中断程序执行异常处理&#xff0c;是为了不中断程序执行。而不是避免错误。有些代码是报错就是要暴露出来有了异常机制&#xff0c;错误的代码报错后抛出异常&#xff0c;代码从上到下&#xff0c;报错代码后面…

【PCIe】初识PCIe

&#x1f525;博客主页&#xff1a;[PannLZ] &#x1f618;欢迎关注&#xff1a;&#x1f44d;点赞&#x1f64c;收藏✍️留言 文章目录 PCIe简介PCIe速度 PCIe简介 计算机内部有很多电子元器件&#xff0c;他们之间会有数据沟通和传输的需求。如果A元件想给B元件传输数据&am…

Axure RP 10:让原型设计更快、更直观、更智能 mac版

Axure RP 10是一款强大的原型设计工具&#xff0c;它能够帮助设计师快速创建高保真、交互式的原型&#xff0c;从而更好地展示和测试设计方案。这款软件凭借其直观易用的界面和丰富的功能&#xff0c;已经成为了许多设计师的首 选工具。 Axure RP 10 for Mac版软件获取 首先&a…

使用Matlab计算IGRAv2探空站的Tm和PWV

1. 探空站IGRAv2数据 探空站的Tm常作为真值&#xff0c;去检验Tm线性公式或者ERA5 Tm等的精度 。 探空站PWV常作为真值&#xff0c;去检验GNSS PWV等的精度 2. Tm 的计算方法 Tm 的计算方法有两种在前面的文章有讲&#xff0c;这里用 使用水汽压和温度计算Tm。 ei和 Ti 表示…

Day15:技术架构、Maven、Spring Initializer、Spring全家桶、Spring IoC

侧重于服务端&#xff08;后端&#xff09;&#xff0c;不在意前端&#xff0c;了解一些前端即可&#xff09; 技术架构 &#xff08;把Spring设计的更简单好用了就是Spring Boot&#xff09; 开发环境&#xff08;Maven&#xff09; Maven maven通过brew安装的目录为&#x…

学习网络安全越早知道越好的事

网络安全专业最应该知道的血泪建议&#xff0c;希望大一就有人告诉你。 如果你是网络安全行业&#xff0c;那么大学四年千万不能就在宿舍打游戏度过&#xff0c; 大一你应该学习掌握基础的编程语言&#xff0c;比如Python&#xff0c;PHP&#xff0c;web前端&#xff0c;知道…

基于深度学习的交通标志检测识别系统(含UI界面、yolov8、Python代码、数据集)

项目介绍 项目中所用到的算法模型和数据集等信息如下&#xff1a; 算法模型&#xff1a;     yolov8 yolov8主要包含以下几种创新&#xff1a;         1. 添加注意力机制&#xff08;SE、CBAM等&#xff09;         2. 修改可变形卷积&#xff08;DySnake-主干c…

[动态规划][蓝桥杯 2022 省 B] 李白打酒加强版 -- 代码注释含详解

P8786 [蓝桥杯 2022 省 B] 李白打酒加强版(洛谷) 洛谷题目链接 李白打酒很快活&#xff0c;而我打了一晚上代码才把这题弄懂&#x1f972; P8786 [蓝桥杯 2022 省 B] 李白打酒加强版(洛谷)题目描述输入格式输出格式样例 #1样例输入 #1样例输出 #1 提示\***\*\*\*\*\***\*\*\**…

谷粒商城【成神路】-【9】——商城页面

目录 &#x1f9c8;1.项目服务部署架构 &#x1f95e;2.Thymealf &#x1f37f;3.请求接口 &#x1f32d;4.使用nginx转发 &#x1f956;5.nginx动静分离 &#x1fad3;6.优化 1.项目服务部署架构 使用nginx动静分离&#xff0c;使图片、js等静态资源和服务器请求分开…

基于51单片机的公交ic卡系统设计

目 录 摘 要 I Abstract II 引 言 1 1 总体方案设计 3 1.1 方案选择 3 1.2 硬件选择 3 1.3 系统工作原理 4 1.4 总体方案确定 5 2 系统硬件电路设计 6 2.1 主控模块电路设计 6 2.2 电源电路设计 8 2.3 显示电路模块设计 8 2.4 报警模块电路设计 10 2.5 RC522刷卡模块 10 2.6 独…

[网络安全] PKI

一、PKI 概述 名称; 公钥基础设施 (Public Key Facility) 作用: 通过加密技术和数字签名保证信息安全 组成: 公钥机密技术、数字证书、CA、RA 二、信息安全三要素 机密性&#xff1a;确保仅信息发收双方 能看懂信息 完整性&#xff1a; 确保信息发收完整&#xff0c;不被破坏 …

MUMU模拟器12连logcat的方法

大家好&#xff0c;我是阿赵。   在开发手机游戏的时候&#xff0c;在真机上会出现各种问题&#xff0c;在查询问题的时候&#xff0c;安卓手机需要用adb连接来连接手机看logcat输出分析问题。但由于连接手机比较麻烦&#xff0c;所以我都习惯在电脑用安卓模拟器来测试。   …

Chrome安装Axure插件

打开原型目录/resources/chrome&#xff0c;重命名axure-chrome-extension.crx&#xff0c;修改后缀为rar&#xff0c;axure-chrome-extension.rar 解压到axure-chrome-extension目录打开Chrome&#xff0c;更多工具->扩展程序&#xff0c;打开开发者模式&#xff0c;选择加…

Java 8

欢迎阅读这篇Java 8 教程。本教程旨在深入探讨Java 8的新特性&#xff0c;包括Lambda表达式、流API、新的日期时间API和更多内容。通过具体的示例和详细的解释&#xff0c;你将能够理解这些特性的用法&#xff0c;并将其应用到你的日常编程中。让我们开始吧。 一、默认方法和静…

KOA优化最近邻分类预测(matlab代码)

KOA-最近邻分类预测matlab代码 开普勒优化算法&#xff08;Kepler Optimization Algorithm&#xff0c;KOA&#xff09;是一种元启发式算法&#xff0c;灵感来源于开普勒的行星运动规律。该算法模拟行星在不同时间的位置和速度&#xff0c;每个行星代表一个候选解&#xff0c;…

【Python】新手入门(9):数值和序列

&#x1f40d;【Python】新手入门&#xff08;9&#xff09;&#xff1a;数值和序列 &#x1f308; 个人主页&#xff1a;高斯小哥 &#x1f525; 高质量专栏&#xff1a;Matplotlib之旅&#xff1a;零基础精通数据可视化、Python基础【高质量合集】、PyTorch零基础入门教程&am…

今日份实验,剪了个头发,克隆了无数个自己,还是不断push

这个是今天用editor编辑器跑出来的数据&#xff0c;以下是用git跑出来的数据 下面是通过Xftp建立的会话。 用来跑一下以前的源代码 不过&#xff0c;noonxin.com, yuanjianchufang.com,网站好像不能访问&#xff0c;可能是域名出现问题&#xff0c;登录和注册也是存在问题的…

python爬虫(2)

继上节 查看数组维数 可以使用数组的ndim属性 代码示例如下&#xff1a; import numpy as np c np.random.randint(1,9,5) print(c.ndim) 结果如下&#xff1a; 当然这些也可以结合前面的各种用法来使用 1、选取数组元素 &#xff08;1&#xff09;一维数组的元素…