SequoiaDB巨杉資料庫入門:快速搭建流媒體伺服器
使用SequoiaDB的分散式檔案系統搭建流媒體伺服器
介紹
如今使用移動網際網路的年輕人開始越來越多使用短視訊展示自我,而流媒體則是支撐線上視訊播放的核心技術。當我們開始構建流媒體站點時,往往面臨最大的難題在於大量媒體音視訊檔案所佔用的海量磁碟空間。譬如說,一個標準高清短視訊可能需要30-50MB的儲存空間,那麼儲存百萬短視訊的系統就需要幾十TB的儲存。而如果我們更進一步需要播放高清電影等視訊內容,每個電影需要大概2GB左右的空間,十萬部各種電影劇集則需要200TB的儲存容量。
為了滿足如此海量的音視訊檔案儲存需求,大部分流媒體伺服器使用外接NAS甚至分散式檔案系統進行PB級海量資料儲存。
通過閱讀本文,使用者可以瞭解到如何使用SequoiaDB巨杉資料庫的分散式檔案系統功能,為開源流媒體伺服器Emby構建後端可彈性擴充套件的分散式儲存。
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 標準虛擬機器模板的使用者可以直接跳過該安裝部署步驟。
更多安裝細節可以檢視SequoiaDB資訊中心
1) 下載並安裝SequoiaDB巨杉資料庫
$ wget http://cdn.sequoiadb.com/images/sequoiadb/x86_64/sequoiadb-3.2-linux_x86_64.tar.gz $ 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官網 https://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的分散式檔案系統能力,流媒體伺服器能夠使後臺的儲存空間得到近無限的彈性擴充套件能力。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31534344/viewspace-2645758/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- SequoiaDB 巨杉資料庫資料庫
- 【巨杉資料庫SequoiaDB】巨杉Tech | 四步走,快速診斷資料庫叢集狀態資料庫
- 巨杉Tech|SequoiaDB 巨杉資料庫高可用容災測試資料庫
- 巨杉Tech | 使用 SequoiaDB 分散式資料庫搭建JIRA流程管理系統分散式資料庫
- 【巨杉資料庫Sequoiadb】【諮詢】【集合】mysql端刪表卡住資料庫MySql
- 【巨杉資料庫Sequoiadb】【諮詢】【資料操作】【索引】高併發 insert資料庫索引
- SequoiaDB巨杉資料庫攜手民生銀行分散式資料管理平臺資料庫分散式
- 巨杉資料庫入選中國資料管理生態報告資料庫
- 巨杉資料庫:金融級資料庫未來方向資料庫
- nginx+ffmpeg搭建流媒體伺服器(直播流)Nginx伺服器
- 巨杉資料庫入選中國資料管理分析平臺格局報告資料庫
- 1.RTMP流媒體伺服器搭建伺服器
- vlc簡單搭建流媒體伺服器伺服器
- nginx上搭建HLS流媒體伺服器Nginx伺服器
- 巨杉核心筆記(一)| SequoiaDB 會話(session)簡介筆記會話Session
- 自媒體入門基礎知識,教你快速入門自媒體平臺
- 巨杉資料庫完成C輪數千萬美元融資資料庫
- 【操作教程】利用YCSB測試巨杉資料庫效能資料庫
- 基於SRS搭建RTMP直播流媒體伺服器伺服器
- 使用Nginx搭建rtmp流媒體伺服器筆記Nginx伺服器筆記
- Redis快取資料庫-快速入門Redis快取資料庫
- SequoiaDB資料庫之體驗sql功能資料庫SQL
- 巨杉資料庫入選2022愛分析·資料智慧廠商全景報告資料庫
- SequoiaDB資料庫之SequoiaDB web安裝資料庫Web
- Gartner 2018 資料庫系列報告發布巨杉資料庫連續兩年入選資料庫
- 使用PHP結合Ffmpeg快速搭建流媒體服務實踐PHP
- Elasticsearch和向量資料庫的快速入門Elasticsearch資料庫
- 巨杉資料庫攜手廣發證券入選2023大資料“星河”案例資料庫大資料
- 巨杉資料庫入選網際網路週刊“2022中國資料庫產業排行榜”資料庫產業
- 基於 SRS+NG 搭建 HLS 直播流媒體伺服器伺服器
- 搭建一個點播跟直播流媒體伺服器玩玩伺服器
- 快速入門大資料訊息中介軟體大資料
- 自媒體必備的免費網站,讓你快速入門自媒體網站
- 文化媒體系統如何快速搭建
- SequoiaDB資料庫之建議資料庫
- C#快速入門教程(27)—— SQL Server資料庫C#SQLServer資料庫
- 什麼是流媒體伺服器?伺服器
- 用VLC做流媒體伺服器伺服器