docker安裝minio,和其基本使用

一.什么是分布式文件系統(tǒng)及拓展知識(shí)

分布式文件系統(tǒng)Distributed file system创千,DFS),或是網(wǎng)絡(luò)文件系統(tǒng)(Network File System)入偷,是一種允許文件透過(guò)網(wǎng)絡(luò)在多臺(tái)主機(jī)上分享的文件系統(tǒng)签餐,可讓多機(jī)器上的多用戶分享文件和存儲(chǔ)空間。分布式文件系統(tǒng)解決的最大的問(wèn)題是資源共享的問(wèn)題盯串,因此分布式文件系統(tǒng)最大的特點(diǎn)是多個(gè)客戶端可以訪問(wèn)相同的服務(wù)端。

1.存儲(chǔ)方式

塊存儲(chǔ)戒良、文件存儲(chǔ)体捏、對(duì)象存儲(chǔ)

1.1 塊存儲(chǔ)

就好比硬盤一樣,直接掛在到主機(jī)糯崎, 一般用于主機(jī)的直接存儲(chǔ)空間和數(shù)據(jù)庫(kù)應(yīng)用(MySQL)的存儲(chǔ)

塊存儲(chǔ)(DAS/SAN)通常應(yīng)用在某些專有的系統(tǒng)中几缭,這類應(yīng)用要求很高的隨機(jī)讀寫性能和高可靠性,上面搭載的通常是 Oracle/DB2 這種傳統(tǒng)數(shù)據(jù)庫(kù)沃呢,連接通常是以 FC 光纖(8Gb/16Gb)為主年栓,走光纖協(xié)議。如果要求稍低一些薄霜,也會(huì)出現(xiàn)基于千兆/萬(wàn)兆以太網(wǎng)的連接方式某抓,MySQL 這種數(shù)據(jù)庫(kù)就可能會(huì)使用 IP SAN,走 iSCSI 協(xié)議

通常使用塊存儲(chǔ)的都是系統(tǒng)而非用戶惰瓜,并發(fā)訪問(wèn)不會(huì)很多否副,經(jīng)常出現(xiàn)一套存儲(chǔ)只服務(wù)一個(gè)應(yīng)用系統(tǒng),例如如交易系統(tǒng)崎坊,計(jì)費(fèi)系統(tǒng)备禀。典型行業(yè)如金融,制造奈揍,能源曲尸,電信等

1.2 文件存儲(chǔ)

文件存儲(chǔ)(NAS)相對(duì)來(lái)說(shuō)就更能兼顧多個(gè)應(yīng)用和更多用戶訪問(wèn),同時(shí)提供方便的數(shù)據(jù)共享手段

在 PC 時(shí)代男翰,數(shù)據(jù)共享也大多是用文件的形式另患,比如常見(jiàn)的的 FTP 服務(wù),NFS 服務(wù)奏篙,Samba 共享這些都是屬于典型的文件存儲(chǔ)柴淘。幾十個(gè)用戶甚至上百用戶的文件存儲(chǔ)共享訪問(wèn)都可以用 NAS 存儲(chǔ)加以解決

在中小企業(yè)市場(chǎng)迫淹,一兩臺(tái) NAS 存儲(chǔ)設(shè)備就能支撐整個(gè) IT 部門了。CRM 系統(tǒng)为严,SCM 系統(tǒng)敛熬,OA 系統(tǒng),郵件系統(tǒng)都可以使用 NAS 存儲(chǔ)統(tǒng)統(tǒng)搞定第股。甚至在公有云發(fā)展的早幾年应民,用戶規(guī)模沒(méi)有上來(lái)時(shí),云存儲(chǔ)的底層硬件也有用幾套 NAS 存儲(chǔ)設(shè)備就解決的夕吻,甚至云主機(jī)的鏡像也有放在 NAS 存儲(chǔ)上的例子

文件存儲(chǔ)的廣泛兼容性和易用性诲锹,是這類存儲(chǔ)的突出特點(diǎn),但是從性能上來(lái)看涉馅,相對(duì) SAN 就要低一些归园。NAS 存儲(chǔ)基本上是以太網(wǎng)訪問(wèn)模式,普通千兆網(wǎng)稚矿,走 NFS/CIFS 協(xié)議

1.3 對(duì)象存儲(chǔ)

前面說(shuō)到的塊存儲(chǔ)文件存儲(chǔ)庸诱,基本上都還是在專有的局域網(wǎng)絡(luò)內(nèi)部使用,而對(duì)象存儲(chǔ)的優(yōu)勢(shì)場(chǎng)景卻是互聯(lián)網(wǎng)或者公網(wǎng)晤揣,主要解決海量數(shù)據(jù)桥爽,海量并發(fā)訪問(wèn)的需求

基于互聯(lián)網(wǎng)的應(yīng)用才是對(duì)象存儲(chǔ)的主要適配(當(dāng)然這個(gè)條件同樣適用于云計(jì)算,基于互聯(lián)網(wǎng)的應(yīng)用最容易遷移到云上)昧识,基本所有成熟的公有云都提供了對(duì)象存儲(chǔ)產(chǎn)品钠四,不管是國(guó)內(nèi)還是國(guó)外

對(duì)象存儲(chǔ)常見(jiàn)的適配應(yīng)用如網(wǎng)盤、媒體娛樂(lè)跪楞,醫(yī)療 PACS缀去,氣象,歸檔等數(shù)據(jù)量超大而又相對(duì) 冷數(shù)據(jù) 和非在線處理的應(yīng)用類型习霹,這類應(yīng)用單個(gè)數(shù)據(jù)大朵耕,總量也大,適合對(duì)象存儲(chǔ)海量和易擴(kuò)展的特點(diǎn)

網(wǎng)盤類應(yīng)用也差不多淋叶,數(shù)據(jù)總量很大阎曹,另外還有并發(fā)訪問(wèn)量也大,支持 10 萬(wàn)級(jí)用戶訪問(wèn)這種需求就值得單列一個(gè)項(xiàng)目了煞檩。歸檔類應(yīng)用只是數(shù)據(jù)量大的 冷數(shù)據(jù)处嫌,并發(fā)訪問(wèn)的需求倒是不太突出

另外基于移動(dòng)端的一些新興應(yīng)用也是適合的,智能手機(jī)和移動(dòng)互聯(lián)網(wǎng)普及的情況下斟湃,所謂 UGD(用戶產(chǎn)生的數(shù)據(jù)熏迹,手機(jī)的照片視頻)總量和用戶數(shù)都是很大挑戰(zhàn)。畢竟直接使用 HTTP get/put 就能直接實(shí)現(xiàn)數(shù)據(jù)存取凝赛,對(duì)移動(dòng)應(yīng)用來(lái)說(shuō)還是有一定吸引力的

對(duì)象存儲(chǔ)的訪問(wèn)通常是在互聯(lián)網(wǎng)注暗,走 HTTP 協(xié)議坛缕,性能方面,單獨(dú)看一個(gè)連接的是不高的(還要解決掉線斷點(diǎn)續(xù)傳之類的可靠性問(wèn)題)捆昏,主要強(qiáng)大的地方是支持的并發(fā)數(shù)量赚楚,聚合起來(lái)的性能帶寬就非常可觀了

1.4 性能對(duì)比

  • 塊存儲(chǔ)就像超跑骗卜,根本不在意能不能多載幾個(gè)人宠页,要的就是極限速度和高速下的穩(wěn)定性和可靠性,各大廠商出新產(chǎn)品都要去紐北賽道刷個(gè)單圈最快紀(jì)錄寇仓,千方百計(jì)就為提高一兩秒举户。塊存儲(chǔ)容量也不大,TB 這個(gè)數(shù)量級(jí)遍烦,支持的應(yīng)用和適用的環(huán)境也比較專業(yè)(FC+Oracle)俭嘁,在乎的都是 IOPS 的性能值
  • 文件存儲(chǔ)像集卡,普適各種場(chǎng)合服猪,又能裝數(shù)據(jù)(數(shù)百TB)兄淫,而且兼容性好,只要你是文件蔓姚,各種貨物都能往里塞,在不超過(guò)性能載荷的前提下慨丐,能拉動(dòng)常見(jiàn)的各種系統(tǒng)坡脐。標(biāo)準(zhǔn) POXIS 接口,后車門打開(kāi)就能裝卸房揭”赶校卡車也不挑路,不像塊存儲(chǔ)非要上賽道才能開(kāi)捅暴,普通的千兆公路就能暢通無(wú)阻恬砂。速度雖然沒(méi)有塊存儲(chǔ)超跑那么塊,但跑個(gè) 80/100 碼還是穩(wěn)穩(wěn)當(dāng)當(dāng)
  • 對(duì)象存儲(chǔ)就像海運(yùn)貨輪蓬痒,應(yīng)對(duì)的是"真·海量"泻骤,幾十上百 PB 的數(shù)據(jù),以集裝箱 /container(桶/bucket)為單位碼得整整齊齊梧奢,里面裝滿各種對(duì)象數(shù)據(jù)狱掂,十萬(wàn)客戶發(fā)的貨(數(shù)據(jù)),一條船就都處理得過(guò)來(lái)亲轨,按照鍵值(KeyVaule)記得清清楚楚趋惨。海運(yùn)速度慢是慢點(diǎn),有時(shí)候遇到點(diǎn)網(wǎng)絡(luò)風(fēng)暴還不穩(wěn)定惦蚊,但支持?jǐn)帱c(diǎn)續(xù)傳器虾,最終還是能安全送達(dá)的讯嫂,對(duì)大宗貨物尤其是非結(jié)構(gòu)化數(shù)據(jù),整體上來(lái)看是最快捷便利的

1.5 訪問(wèn)方式

  • 塊存儲(chǔ)通常都是通過(guò)光纖網(wǎng)絡(luò)連接兆沙,服務(wù)器/小機(jī)上配置 FC 光纖 HBA 卡欧芽,通過(guò)光纖交換機(jī)連接存儲(chǔ)(IP SAN 可以通過(guò)千兆以太網(wǎng),以 iSCSI 客戶端連接存儲(chǔ))挤悉,主機(jī)端以邏輯卷(Volume)的方式訪問(wèn)渐裸。連接成功后,應(yīng)用訪問(wèn)存儲(chǔ)是按起始地址装悲,偏移量 Offset 的方法來(lái)訪問(wèn)的
  • 文件存儲(chǔ)通常只要是局域網(wǎng)內(nèi)昏鹃,千兆/百兆的以太網(wǎng)環(huán)境皆可。網(wǎng)線連上诀诊,服務(wù)器端通過(guò)操作系統(tǒng)內(nèi)置的 NAS 客戶端洞渤,如 NFS/CIFS/FTP 客戶端掛載存儲(chǔ)成為一個(gè)本地的文件夾后訪問(wèn),只要符合 POXIS 標(biāo)準(zhǔn)属瓣,應(yīng)用就可以用標(biāo)準(zhǔn)的 open载迄,seek,write/read抡蛙,close 這些方法對(duì)其訪問(wèn)操作
  • 對(duì)象存儲(chǔ)不在乎網(wǎng)絡(luò)护昧,而且它的訪問(wèn)比較有特色,只能存取刪(put/get/delete)粗截,不能打開(kāi)修改存盤惋耙。只能取下來(lái)改好后上傳,去覆蓋原對(duì)象

2. 文件系統(tǒng)

開(kāi)源分布式存儲(chǔ)系統(tǒng)對(duì)比熊昌,還有很多其他绽榛,這里只列舉這幾款

存儲(chǔ)系統(tǒng) Ceph Swift HDFS FastDFS Ambry MinIO
開(kāi)發(fā)語(yǔ)言 C++ Python Java C Java Go
開(kāi)源協(xié)議 LGPL Apache Apache GPL3 Apache Apache
存儲(chǔ)方式 對(duì)象/文件/塊 對(duì)象 文件 文件/塊 對(duì)象 對(duì)象
在線擴(kuò)容 支持 支持 支持 支持 支持 -
冗余備份 支持 支持 支持 支持 支持 -
單點(diǎn)故障 不存在 不存在 存在 不存在 不存在 -
易用性 一般 一般 一般 簡(jiǎn)單 簡(jiǎn)單 簡(jiǎn)單
跨集群 不支持 - 不支持 部分支持 不支持 -
適用場(chǎng)景 大中小文件 大中小文件 大中文件 中小文件 大中小文件 大中小文件

對(duì)比了 Github 的 Star,MinIO 增長(zhǎng)的很快婿屹,而且官方還有中文文檔提供灭美,中小企業(yè)使用不錯(cuò)

二. docker安裝Minio

2.1 拉取Minio docker鏡像

docker pull minio //這里我是拉取的最新的鏡像

2.2 運(yùn)行鏡像

docker run  -p 9000:9000 -p 9090:9090 --name minio \
 -d --restart=always \
 -e MINIO_ACCESS_KEY=minio \
 -e MINIO_SECRET_KEY=minio@123 \
 -v /usr/local/minio/data:/data \
 -v /usr/local/minio/config:/root/.minio \
  minio/minio server /data  --console-address ":9000" --address ":9090"

9000是minio控制臺(tái)端口

9090是api交互端口

三. JavaSDK使用

3.1 上傳文件

minioClient = MinioClient.builder().endpoint(Url).credentials(AccessKey,SecretKey).build();
        // Make 'asiatrip' bucket if not exist.
        boolean found =
                minioClient.bucketExists(BucketExistsArgs.builder().bucket(Bucket).build());
        if (!found) {
            // Make a new bucket called 'asiatrip'.
            //minioClient.makeBucket(MakeBucketArgs.builder().bucket("asiatrip").build());
            System.out.println("不存在!!!");
        } else {
            System.out.println("Bucket already exists.");
        }

        // Upload '/home/user/Photos/asiaphotos.zip' as object name 'asiaphotos-2015.zip' to bucket
        // 'asiatrip'.
        minioClient.uploadObject(
                UploadObjectArgs.builder()
                        .bucket(Bucket)
                        .object("筆記.zip")
                        .filename("/Users/woods/candaoCodes/woodsTest/src/main/resources/筆記.zip")
                        .build());

3.2 下載文件

minioClient = MinioClient.builder().endpoint(Url).credentials(AccessKey,SecretKey).build();
        String presignedObjectUrl = minioClient.getPresignedObjectUrl(
                GetPresignedObjectUrlArgs.builder()
                        .method(Method.GET)
                        .bucket(Bucket)
                        .object("筆記.zip")
                        .expiry(10000)
                        .build());
        System.out.println(presignedObjectUrl); //下載鏈接
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市昂利,隨后出現(xiàn)的幾起案子届腐,更是在濱河造成了極大的恐慌,老刑警劉巖蜂奸,帶你破解...
    沈念sama閱讀 207,113評(píng)論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件梯捕,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡窝撵,警方通過(guò)查閱死者的電腦和手機(jī)傀顾,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,644評(píng)論 2 381
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)碌奉,“玉大人短曾,你說(shuō)我怎么就攤上這事寒砖。” “怎么了嫉拐?”我有些...
    開(kāi)封第一講書人閱讀 153,340評(píng)論 0 344
  • 文/不壞的土叔 我叫張陵哩都,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我婉徘,道長(zhǎng)漠嵌,這世上最難降的妖魔是什么? 我笑而不...
    開(kāi)封第一講書人閱讀 55,449評(píng)論 1 279
  • 正文 為了忘掉前任盖呼,我火速辦了婚禮儒鹿,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘几晤。我一直安慰自己约炎,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,445評(píng)論 5 374
  • 文/花漫 我一把揭開(kāi)白布蟹瘾。 她就那樣靜靜地躺著圾浅,像睡著了一般。 火紅的嫁衣襯著肌膚如雪憾朴。 梳的紋絲不亂的頭發(fā)上狸捕,一...
    開(kāi)封第一講書人閱讀 49,166評(píng)論 1 284
  • 那天,我揣著相機(jī)與錄音众雷,去河邊找鬼府寒。 笑死,一個(gè)胖子當(dāng)著我的面吹牛报腔,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播剖淀,決...
    沈念sama閱讀 38,442評(píng)論 3 401
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼纯蛾,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了纵隔?” 一聲冷哼從身側(cè)響起翻诉,我...
    開(kāi)封第一講書人閱讀 37,105評(píng)論 0 261
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎捌刮,沒(méi)想到半個(gè)月后碰煌,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 43,601評(píng)論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡绅作,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,066評(píng)論 2 325
  • 正文 我和宋清朗相戀三年芦圾,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片俄认。...
    茶點(diǎn)故事閱讀 38,161評(píng)論 1 334
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡个少,死狀恐怖洪乍,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情夜焦,我是刑警寧澤壳澳,帶...
    沈念sama閱讀 33,792評(píng)論 4 323
  • 正文 年R本政府宣布,位于F島的核電站茫经,受9級(jí)特大地震影響巷波,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜卸伞,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,351評(píng)論 3 307
  • 文/蒙蒙 一抹镊、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧瞪慧,春花似錦髓考、人聲如沸。這莊子的主人今日做“春日...
    開(kāi)封第一講書人閱讀 30,352評(píng)論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至妓湘,卻和暖如春查蓉,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背榜贴。 一陣腳步聲響...
    開(kāi)封第一講書人閱讀 31,584評(píng)論 1 261
  • 我被黑心中介騙來(lái)泰國(guó)打工豌研, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人唬党。 一個(gè)月前我還...
    沈念sama閱讀 45,618評(píng)論 2 355
  • 正文 我出身青樓鹃共,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親驶拱。 傳聞我的和親對(duì)象是個(gè)殘疾皇子霜浴,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,916評(píng)論 2 344

推薦閱讀更多精彩內(nèi)容