GNU/Linux >> Znalost Linux >  >> Ubuntu

Jak nainstalovat a nakonfigurovat SeaweedFS Cluster na Ubuntu 20.04

SeaweedFS je open source, jednoduchý a vysoce škálovatelný distribuovaný souborový systém pro rychlé ukládání a obsluhu miliard souborů. Je velmi podobný jiným souborovým systémům včetně Ceph, GlusterFS a HDFS. Lze jej snadno integrovat do cloudu a dosáhnout rychlého přístupu bez jakýchkoli změn na straně klienta. Má bohatou sadu funkcí, včetně automatického převzetí služeb při selhání hlavních serverů, vypršení platnosti automatického vstupu TTL, paralelního zpracování, zpracování velkých a malých souborů, přístupu k libovolnému souboru s nízkou latencí a mnoha dalších.

V tomto tutoriálu vám ukážeme, jak nastavit cluster SeaweedFS na serveru Ubuntu 20.04.

Předpoklady

  • Server se serverem Ubuntu 20.04.
  • Na serveru je nakonfigurováno heslo uživatele root.

Začínáme

Před spuštěním se doporučuje aktualizovat systémové balíčky na nejnovější verzi. Můžete je aktualizovat pomocí následujícího příkazu:

apt-get update -y

Jakmile budou všechny balíčky aktualizovány, budete muset na váš server nainstalovat některé další požadované závislosti. Všechny je můžete nainstalovat spuštěním následujícího příkazu:

apt-get install build-essential autoconf automake gdb git libffi-dev zlib1g-dev libssl-dev unzip -y

Po instalaci všech závislostí musíte také nainstalovat Golang do vašeho systému. Můžete jej nainstalovat pomocí následujícího příkazu:

apt-get install golang -y

Po dokončení instalace můžete přejít k dalšímu kroku.

Instalovat SeaweedFS

Ve výchozím nastavení není SeaweedFS k dispozici ve výchozím úložišti Ubuntu 20.04. Budete jej tedy muset stáhnout a zkompilovat ze zdroje.

Nejprve si stáhněte nejnovější verzi SeaweedFS z úložiště Git pomocí následujícího příkazu:

klon git https://github.com/chrislusf/seaweedfs.git

Po dokončení stahování změňte adresář na SeaweedFS a nainstalujte jej pomocí následujícího příkazu:

cd ~/seaweedfs
provést instalaci

Výše uvedený příkaz nainstaluje binární soubor SeaweedFS do adresáře ~/go/bin/. Nyní zkopírujte nainstalovaný binární soubor do adresáře /usr/loca/bin pomocí následujícího příkazu:

cp ~/go/bin/weed /usr/local/bin/

Dále ověřte nainstalovanou verzi SeaweedFS pomocí následujícího příkazu:

weed verze

Měli byste získat následující výstup:

verze 30 GB 2.14 4211601e linux amd64

Jakmile budete hotovi, můžete přejít k dalšímu kroku.

Vytvoření souboru Systemd Service pro hlavní server

Nejprve budete muset vytvořit soubor služby systemd pro správu služby SeaweedFS. Můžete jej vytvořit spuštěním následujícího příkazu:

nano /etc/systemd/system/seaweedmaster.service

Přidejte následující řádky:

[Unit]Description=SeaweedFS MasterAfter=network.target[Service]Type=simpleUser=rootGroup=rootExecStart=/usr/local/bin/weed masterWorkingDirectory=/usr/local/bin/SyslogIdentifier=seaweedls]-master[Install WantedBy=multi-user.target

Uložte a zavřete soubor a poté znovu načtěte démona systemd pomocí následujícího příkazu:

systemctl daemon-reload

Dále spusťte službu SeaweedFS a povolte její spuštění při restartu systému pomocí následujícího příkazu:

systemctl spustit seaweedmaster
systemctl povolit seaweedmaster

Stav hlavního serveru SeaweedFS můžete ověřit pomocí následujícího příkazu:

stav systemctl seaweedmaster

Měli byste získat následující výstup:

? seaweedmaster.service - SeaweedFS Master Načteno:načteno (/etc/systemd/system/seaweedmaster.service; zakázáno; přednastaveno dodavatelem:povoleno) Aktivní:aktivní (běží) od St 2020-12-09 08:30:06 UTC; Před 3s Hlavní PID:25740 (tráva) Úkoly:10 (limit:4691) Paměť:8,0M CGroup:/system.slice/seaweedmaster.service ??25740 /usr/local/bin/weed masterDec 09 08:30:004 ubuntu seaweedfs-master[25740]:I1209 08:30:06 25740 master_server.go:107] Limit velikosti objemu je 30 000 MBDec 09 08:30:06 ubuntu2004 seaweedfs-master[2516295go:04:0 :192] adminScripts:Dec 09 08:30:06 ubuntu2004 seaweedfs-master[25740]:I1209 08:30:06 25740 master.go:122] Start Seaweed Master 30GB 2.14 42308.03 06 ubuntu2004 seaweedfs-master[25740]:I1209 08:30:06 25740 raft_server.go:70] Spuštění RaftServeru s 69.87.216.36:9333Dec 09 08:30-2051 09.09. 25740 raft_server.go:129] aktuální vedoucí clusteru:Dec 09 08:30:06 ubuntu2004 seaweedfs-master[25740]:I1209 08:30:06 25740 master.go:146] Spusťte Seaweed 2e 12e, 14pc server na 30 GB 09 08:30:08 ubuntu2004 seaweedfs-master[25740]:I1209 08 :30:08 25740 masterclient.go:78] Nebyl nalezen žádný stávající vůdce! Prosinec 09 08:30:08 ubuntu2004 seaweedfs-master[25740]:I1209 08:30:08 25740 raft_server.go:154] Inicializace nového 9Dec clusteru 30:08 ubuntu2004 seaweedfs-master[25740]:I1209 08:30:08 25740 master_server.go:141] událost změny vedoucího:=> 69.87.216.36:9333Dec 09 09 0258:30 sec 08:30:08 25740 master_server.go:143] [ 69.87.216.36:9333 ] 69.87.216.36:9333 se stává>

Jakmile budete hotovi, můžete přejít k dalšímu kroku.

Vytvoření a spuštění svazkových serverů

V tomto okamžiku se hlavní server spustí a čeká na svazky. Nejprve vytvořte dva adresáře svazků pomocí následujícího příkazu:

mkdir /mnt/{vol1,vol2}

Dále vytvořte soubor služby systemd pro správu svazku1 pomocí následujícího příkazu:

nano /etc/systemd/system/seaweedvolume1.service

Přidejte následující řádky:

[Unit]Description=SeaweedFS VolumeAfter=network.target[Service]Type=simpleUser=rootGroup=rootExecStart=/usr/local/bin/weed volume -dir="/mnt/vol1" -max=10 -mserver="69.87.216.36:9333" -port=8081WorkingDirectory=/usr/local/bin/SyslogIdentifier=seaweedfs-volume[Install]WantedBy=multi-user.target

Uložte a zavřete soubor a poté znovu načtěte démona systemd pomocí následujícího příkazu:

systemctl daemon-reload

Dále spusťte službu Volume1 a povolte její spuštění při restartu systému:

systemctl spustit seaweedvolume1.service
systemctl povolit seaweedvolume1.service

Stav služby Volume1 můžete ověřit pomocí následujícího příkazu:

stav systemctl seaweedvolume1

Měli byste dostat následující výstup:

? seaweedvolume1.service - SeaweedFS Volume Loaded:načteno (/etc/systemd/system/seaweedvolume1.service; zakázáno; přednastaveno dodavatelem:povoleno) Aktivní:aktivní (běží) od St 2020-12-09 08:31:14 UTC; Před 4s Hlavní PID:25870 (plevel) Úkoly:9 (limit:4691) Paměť:7,3M CGroup:/system.slice/seaweedvolume1.service ??25870 /usr/local/bin/weed volume -dir=/mnt/vol1 -max=10 -mserver=69.87.216.36:9333 -port=8081Dec 09 08:31:14 ubuntu2004 systemd[1]:Spuštěno SeaweedFS Volume.Dec 09 08:31:14 ubuntu2004:01volume9 seaweed[08:31:14 seaweed] 31:14 25870 file_util.go:23] Složka /mnt/vol1 Oprávnění:-rwxr-xr-xDec 09 08:31:14 ubuntu2004 seaweedfs-volume[25870]:I1209 08:258:01 disk_go:14 Obchod byl zahájen dir:/mnt/vol1 s 0 svazky>Dec 09 08:31:14 ubuntu2004 seaweedfs-volume[25870]:I1209 08:31:14 25870 disk_location.go:157] Obchod byl zahájen dne dir:/mnt with 0 ec shardsDec 09 08:31:14 ubuntu2004 seaweedfs-volume[25870]:I1209 08:31:14 25870 volume_grpc_client_to_master.go:52] Spuštění serveru se seedem 204. prosince:1. prosince 2004 25870]:I1209 08:31:14 25870 volume.go:334] Spusťte server pro objem mořských řas 30 GB 2.14 4211601e na 0.0.>De c 09 08:31:14 ubuntu2004 seaweedfs-volume[25870]:I1209 08:31:14 25870 volume_grpc_client_to_master.go:114] Prezenční signál na:69.87.216.36:9 

Dále vytvořte soubor služby systemd pro Volume2 pomocí následujícího příkazu:

nano /etc/systemd/system/seaweedvolume2.service

Přidejte následující řádky:

[Unit]Description=SeaweedFS VolumeAfter=network.target[Service]Type=simpleUser=rootGroup=rootExecStart=/usr/local/bin/weed volume -dir="/mnt/vol2" -max=5 -mserver="69.87.216.36:9333" -port=8080WorkingDirectory=/usr/local/bin/SyslogIdentifier=seaweedfs-volume2[Install]WantedBy=multi-user.target

Uložte a zavřete soubor a poté znovu načtěte démona systemd pomocí následujícího příkazu:

systemctl daemon-reload

Dále spusťte službu Volume2 a povolte její spuštění při restartu systému:

systemctl spustit seaweedvolume2.service
systemctl povolit seaweedvolume2.service

Stav služby Volume2 můžete ověřit pomocí následujícího příkazu:

stav systemctl seaweedvolume2

Měli byste získat následující výstup:

? seaweedvolume2.service - SeaweedFS Volume Loaded:načteno (/etc/systemd/system/seaweedvolume2.service; zakázáno; přednastaveno dodavatelem:povoleno) Aktivní:aktivní (běží) od St 2020-12-09 08:32:03 UTC; Před 4s Hlavní PID:25921 (plevel) Úkoly:10 (limit:4691) Paměť:7,7M CGroup:/system.slice/seaweedvolume2.service ??25921 /usr/local/bin/weed volume -dir=/mnt/vol2 -max=5 -mserver=69.87.216.36:9333 -port=8080Dec 09 08:32:03 ubuntu2004 systemd[1]:Spuštěno SeaweedFS Volume.Dec 09 08:32:03 ubuntu2004-voluu209saweedfs] 32:03 25921 file_util.go:23] Složka /mnt/vol2 Oprávnění:-rwxr-xr-xDec 09 08:32:03 ubuntu2004 seaweedfs-volume2[25921]:I1209 08:2592:03 Obchod začal dne dir:/mnt/vol2 s 0 svazky>prosinec 09 08:32:03 ubuntu2004 seaweedfs-volume2[25921]:I1209 08:32:03 25921 disk_location.go:157] Store/volume byl spuštěn dne dir:/mnt with 0 ec Shar>Dec 09 08:32:03 ubuntu2004 seaweedfs-volume2[25921]:I1209 08:32:03 25921 volume.go:334] Spustit server s mořskými řasami 30 GB 2.14 90 3081:303 ubuntu2004 seaweedfs-volume2[25921]:I1209 08:32:03 25921 volume_grpc_client_to_master.go:52] Spuštění serveru svazku se semenem ma>D ec 09 08:32:03 ubuntu2004 seaweedfs-volume2[25921]:I1209 08:32:03 25921 volume_grpc_client_to_master.go:114] Prezenční signál na:69.87:933.36

Jakmile budete hotovi, můžete přejít k dalšímu kroku.

Zapsat ukázkový soubor do svazku

Nejprve budete muset odeslat požadavek HTTP POST, PUT nebo GET, abyste získali ID souboru a adresu URL serveru svazku. Můžete to udělat pomocí následujícího příkazu:

curl http://localhost:9333/dir/assign

V následujícím výstupu byste měli vidět ID souboru a adresu URL serveru svazku:

{"fid":"7,016bad1bc0","url":"69.87.216.36:8080","publicUrl":"69.87.216.36:8080","count":1}

Dále přidejte ukázkový soubor s názvem file1.png do svazku pomocí ID souboru a adresy URL svazku, jak je uvedeno níže:

curl -F [e-mail chráněný]/root/file1.png http://69.87.216.36:8080/7,016bad1bc0

Měli byste získat následující výstup:

{"name":"file1.png","size":74912,"eTag":"7a6511cbeda98ca00346544ca2968046"}

Jakmile nahrajete soubor na svazek, můžete si jej přečíst pomocí následujícího příkazu:

curl http://69.87.216.36:9333/dir/lookup?volumeId=7

Měli byste získat následující výstup:

{"volumeId":"7","locations":[{"url":"69.87.216.36:8080","publicUrl":"69.87.216.36:8080"}]}

Jakmile budete hotovi, můžete přejít k dalšímu kroku.

Přístup k SeaweedFS

Nyní můžete přistupovat k SeaweedFS pomocí adresy URL http://your-server-ip:8080/7,016bad1bc0 a zobrazit soubor, který jste uložili v úložišti objektů SeaweedFS:

Svůj soubor, který jste nahráli dříve, můžete vidět na výše uvedené obrazovce.

Závěr

Gratulujeme! úspěšně jste nainstalovali a nakonfigurovali cluster SeaweedFS na serveru Ubuntu 20.04. Další informace naleznete na stránce dokumentace SeaweedFS. Pokud máte nějaké dotazy, neváhejte se mě zeptat.


Ubuntu
  1. Jak nainstalovat a nakonfigurovat Redis na Ubuntu 18.04

  2. Jak nainstalovat a nakonfigurovat Redmine na Ubuntu 18.04

  3. Jak nainstalovat a nakonfigurovat Sambu na Ubuntu 18.04

  1. Jak nainstalovat a nakonfigurovat Redis na Ubuntu 20.04

  2. Jak nainstalovat a nakonfigurovat Jenkins na Ubuntu 20.04

  3. Jak nainstalovat a nakonfigurovat Askbot na Ubuntu 16.04

  1. Jak nainstalovat a nakonfigurovat MongoDB na Ubuntu 14.04

  2. Jak nainstalovat a nakonfigurovat Solr 6 na Ubuntu 16.04

  3. Jak nainstalovat a nakonfigurovat GitLab na Ubuntu 16.04