Minio的单节点/集群部署及JAVA的SDK访问

本文详细介绍了MinIO单机与集群部署步骤,包括防火墙配置、数据磁盘管理、系统参数调优,以及使用Java SDK操作和部署集群实例,适合大数据和AI应用开发者。

minio部署及使用

1. MinIO

简介

MinIO创始者是Anand Babu Periasamy、Harshavardhana等人, Anand是GlusterFs的初始开发者、Gluster公司的创始人CTO,Harshavardhana曾经是GlusterFs的开发人员,直到2011年红帽收购了Gluster公司。MinIO在设计上汲取了GlusterFS的相关经验与教训,系统复杂度上作了大量简化。

MinIO是为海量数据存储、人工智能、大数据分析而设计,基于Apache License v2.0开源协议的对象存储系统,它完全兼容Amazon S3接口,单个对象最大可达5TB,适合存储海量图片、视频、日志文件、备份数据和容器/虚拟机镜像等。

MinIO主要采用Golang语言实现,整个系统都运行在操作系统的用户态空间,客户端与存储服务器之间采用http/https通信协议。

极简理念——采用尽可以简单可靠的集群管理方案,摒弃复杂的大规模集群调度管理,减少风险因素与性能瓶颈,聚焦产品的核心功能,打造高可靠的集群、灵活的扩展能力以及超高的性能。

积木式扩展——建立众多的中小规模、易管理的集群,支持跨数据中心将多个集群聚合成超大资源池,而非直接采用大规模、统一管理的分布式集群

2. MinIO单机部署

2.1 配置防火墙

  • 操作内容 firewalld

    关闭防火墙服务:

    systemctl stop firewalld
    

    或者开启MinIO服务端口9000(或者自定义其他端口)

    sudo firewall-cmd --zone=public --add-port=9000/tcp --permanent
    sudo firewall-cmd --reload
    

2.2 数据磁盘准备

主机挂载一块磁盘,/sdb

  • 分区及格式化

      sudo parted -a optimal -s /dev/sdb mktable gpt;
      sudo parted -a optimal -s /dev/sdb mkpart sdb 0% 100%
      sudo mkfs.xfs  -f /dev/sdb
    
  • 挂载磁盘

      sudo mkdir /minio-data1  
      sudo chown -R minio-user.minio-user /minio-data1  
      sudo mount -t xfs  /dev/sdb1 /minio-data1  
      sudo chown -R minio-user.minio-user /minio-data1
    

2.3 调整系统参数

参考链接:https://github.com/minio/minio/tree/master/docs/deployment/kernel-tuning

Tuning Network Parameters

  sysctl -w net.ipv4.tcp_fin_timeout=30 #默认60 /proc/sys/net/ipv4/tcp_fin_timeout 
  sysctl -w net.ipv4.tcp_keepalive_probes=5 #默认9  /proc/sys/net/ipv4/tcp_keepalive_probes 
  sysctl -w net.core.wmem_max=540000 #默认212992 /proc/sys/net/core/wmem_max 
  sysctl -w net.core.rmem_max=540000  #默认212992 /proc/sys/net/core/rmem_max 

Tuning Virtual Memory

    sysctl -w vm.swappiness=1 #默认60 /proc/sys/vm/swappiness
    sysctl -w vm.dirty_background_ratio=1 #默认10 /proc/sys/vm/dirty_background_ratio 
    sysctl -w vm.dirty_ratio=5 #默认20 /proc/sys/vm/dirty_ratio 
    echo madvise | sudo tee /sys/kernel/mm/transparent_hugepage/enabled #default always
    echo 2097152 | sudo tee /proc/sys/vm/min_free_kbytes

Tuning Scheduler

    sysctl -w kernel.sched_min_granularity_ns=10000000 #默认3000000 /proc/sys/kernel/sched_min_granularity_ns
    sysctl -w kernel.sched_wakeup_granularity_ns=15000000 #默认4000000 /proc/sys/kernel/sched_wakeup_granularity_ns 

Tuning Disk

    echo "deadline"  | sudo tee /sys/block/sd[x]/queue/scheduler
    echo "256"  | sudo tee /sys/block/sd[x]/queue/nr_requests    #default 128
    echo "1024"  | sudo tee  /sys/block/sd[x]/queue/max_sectors_kb   #default 512

2.4 安装目录准备

    sudo mkdir /opt/minio #安装包目录
    sudo chown -R minio-user.
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值