SeaweedFS深度解析(三):裸金屬單機和集群部署

#作者:閆乾苓

文章目錄

      • 2.2.4 S3 Server(兼容 Amazon S3 的接口)
      • 2.2.5 Weed(命令行工具)
  • 3、裸金屬單機和集群部署
    • 3.1 裸金屬單機部署
      • 3.1.1安裝 SeaweedFS
      • 3.1.2 以Master模式啟動

2.2.4 S3 Server(兼容 Amazon S3 的接口)

功能:提供與 Amazon S3 兼容的RESTful API,方便集成現有S3生態工具。
特點:基于 Filer 實現,將 S3 操作轉換為 SeaweedFS 原生操作。
工作原理:S3 Server接收來自客戶端的S3協議請求,將其轉換為對Filer和Volume Service的操作。這樣,用戶就可以像使用S3一樣使用SeaweedFS進行對象存儲。

2.2.5 Weed(命令行工具)

功能:管理集群的核心工具,支持以下操作:

  • 啟動 Master、Volume Server、Filer 等組件(如 weed master、weed volume)。
  • 文件上傳/下載(如 weed upload、weed download)。
  • 系統狀態監控(如 weed shell)。

工作原理:通過調用SeaweedFS的不同API,“Weed”命令行工具能夠方便地與Master Service、Volume Service以及Filer進行交互,實現對集群的各種管理功能。

3、裸金屬單機和集群部署

3.1 裸金屬單機部署

3.1.1安裝 SeaweedFS

從https://github.com/seaweedfs/seaweedfs/releases下載最新的官方版本。
-rw-r–r–. 1 root root 44870713 5月 26 10:17 linux_amd64_full.tar.gz

解壓下載的文件。你只會找到一個可執行文件,在大多數系統上是“weed”,在 Windows 上是“weed.exe”。

建議為服務創建最小權限的專用系統賬戶,以遵循最小權限原則,避免因使用 root 用戶帶來過大的安全風險。
~# useradd weed
~# passwd weed

為 seaweedfs創建相關的目錄
~# mkdir /opt/seaweedfs/{sbin,master-data} -p

將文件“weed”放到/opt/seaweedfs/sbin/下, 并設置weed賬戶的權限
~# mv weed /opt/seaweedfs/sbin
~# chown -R weed:weed /opt/seaweedfs/

使用以下命令查看下載安裝是否正常。
~# /opt/seaweedfs/sbin/weed -h

3.1.2 以Master模式啟動

啟動方法:

~# su - weed
~$ ./weed master -mdir="." -ip=xxx.xxx.xxx.xxx

參數:

  • -mdir: 指定元數據存儲目錄

  • -logdir:日志輸出目錄

  • -ip: 指定服務啟動后網絡監聽端口綁定的IP,不指定默認會綁定127.0.0.1和自動探測到的IP。

  • -volumeSizeLimitMB: 這個參數控制單個卷的最大大小限制,默認值是默認值是 30GB (30*1000 MB),
    推薦值:

  • 小文件場景:1000-4000 MB,便于快速備份和遷移

  • 大文件場景:8000-30000 MB,減少卷的數量

  • 混合場景:4000-8000 MB,平衡性能和管理復雜度

  • -defaultReplication: 默認復制策略
    復制策略格式為 XYZ:
    X:跨數據中心的副本數
    Y:同數據中心不同機架的副本數
    Z:同機架不同服務器的副本數
    推薦值:

  • 單機測試:“000”(無復制)

  • 生產環境:“001”(同機架1個副本)或 “010”(不同機架1個副本)

  • 高可用環境:“100”(跨數據中心1個副本)

  • -garbageThreshold: 垃圾回收閾值,控制何時觸發垃圾回收和空間回收
    默認值是 0.3,表示當刪除的數據占卷總大小的 30% 時觸發垃圾回收。
    推薦值:

  • 頻繁刪除場景:0.2-0.3,及時回收空間

  • 穩定存儲場景:0.4-0.5,減少回收頻率

  • 性能優先場景:0.6-0.8,最小化回收影響

  • -metricsPort: 指定prometheus 監控指標的 HTTP 端口
    推薦值:

  • 標準部署:9327(官方默認)

  • 多實例部署:9327, 9328, 9329…(避免端口沖突)

  • 企業環境:根據監控系統規范設置

簡單示例:

~$ /opt/seaweedfs/sbin/weed master -mdir="/opt/seaweedfs/master-data" -ip="192.168.61.71"

完整配置示例:

~$ /opt/seaweedfs/sbin/weed master -ip="192.168.61.71" -mdir="/opt/seaweedfs/master-data" -volumeSizeLimitMB=4000 -defaultReplication="001" -metricsPort=9327

查看監聽的端口

$ ss -ntlp |grep 9333
LISTEN 0      4096       127.0.0.1:9333       0.0.0.0:*    users:(("weed",pid=2183,fd=9)) 
LISTEN 0      4096   192.168.61.71:9333       0.0.0.0:*    users:(("weed",pid=2183,fd=8)) 
LISTEN 0      4096       127.0.0.1:19333      0.0.0.0:*    users:(("weed",pid=2183,fd=12))
LISTEN 0      4096   192.168.61.71:19333      0.0.0.0:*    users:(("weed",pid=2183,fd=11))

3.1.2.1以配置文件啟動master服務
Seaweedfs也支持使用配置文件啟動,可以將啟動命令中的配置參數合并寫入模板配置文件,方便管理。(但在測試3.9.2版本時,mdir,metricsPort 兩個參數在配置文件中不生效,只在啟動命令中作為參數使用時生效,我已經提交issue并給出修復建議,已被項目維護者采納,https://github.com/seaweedfs/seaweedfs/issues/6922)
使用以下命令創建模板配置文件:
/opt/seaweedfs/sbin/weed scaffold -config=master > /home/weed/.seaweedfs/master.toml

注意:/home/weed/.seaweedfs 目錄不存在,請先創建。
會生成的master.toml模板配置文件,下面的配置文件在模板配置文件的基礎上合并加入了其他基礎配置參數:

[master]  
port = 9333  
ip = "192.168.61.21"  
mdir = "/data/seaweedfs/master/data"
volumeSizeLimitMB = 30000  
defaultReplication = "000"  
metricsHttpPort = 9327[master.replication]  
treat_replication_as_minimums = false  [master.maintenance]  
scripts = """  lock  ec.encode -fullPercent=95 -quietFor=1h  ec.rebuild -force  ec.balance -force  volume.fix.replication  unlock  
"""  
sleep_minutes = 17  [master.volume_growth]  
copy_1 = 7  
copy_2 = 6  
copy_3 = 3  
copy_other = 1  
threshold = 0.9

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/90531.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/90531.shtml
英文地址,請注明出處:http://en.pswp.cn/web/90531.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

相機ROI 參數

相機的 ROI(Region of Interest,感興趣區域) 參數,是指通過設置圖像傳感器上 特定區域 作為有效成像區域,從而只采集該區域的圖像數據,而忽略其他部分。這一功能常用于工業相機、科研相機、高速相機等場景&…

Vue基礎(24)_VueCompinent構造函數、Vue實例對象與組件實例對象

分析上一節代碼中的school組件:該組件是一個名為VueCompinent的構造函數。截取部分vue.js源碼,分析Vue.extend:// 定義一個名為VueComponent的構造函數對象Sub,往Sub對象調用_init(options)方法,參數為配置項&#xff…

螢石云替代產品攝像頭方案螢石云不支持TCP本地連接-東方仙盟

不斷試錯東方仙盟深耕科研測評,聚焦前沿領域,以嚴謹標準評估成果,追蹤技術突破,在探索與驗證中持續精進,為科研發展提供參考,助力探路前行 螢石云價格螢石云的不便于使用 家庭場景:成本可控與隱…

C51:用DS1302時鐘讀取和設置時間

因為在ds1302.c文件中包含了寫ds1302(51向ds1302寫數據)和讀ds1302(51從ds1302讀數據)的兩個函數,我們根據文件中提供的函數來寫讀取時間和設置時間的函數即可ds1302.c文件源碼如下,需要的同學可以參考一下…

webrtc整體架構

WebRTC(Web Real-Time Communication)是一套支持瀏覽器和移動應用進行實時音視頻通信的開源技術標準,其架構設計圍繞 “實時性”“低延遲”“跨平臺” 和 “安全性” 展開,整體可分為核心引擎層、API 層、支撐服務層三大部分&…

淺析PCIe 6.0 ATS地址轉換功能

在現代高性能計算和虛擬化系統中,地址轉換(Address Translation)是一個至關重要的機制。隨著 PCIe 設備(如 GPU、網卡、存儲控制器)直接訪問系統內存的能力增強,設備對虛擬內存的訪問需求日益增長。 為了提升性能并確保安全訪問,Address Translation Services(ATS) 應…

【前端】ikun-pptx編輯器前瞻問題二: pptx的壓縮包結構,以及xml正文樹及對應元素介紹

文章目錄PPTX文件本質:一個壓縮包核心文件解析1. 幻燈片內容文件 (ppt/slides/slideX.xml)2. 元素類型解析文本框元素 (p:sp)圖片元素 (p:pic)單位系統開發注意事項參考工具pptx渲染路線圖PPTX文件本質:一個壓縮包 PPTX文件實際上是一個遵循Open XML標準…

分布式任務調度實戰:XXL-JOB與Elastic-Job深度解析

告別傳統定時任務的局限,擁抱分布式調度的強大與靈活 在現代分布式系統中,高效可靠的任務調度已成為系統架構的核心需求。面對傳統方案(如Timer、Quartz)在分布式環境下的不足,開發者急需支持集群調度、故障轉移和可視…

Windows 11下純軟件模擬虛擬機的設備模擬與虛擬化(僅終端和網絡)

Windows 11下用GCC的C代碼實現的虛擬機需要終端輸入/輸出(如串口或虛擬控制臺)和網絡連接,但不需要完整的硬件設備(如磁盤、顯卡、USB 等)。在終端輸入/輸出方面,參考qemu的源代碼,但不調用qemu…

CCF-GESP 等級考試 2025年6月認證Python六級真題解析

1 單選題(每題 2 分,共 30 分)第1題 下列哪一項不是面向對象編程(OOP)的基本特征?( )A. 繼承 (Inheritance) B. 封裝 (Encapsul…

C++中的deque

1. 什么是 Deque? 核心概念: Deque 是 “Double-Ended Queue”(雙端隊列)的縮寫。你可以把它想象成一個可以在兩端(頭部和尾部)高效地進行添加或刪除操作的線性數據結構。關鍵特性: 雙端操作&am…

GNU到底是什么,與Unix和Linux是什么關系

GNU(發音為 /ɡnu?/,類似“革奴”)是一個自由軟件操作系統項目,由理查德斯托曼(Richard Stallman)于1983年發起,目標是創建一個完全由自由軟件組成的類Unix操作系統。它的名字是一個遞歸縮寫&a…

雙指針算法介紹及使用(下)

在上一篇文章中我們已經對雙指針有了一定了解,接下來我們通過題目來對雙指針進行更好的理解。 1. leetcode 202. 快樂數 這道題使用的方法是快慢指針, 比如說一個數X,那么創建兩個變量X1和X2,然后X1每次變化兩次,X2變化…

Elasticsearch整合:Repository+RestClient雙模式查詢優化

Elasticsearch整合:RepositoryRestClient雙模式查詢優化Elasticsearch 雙模式查詢優化:Repository RestClient 整合指南一、架構設計:雙模式協同工作流二、Repository 模式:快速開發最佳實踐2.1 基礎配置2.2 高級特性&#xff1a…

Elasticsearch 高級查詢語法 Query DSL 實戰指南

目錄 1、DSL 概述 1.1 DSL按照查詢的結構層次劃分 1.2 DSL按照檢索功能的用途和特性劃分 1.3 示例數據準備 2、match_all ——匹配所有文檔 3、精確匹配 3.1 term——單字段精確匹配查詢 3.2 terms——多值精確匹配 3.3 range——范圍查詢 3.4 exists——是否存在查詢…

DNS 服務正反向解析與 Web 集成實戰:從配置到驗證全流程

DNS 服務正反向解析配置全流程指南 一、前言 在網絡環境中,DNS(Domain Name System)服務起著至關重要的作用,它負責將域名解析為 IP 地址,以及將 IP 地址反向解析為域名。本文將詳細介紹如何配置 DNS 服務的正反向解析…

2025.07.25【宏基因組】|PathoScope 安裝與使用指南

PathoScope 安裝與使用指南:微生物組數據分析利器 作為一名生物信息工程師,在微生物組數據分析中,我們常常需要高效、準確的工具來鑒定和量化樣本中的微生物組成。PathoScope 正是這樣一款強大的工具,它能夠幫助我們從高通量測序…

AI結對編程:分布式團隊的集體記憶外腦

AI結對編程:分布式團隊的集體記憶外腦 “當新人通過AI瞬間掌握三年積累的業務規則時,傳統‘傳幫帶’模式正式宣告過時——分布式團隊最珍貴的資產不再是代碼,而是被AI固化的集體經驗。” 一、人腦的帶寬困局 柏林新人加入新加坡支付團隊,面臨恐怖的知識迷宮: - …

棧----1.有效的括號

20. 有效的括號 - 力扣(LeetCode) /** 括號特性: 左括號必定先出現,每個左括號都需要一個右括號與之匹配,后出現的左括號先匹配 解法: 依據后出現的左括號先匹配,很容易聯想到棧,即后進先出 遍歷字符串,遇到左括號就在棧中添加一個對應的右括號 遇到右括…

數據報表怎么自動填寫內容?總結了幾個方法

你有沒有遇到過這種情況?月底趕銷售報告,Excel里密密麻麻的數據要往Word里搬,光是復制粘貼就折騰半小時,好不容易搞完,老板突然說數據有更新…得,全白干!更崩潰的是,這種重復勞動每個…