SequoiaDB巨杉數據庫入門:快速搭建流媒體服務器

使用SequoiaDB的分佈式文件系統搭建流媒體服務器node

介紹

現在使用移動互聯網的年輕人開始愈來愈多使用短視頻展現自我,而流媒體則是支撐在線視頻播放的核心技術。當咱們開始構建流媒體站點時,每每面臨最大的難題在於大量媒體音視頻文件所佔用的海量磁盤空間。譬如說,一個標準高清短視頻可能須要30-50MB的存儲空間,那麼存儲百萬短視頻的系統就須要幾十TB的存儲。而若是咱們更進一步須要播放高清電影等視頻內容,每一個電影須要大概2GB左右的空間,十萬部各類電影劇集則須要200TB的存儲容量。linux

爲了知足如此海量的音視頻文件存儲需求,大部分流媒體服務器使用外接NAS甚至分佈式文件系統進行PB級海量數據存儲。git

經過閱讀本文,用戶能夠了解到如何使用SequoiaDB巨杉數據庫的分佈式文件系統功能,爲開源流媒體服務器Emby構建後端可彈性擴展的分佈式存儲。github

Emby是一款被普遍使用的流媒體服務器,容許用戶簡單一鍵式部署本身的視頻播放系統,將家庭內部或企業存儲的圖片、音視頻文件進行統一管理,並可以在幾乎所有設備上在線播放觀看。數據庫

用戶能夠在Emby的服務端設置服務器路徑指定其所訪問的文件系統。通常來講,使用PC機或NAS設備內置的磁盤存儲容量有限,所以若是但願將Emby後端的存儲使用分佈式文件系統替換傳統內置盤,可使用SequoiaDB所提供的分佈式文件系統SequoiaFS,提供用戶近乎無限可彈性擴展存儲容量。後端

安裝SequoiaDB

本文使用Linux Ubuntu Server 18.10做爲服務器,SequoiaDB巨杉數據庫版本爲3.2。瀏覽器

本教程默認使用sudo用戶名密碼爲「sequoiadb:sequoiadb」,默認home路徑爲/home/sequoiadb。服務器

對於使用CentOS等其餘Linux版本的用戶,本文所描述的流程可能略有不一樣,須要根據實際狀況自行調整。分佈式

下載SequoiaDB標準虛擬機模板的用戶能夠直接跳過該安裝部署步驟。ui

更多安裝細節能夠查看SequoiaDB信息中心

1) 下載並安裝SequoiaDB巨杉數據庫

$ wget cdn.sequoiadb.com/images/sequ…

$ tar -zxvf sequoiadb-3.2-linux_x86_64.tar.gz

$ cd sequoiadb-3.2/

$ sudo ./setup.sh

以後一直回車確認各個默認參數便可。

2) 使用數據庫實例用戶建立默認實例

# 默認密碼使用「sdbadmin」

$ sudo su sdbadmin

$ /opt/sequoiadb/tools/deploy/quickDeploy.sh

3) 使用root用戶建立SequoiaFS文件系統

# 確認fuse內核組件被安裝,且版本大於2.9.4。

$ which fusermount

/bin/fusermount

$ fusermount -V

fusermount version: 2.9.8

# 建立名爲Nas.Storage的集合容器

$ /opt/sequoiadb/bin/sdb "db=new Sdb(); db.createCS('Nas'); db.Nas.createCL('Storage');"

# 建立mountpoint掛載點目錄

$ mkdir -p /opt/sequoiadb/mountpoint

# 退出sdbadmin用戶,回到默認sequoiadb用戶

$ exit

# 密碼默認爲「sequoiadb」

$ sudo ln -s /opt/sequoiadb/bin/sequoiafs /usr/local/bin/sequoiafs

# 爲fuse內核開啓多用戶訪問權限

$ sudo sed -i "s/\#user_allow_other/user_allow_other/g" /etc/fuse.conf

# 建立sequoiafs所需的目錄與空配置文件

$ sudo mkdir -p /opt/sequoiafs/conf/NasStorage/

$ sudo mkdir -p /opt/sequoiafs/log/NasStorage/

$ sudo touch /opt/sequoiafs/conf/NasStorage/sequoiafs.conf

$ sudo chown -R sdbadmin:sdbadmin_group /opt/sequoiafs

# 切換回數據庫實例用戶,密碼默認爲「sdbadmin」

$ sudo su sdbadmin

# 建立sequoiafs文件系統

$ sequoiafs /opt/sequoiadb/mountpoint -i localhost:11810 -l Nas.Storage --autocreate -c /opt/sequoiafs/conf/NasStorage/ --diagpath /opt/sequoiafs/log/NasStorage/ -o big_writes -o auto_unmount -o max_write=131072 -o max_read=131072 -o allow_other

# 檢查文件系統加載正確

$ mount

sequoiafs on /opt/sequoiadb/mountpoint type fuse.sequoiafs (rw,nosuid,nodev,relatime,user_id=1001,group_id=1001,allow_other,max_read=131072)

安裝Emby

本教程使用Emby版本爲4.1.1。

1)登陸Emby官網emby.media下載安裝包

或登陸sequoiadb用戶,使用wget下載安裝包

$ wget https://github.com/MediaBrowser/Emby.Releases/releases/download/4.1.1.0/emby-server-deb_4.1.1.0_amd64.deb

2)安裝Emby Server

# 密碼默認使用「sequoiadb」

$ sudo dpkg -i emby-server-deb_4.1.1.0_amd64.deb

3)打開瀏覽器,登陸Linux服務器8096端口

4)按照嚮導進行配置,用戶名密碼建議均使用sdbadmin

5)在添加媒體頁面添加SequoiaFS掛載點做爲外接分佈式文件系統

6)在添加媒體庫頁面,內容類型選擇Movies,輸入顯示名後點擊目錄旁邊的「+」號

7)使用/opt/sequoiadb/mountpoint做爲分佈式文件系統掛載點路徑,並點擊OK

8)點擊OK進入下一步配置

9)按照嚮導完成後續配置

上傳並使用流媒體服務器

1)將電影視頻拷貝入/opt/sequoiadb/mountpoint目錄

sftp> put YourName.mp4

Uploading YourName.mp4 to /opt/sequoiadb/mountpoint/YourName.mp4

sftp> put 教父BD雙語雙字.mkv

Uploading 教父BD雙語雙字.mkv to /opt/sequoiadb/mountpoint/教父BD雙語雙字.mkv

# 文件系統中經過ls能夠看到文件大小

$ pwd

/opt/sequoiadb/mountpoint

$ ls -la

total 3978136

drwxr-xr-x 2 sdbadmin sdbadmin_group 4096 Jan 1 1970 .

drwxr-xr-x 23 sdbadmin sdbadmin_group 4096 May 15 10:13 ..

-rw-r--r-- 1 sdbadmin sdbadmin_group 761962089 May 15 11:03 YourName.mp4

-rw-r--r-- 1 sdbadmin sdbadmin_group 3311639424 May 15 11:12 教父BD雙語雙字.mkv

2)在Emby首頁的媒體庫點擊「刷新元數據」進行後臺元數據同步

進入電影庫能夠看到上傳的電影

3)點擊電影能夠在線播放

結論

SequoiaDB巨杉數據庫做爲一款分佈式數據庫,提供包括結構化SQL、與非結構化文件系統和對象存儲的機制。

使用SequoiaDB的非結構化存儲能力,用戶能夠輕鬆基於分佈式文件系統接口構建多媒體應用程序,並保持與傳統Posix文件系統的完整兼容。

本文向讀者展現瞭如何經過SequoiaDB的文件系統接口能力構建與Posix文件系統兼容的分佈式文件系統,同時搭建Emby流媒體服務器。經過使用基於SequoiaDB的分佈式文件系統能力,流媒體服務器可以使後臺的存儲空間獲得近無限的彈性擴展能力。

相關文章
相關標籤/搜索