国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

高性能分布式對象存儲——MinIO實戰(zhàn)操作(MinIO擴容)

這篇具有很好參考價值的文章主要介紹了高性能分布式對象存儲——MinIO實戰(zhàn)操作(MinIO擴容)。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

一、前言

MinIO的基礎(chǔ)概念和環(huán)境部署可以參考我之前的文章:高性能分布式對象存儲——MinIO(環(huán)境部署)

二、客戶端操作MinIO Client(mc)

官方文檔:https://docs.min.io/docs/minio-admin-complete-guide.html

MinIO Client (mc) 為 UNIX 命令(如 ls、cat、cp、mirror、diff、find 等)提供了現(xiàn)代替代方案。它支持文件系統(tǒng)和兼容 Amazon S3 的云存儲服務(wù)(AWS Signature v2 和 v4)。

alias       set, remove and list aliases in configuration file
ls          list buckets and objects
mb          make a bucket
rb          remove a bucket
cp          copy objects
mirror      synchronize object(s) to a remote site
cat         display object contents
head        display first 'n' lines of an object
pipe        stream STDIN to an object
share       generate URL for temporary access to an object
find        search for objects
sql         run sql queries on objects
stat        show object metadata
mv          move objects
tree        list buckets and objects in a tree format
du          summarize disk usage recursively
retention   set retention for object(s)
legalhold   set legal hold for object(s)
diff        list differences in object name, size, and date between two buckets
rm          remove objects
encrypt    manage bucket encryption config
event       manage object notifications
watch       listen for object notification events
undo        undo PUT/DELETE operations
policy      manage anonymous access to buckets and objects
tag         manage tags for bucket(s) and object(s)
ilm         manage bucket lifecycle
version     manage bucket versioning
replicate   configure server side bucket replication
admin       manage MinIO servers
update      update mc to latest release

1)mc Shell 自動補全

如果您使用的是 bash、zsh 或 fish。Shell 補全默認嵌入在mc,安裝自動補全使用mc --autocompletion。重新啟動 shell,mc 將自動完成命令,如下所示。

# 安裝
mc --autocompletion
# 重啟shell,即退出shell,重新連接即可

高性能分布式對象存儲——MinIO實戰(zhàn)操作(MinIO擴容)

2)查看mc版本

mc --version

高性能分布式對象存儲——MinIO實戰(zhàn)操作(MinIO擴容)

3)列出來自https://play.min.io的所有存儲桶

mc ls play
# json格式
mc --json ls play

高性能分布式對象存儲——MinIO實戰(zhàn)操作(MinIO擴容)

4)創(chuàng)建桶

mb命令在對象存儲上創(chuàng)建一個新存儲桶。在文件系統(tǒng)上,它的行為類似于mkdir -p命令。Bucket 相當(dāng)于文件系統(tǒng)中的驅(qū)動器或掛載點,不應(yīng)被視為文件夾。MinIO 對每個用戶創(chuàng)建的存儲桶數(shù)量沒有任何限制。

# 添加MinIO存儲服務(wù)
cd /opt/bigdata/minio
./mc config host add minio http://local-168-182-110:19000 admin admin123456

# 在自己部署的minio創(chuàng)建新存儲桶
mc mb minio/mybucket
# 查看所有桶
mc ls minio

高性能分布式對象存儲——MinIO實戰(zhàn)操作(MinIO擴容)
web訪問:http://local-168-182-110:19001
高性能分布式對象存儲——MinIO實戰(zhàn)操作(MinIO擴容)

5)復(fù)制文件到MinIO

cp命令將數(shù)據(jù)從一個或多個源復(fù)制到目標(biāo)。

mc cp wget-log minio/mybucket
# 查看
mc ls wget-log minio/mybucket

高性能分布式對象存儲——MinIO實戰(zhàn)操作(MinIO擴容)

6)日常使用

您可以添加 shell 別名來覆蓋您常用的 Unix 工具。

alias ls='mc ls'
alias cp='mc cp'
alias cat='mc cat'
alias mkdir='mc mb'
alias pipe='mc pipe'
alias find='mc find'
alias tree='mc tree'

7)MinIO 管理員操作

MinIO Client (mc) 提供admin子命令來對 MinIO 部署執(zhí)行管理任務(wù)。

service              restart and stop all MinIO servers
update               update all MinIO servers
info                 display MinIO server information
user                 manage users
group                manage groups
policy               manage policies defined in the MinIO server
replicate            manage MinIO site replication
config               manage MinIO server configuration
decommission, decom  manage MinIO server pool decommissioning
heal                 heal disks, buckets and objects on MinIO server
prometheus           manages prometheus config
kms                  perform KMS management operations
bucket               manage buckets defined in the MinIO server
tier                 manage remote tier targets for ILM transition
top                  provide top like statistics for MinIO
trace                show http trace for MinIO server
console              show console logs for MinIO server

1)查看集群信息

mc admin info minio
# 為了方便使用,可以設(shè)置別名
alias minfo='mc admin info'
minfo minio

高性能分布式對象存儲——MinIO實戰(zhàn)操作(MinIO擴容)
高性能分布式對象存儲——MinIO實戰(zhàn)操作(MinIO擴容)

2)全局選項

1、選項 [–debug]

【示例】顯示info命令的詳細調(diào)試輸出

mc admin info --debug minio

高性能分布式對象存儲——MinIO實戰(zhàn)操作(MinIO擴容)

2、選項 [–json]

JSON 選項啟用JSON 行格式的可解析輸出。
【示例】MinIO 服務(wù)器信息

mc admin --json info minio

高性能分布式對象存儲——MinIO實戰(zhàn)操作(MinIO擴容)

3)命令service- 重啟和停止所有 MinIO 服務(wù)器

service命令提供了一種重新啟動和停止所有 MinIO 服務(wù)器的方法。
【示例】

mc admin service restart minio

4)命令policy- 管理預(yù)設(shè)策略

policy添加、刪除、列出策略、獲取策略信息以及為 MinIO 服務(wù)器上的用戶設(shè)置策略的命令。

NAME:
  mc admin policy - manage policies

FLAGS:
  --help, -h                       show help

COMMANDS:
  add      add new policy
  remove   remove policy
  list     list all policies
  info     show info on a policy
  set      set IAM policy on a user or group
1、【示例】列出 MinIO 上的所有預(yù)設(shè)策略
mc admin policy list minio

高性能分布式對象存儲——MinIO實戰(zhàn)操作(MinIO擴容)

2、【示例】在 MinIO 上添加新策略“l(fā)istbucketsonly”

策略來自 /tmp/listbucketsonly.json。當(dāng)此策略應(yīng)用于用戶時,該用戶只能列出頂層存儲桶,但不能列出其他任何內(nèi)容,沒有前綴,沒有對象。

首先使用以下信息創(chuàng)建 json 文件 /tmp/listbucketsonly.json。

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "s3:ListAllMyBuckets"
      ],
      "Resource": [
        "arn:aws:s3:::*"
      ]
    }
  ]
}

將策略作為“l(fā)istbucketsonly”添加到策略數(shù)據(jù)庫

mc admin policy add minio listbucketsonly /tmp/listbucketsonly.json

# 刪除 MinIO 上的策略“l(fā)istbucketsonly”
mc admin policy remove minio listbucketsonly
3、【示例】在用戶或組上設(shè)置標(biāo)準策略?!畐riteonly’
# 添加一個新用戶“newuser”,密碼"newuser123"
mc admin user add minio newuser newuser123
# 給用戶添加策略
mc admin policy set minio writeonly user=newuser
# 添加組“somegroup ”,把用戶“newuser ”添加到組
mc admin group add minio somegroup newuser
# 給組添加策略
mc admin policy set minio writeonly group=somegroup

5)命令user- 管理用戶

1、【示例】在 MinIO 上添加一個新用戶“newuser”
# 添加一個新用戶“newuser”,密碼"newuser123"
mc admin user add minio newuser newuser123
2、【示例】在 MinIO 上禁用用戶“newuser”
mc admin user disable minio newuser
3、【示例】在 MinIO 上啟用用戶“newuser”
mc admin user enable minio newuser
4、【示例】在 MinIO 上刪除用戶“newuser”
mc admin user remove minio newuser
5、【示例】列出 MinIO 上的所有用戶
mc admin user list --json minio
6、【示例】顯示用戶信息
mc admin user info minio newuser

6)命令group- 管理組

group在 MinIO 服務(wù)器上添加、刪除、信息、列出、啟用、禁用組的命令。

1、【示例】將用戶添加到 MinIO 上的組“somegroup”
# 如果組不存在,則創(chuàng)建組。
mc admin group add minio somegroup newuser
2、【示例】從 MinIO 上的組“somegroup”中刪除用戶
mc admin group remove minio somegroup newuser
3、【示例】在 MinIO 上刪除一個組“somegroup”

僅在給定組為空時有效,非空組無法刪除

mc admin group remove minio somegroup

高性能分布式對象存儲——MinIO實戰(zhàn)操作(MinIO擴容)

4、【示例】在 MinIO 上獲取組“somegroup”的信息
# 添加組
mc admin group add minio somegroup newuser
# 刪除
mc admin group info minio somegroup
5、【示例】列出 MinIO 上的所有組
mc admin group list minio
6、【示例】在 MinIO 上啟用組“somegroup”
mc admin group enable minio somegroup
7、【示例】在 MinIO 上禁用組“somegroup”
mc admin group disable minio somegroup

7)命令config- 管理服務(wù)器配置

config命令來管理 MinIO 服務(wù)器配置。

1、【示例】獲取“etcd”子系統(tǒng)配置
# 通過引入第三方組件etcd,在不動原有集群的基礎(chǔ)上實現(xiàn)動態(tài)擴展方案
mc admin config get minio etcd
2、【示例】在“etcd”子系統(tǒng)上設(shè)置特定設(shè)置
mc admin config set minio etcd endpoints=http://[hostname|ip]:2379
3、【示例】獲取 MinIO 服務(wù)器/集群的整個服務(wù)器配置
mc admin config export minio > /tmp/my-serverconfig
4、【示例】設(shè)置 MinIO 服務(wù)器/集群的整個服務(wù)器配置
mc admin config import minio < /tmp/my-serverconfig

這里列出了常用的命令,想了解更多,可以查看官方文檔:https://docs.min.io/docs/minio-admin-complete-guide.html

MinIO Client(mc)操作還是非常簡單的,但是更多的使用還是通過程序去調(diào)用api接口的,后續(xù)會講解~

三、MinIO 分布式集群擴容

參考:https://docs.min.io/docs/distributed-minio-quickstart-guide.html
高性能分布式對象存儲——MinIO實戰(zhàn)操作(MinIO擴容)

MinIO集群擴容方法:

常見的集群擴容方法可分為兩類:水平擴容垂直擴容

  • 水平擴容,一般指通過增加節(jié)點數(shù)擴展系統(tǒng)性能;
  • 垂直擴容則指提升各節(jié)點自身的性能,例如增加節(jié)點的磁盤存儲空間。直接采用垂直擴容方式擴容MinIO集群的節(jié)點磁盤空間,會為集群運行帶來若干問題,官方也并不推薦。因此本文主要介紹MinIO的兩種水平擴容方式:對等擴容聯(lián)邦擴容

1)對等擴容

首先,MinIO的極簡設(shè)計理念使得MinIO分布式集群并不支持向集群中添加單個節(jié)點并進行自動調(diào)節(jié)的擴容方式,這是因為加入單個節(jié)點后所引發(fā)的數(shù)據(jù)均衡以及糾刪組劃分等問題會為整個集群帶來復(fù)雜的調(diào)度和處理過程,并不利于維護。因此,MinIO提供了一種對等擴容的方式,即要求增加的節(jié)點數(shù)和磁盤數(shù)均需與原集群保持對等。

  • 例如原集群包含2個節(jié)點2塊磁盤,則在擴容時必須同樣增加2個節(jié)點2塊磁盤(或為其倍數(shù)),以便系統(tǒng)維持相同的數(shù)據(jù)冗余SLA,從而極大地降低擴容的復(fù)雜性;
  • 如上例,在擴容后,MinIO集群并不會對全部的4個節(jié)點進行完全的數(shù)據(jù)均衡,而是將原本的2個節(jié)點視作一個區(qū)域,新加入的2節(jié)點視作另一區(qū)域;
  • 當(dāng)有新對象上傳時,集群將依據(jù)各區(qū)域的可用空間比例確定存放區(qū)域,在各區(qū)域內(nèi)仍舊通過哈希算法確定對應(yīng)的糾刪組進行最終的存放。此外,集群進行一次對等擴容后,還可依據(jù)擴容規(guī)則繼續(xù)進行對等擴容,但出于安全性考慮,集群的最大節(jié)點數(shù)一般不得超過32個。

對等擴容的優(yōu)點在于配置操作簡單易行

通過一條命令即可完成擴容(注意:推薦使用連續(xù)的節(jié)點IP,并參照MinIO官網(wǎng)在擴容命令中使用{})。而對等擴容的局限性在于:

  • 擴容需重啟;
  • 擴容存在限制,集群節(jié)點數(shù)一般不超過32個,這是由于MinIO集群通過分布式鎖保證強一致性,若集群節(jié)點數(shù)過大,維護強一致性將帶來性能問題。

【溫馨提示】這里不沿用之前的集群進行擴容,這里重新部署2個節(jié)點的集群。具體部署,可以參考我之前的文章:高性能分布式對象存儲——MinIO(環(huán)境部署)

1、環(huán)境準備
主機名 IP data 備注
local-168-182-110 192.168.182.110 /opt/bigdata/minio/data/export{1,2} 原始節(jié)點
local-168-182-111 192.168.182.111 /opt/bigdata/minio/data/export{1,2} 原始節(jié)點
local-168-182-112 192.168.182.112 /opt/bigdata/minio/data/export{1,2} 擴容節(jié)點
local-168-182-113 192.168.182.113 /opt/bigdata/minio/data/export{1,2} 擴容節(jié)點

啟動腳本

#!/bin/bash
# 創(chuàng)建日志存儲目錄
mkdir -p /opt/bigdata/minio/logs
# 分別在三個節(jié)點上創(chuàng)建存儲目錄
mkdir -p /opt/bigdata/minio/data/export{1,2,3,4}
# 創(chuàng)建配置目錄
mkdir -p /etc/minio
export MINIO_ROOT_USER=admin
export MINIO_ROOT_PASSWORD=admin123456

# 所有節(jié)點都得修改重啟服務(wù)
# --address "0.0.0.0:9000" 掛載9001端口為api端口(如Java客戶端)訪問的端口
# --console-address ":9000" 掛載9000端口為web端口;
/opt/bigdata/minio/minio server --address 0.0.0.0:9000 --console-address 0.0.0.0:9001 --config-dir /etc/minio \
http://192.168.182.11{0...1}/opt/bigdata/minio/data/export{1...2} > /opt/bigdata/minio/logs/minio_server.log

minio初始集群信息
web訪問:http://local-168-182-110:19001
高性能分布式對象存儲——MinIO實戰(zhàn)操作(MinIO擴容)
高性能分布式對象存儲——MinIO實戰(zhàn)操作(MinIO擴容)
高性能分布式對象存儲——MinIO實戰(zhàn)操作(MinIO擴容)

1、將配置copy一份到要擴容的節(jié)點
# 在local-168-182-110執(zhí)行
cd /opt/bigdata/minio
scp -r /opt/bigdata/minio local-168-182-113:/opt/bigdata/
scp -r /usr/lib/systemd/system/minio.service local-168-182-113:/usr/lib/systemd/system/minio.service
2、添加磁盤

這里也添加2塊2G的磁盤

# 不重啟,直接刷新磁盤數(shù)據(jù)總線,獲取新加的磁盤
for host in $(ls /sys/class/scsi_host) ; do echo "- - -" > /sys/class/scsi_host/$host/scan; done

lsblk

# 格式化
mkfs.ext4 /dev/sdb
mkfs.ext4 /dev/sdc
mkfs.ext4 /dev/sdd
mkfs.ext4 /dev/sde

# 先刪再創(chuàng)建掛載目錄,因為這里面有其它節(jié)點的數(shù)據(jù)
rm -fr /opt/bigdata/minio/data/export{1..4}
mkdir -p /opt/bigdata/minio/data/export{1..4}

# 掛載
mount /dev/sdb /opt/bigdata/minio/data/export1
mount /dev/sdc /opt/bigdata/minio/data/export2
mount /dev/sdd /opt/bigdata/minio/data/export3
mount /dev/sde /opt/bigdata/minio/data/export4
3、修改啟動腳本(run.sh)
#!/bin/bash
# 創(chuàng)建日志存儲目錄
mkdir -p /opt/bigdata/minio/logs
# 分別在三個節(jié)點上創(chuàng)建存儲目錄
mkdir -p /opt/bigdata/minio/data/export{1,2}
# 創(chuàng)建配置目錄
mkdir -p /etc/minio
export MINIO_ROOT_USER=admin
export MINIO_ROOT_PASSWORD=admin123456

# 所有節(jié)點都得修改重啟服務(wù)
# --address "0.0.0.0:9000" 掛載9001端口為api端口(如Java客戶端)訪問的端口
# --console-address ":9000" 掛載9000端口為web端口;
# 擴容地址:http://192.168.182.11{2...3}/opt/bigdata/minio/data/export{1...2}
/opt/bigdata/minio/minio server --address 0.0.0.0:9000 --console-address 0.0.0.0:9001 --config-dir /etc/minio \
http://192.168.182.11{0...1}/opt/bigdata/minio/data/export{1...2} \
http://192.168.182.11{2...3}/opt/bigdata/minio/data/export{1...2} > /opt/bigdata/minio/logs/minio_server.log

可擴容的方式,使用MINIO糾刪碼,如果想要擴容,必須使用這種方式。注意上面是三個點

下面的寫法多硬盤多節(jié)點部署是不可擴容的方式,下面是官方示例:

export MINIO_ACCESS_KEY=<ACCESS_KEY>
export MINIO_SECRET_KEY=<SECRET_KEY>
minio server http://192.168.1.11/export1 http://192.168.1.11/export2 \
               http://192.168.1.11/export3 http://192.168.1.11/export4 \
               http://192.168.1.12/export1 http://192.168.1.12/export2 \
               http://192.168.1.12/export3 http://192.168.1.12/export4 \
               http://192.168.1.13/export1 http://192.168.1.13/export2 \
               http://192.168.1.13/export3 http://192.168.1.13/export4 \
               http://192.168.1.14/export1 http://192.168.1.14/export2 \
               http://192.168.1.14/export3 http://192.168.1.14/export4

4、重啟服務(wù)
systemctl restart minio

web訪問:http://local-168-182-110:19001
高性能分布式對象存儲——MinIO實戰(zhàn)操作(MinIO擴容)
到這里就完成了對等擴容了。

2)聯(lián)邦擴容

MinIO官方提供了另一種擴容機制——聯(lián)邦擴容,即通過引入etcd,將多個MinIO分布式集群在邏輯上組成一個聯(lián)邦,對外以一個整體提供服務(wù),并提供統(tǒng)一的命名空間。MinIO聯(lián)邦集群的架構(gòu)如下圖所示:

高性能分布式對象存儲——MinIO實戰(zhàn)操作(MinIO擴容)

  • 其中,etcd是一個開源的分布式鍵值存儲數(shù)據(jù)庫,在聯(lián)邦中用于記錄存儲桶IP地址。
  • 聯(lián)邦內(nèi)的各個集群其數(shù)據(jù)存儲以及一致性維護仍由各集群自行管理,聯(lián)邦只是對外提供一個整體邏輯視圖。
  • 通過連接到聯(lián)邦中任一集群的任一節(jié)點,可以查詢并訪問聯(lián)邦內(nèi)所有集群的全部數(shù)據(jù),由此獲得了邏輯上的空間擴大感。
  • 但實際上,對于一個外部應(yīng)用訪問,聯(lián)邦需依賴etcd定位到存儲桶的實際存儲節(jié)點,再進行數(shù)據(jù)訪問,聯(lián)邦則對外屏蔽了桶IP查找和定位過程,從而在邏輯上對外形成了一個統(tǒng)一整體。因此,etcd實際上起到了類似路由尋址的效果

MinIO聯(lián)邦集群的數(shù)據(jù)訪問機制具體如下:

  • 客戶端應(yīng)用向聯(lián)邦集群發(fā)送創(chuàng)建存儲桶請求,桶名為bucket1;
  • 聯(lián)邦會將bucket1實際所在的集群節(jié)點IP地址寫入etcd中,例如bucket1實際將存儲于聯(lián)邦中的集群1上,而集群1包含2個節(jié)點,其節(jié)點IP地址分別為192.168.182.112和192.168.182.113,則etcd中將寫入如下兩條記錄:
1、部署etcd

下載地址:https://github.com/etcd-io/etcd/releases

mkdir -p /opt/bigdata/etcd ; cd /opt/bigdata/etcd
wget https://github.com/etcd-io/etcd/releases/download/v3.4.20/etcd-v3.4.20-linux-amd64.tar.gz
tar -xf etcd-v3.4.20-linux-amd64.tar.gz
# 創(chuàng)建存儲目錄
mkdir /opt/bigdata/etcd/data

創(chuàng)建配置文件 /usr/local/etcd/conf.yml,三個節(jié)點配置文件內(nèi)容分別如下:
etcd01:local-168-182-110

name: etcd01
data-dir: /opt/bigdata/etcd/data
initial-advertise-peer-urls: http://192.168.182.110:2380
listen-peer-urls: http://192.168.182.110:2380
listen-client-urls: http://192.168.182.110:2379,http://127.0.0.1:2379
advertise-client-urls: http://192.168.182.110:2379
initial-cluster-token: etcd-cluster
initial-cluster: etcd01=http://192.168.182.110:2380,etcd02=http://192.168.182.111:2380,etcd03=http://192.168.182.112:2380
initial-cluster-state: new

etcd02:local-168-182-111

name: etcd02
data-dir: /opt/bigdata/etcd/data
initial-advertise-peer-urls: http://192.168.182.111:2380
listen-peer-urls: http://192.168.182.111:2380
listen-client-urls: http://192.168.182.111:2379,http://127.0.0.1:2379
advertise-client-urls: http://192.168.182.111:2379
initial-cluster-token: etcd-cluster
initial-cluster: etcd01=http://192.168.182.110:2380,etcd02=http://192.168.182.111:2380,etcd03=http://192.168.182.112:2380
initial-cluster-state: new

etcd03:local-168-182-112

name: etcd03
data-dir: /opt/bigdata/etcd/data
initial-advertise-peer-urls: http://192.168.182.112:2380
listen-peer-urls: http://192.168.182.112:2380
listen-client-urls: http://192.168.182.112:2379,http://127.0.0.1:2379
advertise-client-urls: http://192.168.182.112:2379
initial-cluster-token: etcd-cluster
initial-cluster: etcd01=http://192.168.182.110:2380,etcd02=http://192.168.182.111:2380,etcd03=http://192.168.182.112:2380
initial-cluster-state: new

【溫馨提示】只能寫IP,寫主機名會啟動失敗

配置參數(shù)解析:

  • name:當(dāng)前etcd節(jié)點名稱。
  • data-dir:數(shù)據(jù)存儲目錄。
  • initial-advertise-peer-urls:集群的其他節(jié)點通過該地址與當(dāng)前節(jié)點通信。
  • listen-peer-urls:當(dāng)前節(jié)點通過該地址監(jiān)聽集群其他節(jié)點發(fā)送的信息。
  • listen-client-urls:當(dāng)前節(jié)點通過該地址監(jiān)聽客戶端發(fā)送的信息。
  • advertise-client-urls:客戶端通過該地址與當(dāng)前節(jié)點通信
  • initial-cluster-token:用于區(qū)分不同的集群,同一集群的所有節(jié)點配置相同的值。
  • initial-cluster:當(dāng)前集群的所有節(jié)點信息,當(dāng)前節(jié)點根據(jù)此信息與其他節(jié)點取得聯(lián)系。
  • initial-cluster-state: 本次是否為新建集群,有兩個取值:new和existing。

配置服務(wù)

cat >/usr/lib/systemd/system/etcd.service<<EOF
[Unit]
Description=etcd
After=network.target
 
[Service]
Type=notify
ExecStart=/opt/bigdata/etcd/etcd-v3.4.20-linux-amd64/etcd --config-file=/usr/local/etcd/conf.yml
 
[Install]
WantedBy=multi-user.target
EOF

啟動服務(wù)

systemctl daemon-reload
systemctl start etcd.service

驗證

# 加軟連接
ln -s /opt/bigdata/etcd/etcd-v3.4.20-linux-amd64/etcdctl /usr/local/bin/etcdctl
# 查看集群成員列表
etcdctl member list
# 查看集群成員健康情況
etcdctl endpoint health --endpoints=http://192.168.182.110:2380,http://192.168.182.111:2380,http://192.168.182.112:2380

高性能分布式對象存儲——MinIO實戰(zhàn)操作(MinIO擴容)
查看etcd版本

ln -s /opt/bigdata/etcd/etcd-v3.4.20-linux-amd64/etcd /usr/local/bin/etcd
etcd --version

高性能分布式對象存儲——MinIO實戰(zhàn)操作(MinIO擴容)

2、運行多個MinIO集群

集群1

cd /opt/bigdata/minio
export MINIO_ETCD_ENDPOINTS="http://192.168.182.110:2380,http://192.168.182.111:2380,http://192.168.182.112:2380"
mkdir -p /etc/minio
export MINIO_ROOT_USER=admin
export MINIO_ROOT_PASSWORD=admin123456
export MINIO_PUBLIC_IPS=192.168.182.110,192.168.182.111
./minio server --address 0.0.0.0:8000 --console-address 0.0.0.0:8001  --config-dir /etc/minio http://192.168.182.11{0...1}/opt/bigdata/minio/data/export{3...4}

web訪問:http://local-168-182-110:8001/
高性能分布式對象存儲——MinIO實戰(zhàn)操作(MinIO擴容)

集群2

cd /opt/bigdata/minio
export MINIO_ETCD_ENDPOINTS="http://192.168.182.110:2380,http://192.168.182.111:2380,http://192.168.182.112:2380"
mkdir -p /etc/minio
export MINIO_ROOT_USER=admin
export MINIO_ROOT_PASSWORD=admin123456
export MINIO_PUBLIC_IPS=192.168.182.112,192.168.182.113
./minio server --address 0.0.0.0:8000 --console-address 0.0.0.0:8001  --config-dir /etc/minio http://192.168.182.11{2...3}/opt/bigdata/minio/data/export{3...4}

web訪問:http://local-168-182-112:8001/
高性能分布式對象存儲——MinIO實戰(zhàn)操作(MinIO擴容)
配置nginx

# /etc/nginx/conf.d/minio2.conf
upstream minio_api2 {
    ip_hash;
    server 192.168.182.110:8000;
    server 192.168.182.111:8000;
    server 192.168.182.112:8000;
    server 192.168.182.113:8000;
}

upstream minio_console2 {
    ip_hash;
    server 192.168.182.110:8001;
    server 192.168.182.111:8001;
    server 192.168.182.112:8001;
    server 192.168.182.113:8001;
}

server{
    listen       18000;
    server_name  192.168.182.110;

    ignore_invalid_headers off;
    client_max_body_size 0;
    proxy_buffering off;

    location / {
        proxy_set_header   X-Forwarded-Proto $scheme;
        proxy_set_header   Host              $http_host;
        proxy_set_header   X-Real-IP         $remote_addr;

        proxy_connect_timeout 300;
        proxy_http_version 1.1;
        chunked_transfer_encoding off;
        proxy_ignore_client_abort on;

        proxy_pass http://minio_api2;
    }
}

server{
    listen       18001;
    server_name  192.168.182.110;

    ignore_invalid_headers off;
    client_max_body_size 0;
    proxy_buffering off;

    location / {
        proxy_set_header   X-Forwarded-Proto $scheme;
        proxy_set_header   Host              $http_host;
        proxy_set_header   X-Real-IP         $remote_addr;

        proxy_connect_timeout 300;
        proxy_http_version 1.1;
        chunked_transfer_encoding off;
        proxy_ignore_client_abort on;

        proxy_pass http://minio_console2;
    }
}

重新加載nginx 生效

systemctl reload nginx

web訪問:http://local-168-182-110:18001/
高性能分布式對象存儲——MinIO實戰(zhàn)操作(MinIO擴容)
不同的客戶端訪問會顯示不同的節(jié)點信息


MinIO的基本操作和MinIO擴容實戰(zhàn)就到這里了,有疑問的小伙伴歡迎給我留言哦,后續(xù)會持續(xù)分享更多關(guān)于大數(shù)據(jù)的教程,請小伙伴耐心等待哦~文章來源地址http://www.zghlxwxcb.cn/news/detail-425651.html

到了這里,關(guān)于高性能分布式對象存儲——MinIO實戰(zhàn)操作(MinIO擴容)的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

  • 【分布式系統(tǒng)】聊聊高性能設(shè)計

    【分布式系統(tǒng)】聊聊高性能設(shè)計

    對于以上的數(shù)字,其實每個程序員都應(yīng)該了解,因為只有了解這些基本的數(shù)字,才能知道對于CPU、內(nèi)存、磁盤、網(wǎng)絡(luò)之間數(shù)據(jù)讀寫的時間。1000ms = 1S。毫秒-微秒-納秒-秒-分鐘 為什么高性能如此重要的呢,在架構(gòu)設(shè)計中,高性能、高可用、高并發(fā)是三高問題。其實背后對應(yīng)的就

    2024年02月13日
    瀏覽(48)
  • 高性能分布式緩存Redis(三) 擴展應(yīng)用

    高性能分布式緩存Redis(三) 擴展應(yīng)用

    在并發(fā)編程中,通過鎖,來避免由于競爭而造成的數(shù)據(jù)不一致問題 問題分析 現(xiàn)象:本地鎖在多節(jié)點下失效(集群/分布式) 原因:本地鎖它只能鎖住本地JVM進程中的多個線程,對于多個JVM進程的不同線程間是鎖不住的 解決:分布式鎖(在分布式環(huán)境下提供鎖服務(wù),并且達到本地

    2024年02月12日
    瀏覽(94)
  • 開源通用高性能的分布式id序列組件

    開源通用高性能的分布式id序列組件

    原文地址:https://ntopic.cn/p/2023062101/ Gitee源代碼倉庫:https://gitee.com/obullxl/sequence-jdbc GitHub源代碼倉庫:https://github.com/obullxl/sequence-jdbc 業(yè)務(wù)數(shù)據(jù)的存儲,少不了數(shù)據(jù)記錄的id序列。 id序列(或稱序列)的生成方式有很多種,比如當(dāng)前時間戳、數(shù)據(jù)庫的序列值(Oracle的序列,MyS

    2024年02月11日
    瀏覽(30)
  • 深“扒”云原生高性能分布式文件系統(tǒng)JuiceFS

    深“扒”云原生高性能分布式文件系統(tǒng)JuiceFS

    JuiceFS 是一款面向云原生設(shè)計的高性能 分布式文件系統(tǒng) ,在 Apache 2.0 開源協(xié)議下發(fā)布。提供完備的 POSIX 兼容性,可將幾乎所有對象存儲接入本地作為海量本地磁盤使用,亦可同時在跨平臺、跨地區(qū)的不同主機上掛載讀寫。 JuiceFS JuiceFS 采用? 「數(shù)據(jù)」與「元數(shù)據(jù)」分離存儲

    2024年02月15日
    瀏覽(27)
  • Kafka 最佳實踐:構(gòu)建可靠、高性能的分布式消息系統(tǒng)

    Kafka 最佳實踐:構(gòu)建可靠、高性能的分布式消息系統(tǒng)

    Apache Kafka 是一個強大的分布式消息系統(tǒng),被廣泛應(yīng)用于實時數(shù)據(jù)流處理和事件驅(qū)動架構(gòu)。為了充分發(fā)揮 Kafka 的優(yōu)勢,需要遵循一些最佳實踐,確保系統(tǒng)在高負載下穩(wěn)定運行,數(shù)據(jù)可靠傳遞。本文將深入探討 Kafka 的一些最佳實踐,并提供豐富的示例代碼,幫助讀者更好地應(yīng)用

    2024年02月03日
    瀏覽(42)
  • 解析RocketMQ:高性能分布式消息隊列的原理與應(yīng)用

    什么是消息隊列 消息隊列是一種消息傳遞機制,用于在應(yīng)用程序和系統(tǒng)之間傳遞消息,實現(xiàn)解耦和異步通信。它通過將消息發(fā)送到一個中間代理(消息隊列),然后由消費者從該隊列中獲取消息并處理。 RocketMQ簡介 RocketMQ是阿里巴巴開源的一款高性能分布式消息隊列系統(tǒng)。它

    2024年02月14日
    瀏覽(26)
  • 【分布式技術(shù)專題】「分布式ID系列」百度開源的分布式高性能的唯一ID生成器UidGenerator

    【分布式技術(shù)專題】「分布式ID系列」百度開源的分布式高性能的唯一ID生成器UidGenerator

    UidGenerator是什么 UidGenerator是百度開源的一款分布式高性能的唯一ID生成器,更詳細的情況可以查看官網(wǎng)集成文檔 uid-generator是基于Twitter開源的snowflake算法實現(xiàn)的一款唯一主鍵生成器(數(shù)據(jù)庫表的主鍵要求全局唯一是相當(dāng)重要的)。要求java8及以上版本。 snowflake算法 Snowflake算法描

    2024年02月04日
    瀏覽(21)
  • 芯片設(shè)計重要工具—— IBM LSF 分布式高性能計算調(diào)度平臺

    IBM Spectrum? LSF? Suites 是面向分布式高性能計算 (HPC) 的工作負載管理平臺和作業(yè)調(diào)度程序?;?Terraform 的自動化現(xiàn)已可用,該功能可在 IBM Cloud? 上為基于 IBM Spectrum LSF 的集群供應(yīng)和配置資源。 借助我們針對任務(wù)關(guān)鍵型 HPC 環(huán)境的集成解決方案,提高用戶生產(chǎn)力和硬件使用,

    2024年01月19日
    瀏覽(25)
  • Apache SeaTunnel:新一代高性能、分布式、海量數(shù)據(jù)集成工具從入門到實踐

    Apache SeaTunnel:新一代高性能、分布式、海量數(shù)據(jù)集成工具從入門到實踐

    Apache SeaTunnel 原名 Waterdrop,在 2021 年 10 月更名為 SeaTunnel 并申請加入 Apache孵化器。目前 Apache SeaTunnel 已發(fā)布 40+個版本,并在大量企業(yè)生產(chǎn)實踐中使用,包括 J.P.Morgan、字節(jié)跳動、Stey、中國移動、富士康、騰訊云、國雙、中科大數(shù)據(jù)研究院、360、Shoppe、Bilibili、新浪、搜狗、唯

    2024年02月03日
    瀏覽(24)
  • LAXCUS分布式操作系統(tǒng):技術(shù)創(chuàng)新引領(lǐng)高性能計算與人工智能新時代

    LAXCUS分布式操作系統(tǒng):技術(shù)創(chuàng)新引領(lǐng)高性能計算與人工智能新時代

    隨著科技的飛速發(fā)展,高性能計算、并行計算、分布式計算、大數(shù)據(jù)、人工智能等技術(shù)在各個領(lǐng)域得到了廣泛應(yīng)用。在這個過程中,LAXCUS分布式操作系統(tǒng)以其卓越的技術(shù)創(chuàng)新和強大的性能表現(xiàn),成為了業(yè)界的佼佼者。本文將圍繞LAXCUS分布式操作系統(tǒng)的技術(shù)創(chuàng)新,探討其在高性

    2024年02月12日
    瀏覽(35)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包