日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > windows >内容正文

windows

weedfs java_初窥weedfs分布式文件系统

發布時間:2025/3/21 windows 36 豆豆
生活随笔 收集整理的這篇文章主要介紹了 weedfs java_初窥weedfs分布式文件系统 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

介紹

Seaweedfs是一個簡單,高擴展性的分布式文件系統,它的兩個目標分別是:

存儲數十億級的文件

快速響應文件。

seaweedfs選擇以鍵值對(key->file)的實現方式,這有點像“NoSQL",你可以陳其為”NoFS“。

seaweedfs的中心節點(center master)并不會管理所有文件的元數據而僅僅管理文件卷(file volmume),文件及其元數據的管理是由volume server實現的。這可以緩解center master的并發壓力,并且將文件元數據分配到volume server可以實現更快的文件訪問(只需一次磁盤讀取操作)。

架構

通常,分布式文件系統將每個文件拆分為塊,中央主服務器保持文件名,到塊句柄的塊索引以及每個塊服務器具有的塊。

主要缺點是中央主服務器無法高效地處理許多小文件,并且由于所有讀請求都需要通過塊主服務器,所以對于許多并發用戶來說可能無法很好地擴展。

SeaweedFS管理主服務器中的數據卷,而不是管理塊。每個數據卷大小為32GB,并且可以容納大量文件。每個存儲節點可以有很多數據卷。所以主節點只需要存儲關于卷的元數據,這是相當少量的數據,并且通常是穩定的。

實際的文件元數據存儲在卷服務器上的每個卷中。由于每個卷服務器只管理自己磁盤上的文件的元數據,每個文件的元數據只有16個字節,因此所有文件訪問都可以從內存中讀取文件元數據,只需要一次磁盤操作即可實際讀取文件數據。

主服務器(master server)和卷服務器(volmue server)

該架構非常簡單。實際數據存儲在存儲節點的卷上。一個卷服務器可以有多個卷,并且都可以支持基本認證的讀寫訪問。

所有卷由主服務器管理。主服務器包含卷ID到卷服務器映射。這是相當靜態的信息,可以輕松緩存。

在每個寫入請求上,主服務器還會生成一個file key,這是一個不斷增長的64位無符號整數。由于寫入請求通常不如讀取請求頻繁,因此一臺主服務器應該能夠很好地處理并發

讀寫文件

當客戶端發送寫入請求時,主服務器為該文件返回(volume id, file key, file cookie, volume node url)。客戶端然后聯系卷節點并發送文件的內容。

當客戶端需要根據(volume id, file key, file cookie)讀取文件時,它可以通過卷標id詢問主服務器(volume node url, volume node public url),或從緩存中檢索。然后客戶端可以獲取內容,或者只是在網頁上呈現URL并讓瀏覽器獲取內容。

存儲大小

在當前的實現中,每個卷可以是8x2 ^ 32個字節(32GiB)。這是因為將內容對齊到8個字節。通過更改2行代碼,可以輕松地將其增加到64G或128G,或者更多,代價是由于對齊而導致的一些浪費的填充空間。

可以有2 ^ 32卷。因此總系統大小為8 x 2 ^ 32字節x 2 ^ 32 = 8 x 4GiB x 4Gi = 128EiB(2 ^ 67字節或128 exbibytes)。

每個單獨的文件大小都受限于卷大小。

使用示例

本示例簡單搭建一個集群,集群規劃如下

Master Server :

192.168.0.193

Volmue Server:

192.168.0.191

192.168.0.193

192.168.0.195

192.168.0.196

啟動Master Server

./weed master -ip=192.168.0.193

啟動Volume Server

./weed volume -dir=/weedfs_data -mserver=192.168.0.193:9333 -port=8083 -ip=`hostname -i`

文件寫入

要上傳文件:首先,向/ dir / assign發送HTTP POST,PUT或GET請求以獲取fid和卷服務器url

> curl -X POST http://192.168.0.193:9333/dir/assign

{"fid":"8,081df3da0dce77","url":"192.168.0.196:8083","publicUrl":"192.168.0.196:8083","count":1}

其次,要存儲文件內容,請向響應中的url +'/'+ fid發送HTTP多部分PUT或POST請求:

> curl -X PUT -F file=@./test.log http://192.168.0.196:8083/8,081df3da0dce77

{"name":"test.log","size":8}

更新文件,只需使用新的文件內容再次發送一個PUT或POST請求。

刪除文件,只需發送HTTP DELETE請求到相同的URL +'/'+ fid URL:

> curl -X DELETE http://192.168.0.196:8083/8,081df3da0dce77

文件讀取

首先通過文件的volumeId查找volume server

> curl -X get http://192.168.0.193:9333/dir/lookup?volumeId=8

{"volumeId":"8","locations":[{"url":"192.168.0.196:8083","publicUrl":"192.168.0.196:8083"}]}

現在您可以使用公共URL從卷服務器讀取

http://192.168.0.196:8083/8,081df3da0dce77

性能

使用weedfs自動的命令對搭建的四個數據節點的集群進行了簡單的性能測試

使用50萬大小為50KB的文件進行讀寫操作,測試命令及結果如下:

在寫的過程中由于194節點磁盤滿了導致有極少一部分寫入請求失敗,不過不影響測試結果,各位就將就一下吧

./weed benchmark -size=51200 -n=500000 -server=192.168.0.193:9333

------------ Writing Benchmark ----------

Concurrency Level: 16

Time taken for tests: 278.368 seconds

Complete requests: 499520

Failed requests: 480

Total transferred: 25591146326 bytes

Requests per second: 1794.46 [#/sec]

Transfer rate: 89778.15 [Kbytes/sec]

Connection Times (ms)

min avg max std

Total: 0.7 8.8 18660.8 106.4

Percentage of the requests served within a certain time (ms)

50% 7.1 ms

66% 8.4 ms

75% 9.3 ms

80% 10.0 ms

90% 12.9 ms

95% 16.3 ms

98% 21.0 ms

99% 24.6 ms

100% 18660.8 ms

------------ Randomly Reading Benchmark ----------

Concurrency Level: 16

Time taken for tests: 196.642 seconds

Complete requests: 500000

Failed requests: 0

Total transferred: 25615722837 bytes

Requests per second: 2542.69 [#/sec]

Transfer rate: 127212.71 [Kbytes/sec]

Connection Times (ms)

min avg max std

Total: 0.2 6.2 219.8 4.2

Percentage of the requests served within a certain time (ms)

50% 5.8 ms

66% 7.5 ms

75% 8.2 ms

80% 8.7 ms

90% 10.7 ms

95% 14.0 ms

98% 16.8 ms

99% 18.6 ms

100% 219.8 ms

其他特性

可以選擇是否使用數據副本,以及副本的級別

master servers失敗自動漂移-杜絕但點故障

根據文件的mime類型自動進行gzip壓縮(linux查看文件的mime類型,file --mime-type)

刪除及更新操作之后通過壓縮實現自動的磁盤空間回收

集群中的服務器之間可以存在不同的磁盤空間,文件系統,操作系統

添加/刪除服務不會導致數據的重新平衡

可選擇修復jpeg圖片的方向

以下特性還沒有研究,后期再補上吧

Optional filer server provides "normal" directories and files via http

Support Etag, Accept-Range, Last-Modified, etc.

Support in-memory/leveldb/boltdb/btree mode tuning for memory/performance balance.

總結

以上是生活随笔為你收集整理的weedfs java_初窥weedfs分布式文件系统的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 四虎影视成人 | 亚洲国产欧美视频 | jzjzjzjzj亚洲成熟少妇 | 亚洲xx在线| 免费看污片的网站 | 色导航| 韩国毛片视频 | 亚洲97视频| 综合久久久久久久 | 桃色一区| 97se.com| 免费在线播放视频 | www.九九热.com| 国产久精品| 国产春色 | 男女视频一区二区 | 国产日日夜夜 | 国产综合精品视频 | 国产成人在线观看 | 国产婷婷在线视频 | 少妇被粗大猛进进出出s小说 | 久久久久久久久久久av | 久久人人妻人人人人妻性色av | 在线的av | 成人精品一区二区三区四区 | 色撸撸在线观看 | 蜜桃一二三区 | 一本色道久久综合亚洲精品按摩 | 亚洲情在线 | 亚洲成人网在线 | 看黄免费网站 | 波多野结衣中文字幕一区二区三区 | 午夜精品久久久久久久爽 | 国产精品suv一区二区 | 丝瓜色版| 国产精品免费久久久久 | 极品在线播放 | 久久久毛片 | 91久久精品国产91性色69 | 人人干人人做 | 国产成人精品一区二区三区福利 | 肥老熟妇伦子伦456视频 | 成人在线h | 舐丝袜脚视频丨vk | 欧美日韩一区三区 | 欧美另类videosbestsex| 男插女视频在线观看 | 亚洲精品在线观看视频 | 手机av网 | 久久综合av | 中文字幕2区 | 成人久久av | 91美女诱惑| 成人一区二区在线观看 | 偷拍网亚洲 | 国产成人啪精品午夜在线观看 | 夜夜夜撸| 亚洲精品视频在线观看视频 | 色优久久 | 30一40一50老女人毛片 | 久久公开视频 | 五月天爱爱 | 啪啪网视频 | 中文字幕日韩亚洲 | 一区二区视频在线免费观看 | 国产青草 | 综合99| 日韩91在线 | 国产精品国产三级国产三级人妇 | 99久久久久久久久久 | 国产精品一区二区在线观看 | 色香蕉影院 | 日韩中文字幕视频在线 | 欧美爽妇 | 亚洲欧美自拍视频 | 九九热九九爱 | 亚洲国产精品18久久久久久 | 色婷婷yy | 色网址在线观看 | 中文字幕在线观看1 | 美女视频一区二区 | 黄色小视频在线 | 欧美xxxx黑人 | 日韩女同一区二区三区 | 性欧美18一19内谢 | 欧美黄色三级视频 | 日韩在线视屏 | 亚洲天堂第一页 | 蜜臀av色欲a片无码精品一区 | 欧美中文字幕一区 | 在线精品一区 | 大乳女喂男人吃奶视频 | 国精产品一区一区三区 | 日本黄色生活片 | 久久久久午夜 | 草草久久久无码国产专区 | 69视频一区二区三区 | 九九视频在线 | 久久精品屋 |