.sh文件是什么语言_FastDFS分布式文件系统的搭建安装
FastDFS
很久之前,對上傳的文件可能是存儲在數據庫,在數據庫中存儲路徑,保存文件的二進制數據,隨著用戶上傳的文件增加,數據庫數據越來越多。這時,可以使用分布式文件系統,將用戶上傳的文件例如圖片,pdf,word,excel,視頻等存儲在文件服務器上。
FastDFS是一個開源的輕量級分布式文件系統,它對文件進行管理,功能包括:文件存儲、文件同步、文件訪問(文件上傳、文件下載)等,解決了大容量存儲和負載均衡的問題。特別適合以文件為載體的在線服務,如相冊網站、視頻網站等等。
FastDFS為互聯網量身定制,充分考慮了冗余備份、負載均衡、線性擴容等機制,并注重高可用、高性能等指標,使用FastDFS很容易搭建一套高性能的文件服務器集群提供文件上傳、下載等服務。
FastDFS用C語言實現,支持Linux、FreeBSD、MacOS等類UNIX系統。FastDFS類似google FS,屬于應用級文件系統,不是通用的文件系統,只能通過專有API訪問,目前提供了C和Java SDK,以及PHP擴展SDK。FastDFS可以看做是基于文件的key value存儲系統,key為文件ID,value為文件內容,因此稱作分布式文件存儲服務更為合適。
FastDFs架構
FastDFS 系統有三個角色:跟蹤服務器(Tracker Server)、存儲服務器(Storage Server)和客戶端(Client)。
Tracker Server:跟蹤服務器,主要做調度工作,起到均衡的作用;負責管理所有的 storage server和 group,每個 storage 在啟動后會連接 Tracker,告知自己所屬 group 等信息,并保持周期性心跳。
Storage Server:存儲服務器,主要提供容量和備份服務;以 group 為單位,每個 group 內可以有多臺 storage server,數據互為備份。
Client:客戶端,上傳下載數據的服務器,也就是我們自己的項目所部署在的服務器。
安裝搭建
安裝主要步驟
- 安裝前首先安裝相關的依賴,yum install make cmake gcc gcc-c++
- 安裝libfastcommon
- 安裝fastDFS
- 配置跟蹤器(tracker)
- 配置存儲器(storage)
- 環境搭建完成,可以進行測試環境是否搭建成功
- 跟蹤服務器和存儲服務器安裝nginx
- 啟動和關閉服務順序,跟蹤器,存儲器,Nginx
這里安裝使用的是CentOS7。
用虛擬軟件VirtualBox準備了兩臺機器,192.168.43.101,192.168.43.111,在兩臺機器中都先安裝相關依賴。yum install make cmake gcc gcc-c++
首先安裝libfastcommon,兩臺服務器都一樣的操作。
1.下載libfastcommon安裝包,放入/usr/local/software(可自己選擇路徑)
wget https://github.com/happyfish100/libfastcommon/archive/V1.0.7.tar.gz2.解壓,新建/usr/local/fastDfs目錄,解壓至該目錄
tar -zxvf V1.0.7.tar.gz -C /usr/local/fastDfs3.編譯、安裝
cd /usr/local/fastDfs/libfastcommon-1.0.7./make.sh./make.sh install4.編譯安裝時,程序會在/usr/lib64創建文件,但是FastDFS主程序目錄是/usr/local/lib,所以我們需要創建/usr/lib64/下的一些核心執行程序的軟連接文件。
mkdir /usr/local/lib/ ln -s /usr/lib64/libfastcommon.so /usr/local/lib/libfastcommon.so ln -s /usr/lib64/libfastcommon.so /usr/lib/libfastcommon.so ln -s /usr/lib64/libfdfsclient.so /usr/local/lib/libfdfsclient.soln -s /usr/lib64/libfdfsclient.so /usr/lib/libfdfsclient.so安裝FastDFS
1.下載安裝包至/usr/local/software
wget https://github.com/happyfish100/fastdfs/archive/V5.05.tar.gz2.解壓
tar -zxvf V5.05.tar.gz -C /usr/local/fastDfs/3.編譯安裝
cd /usr/local/fastDfs//usr/local/fastDfs/./make.sh./make.sh install4.編譯安裝時,生成了許多的目錄。
5.默認安裝方式,安裝后的相應文件與目錄
1)服務腳本,在/etc/init.d目錄下
/etc/init.d/fdfs_storaged/etc/init.d/fdfs_tracker2)配置文件樣例,在/etc/fdfs目錄下
/etc/fdfs/client.conf.sample/etc/fdfs/storage.conf.sample/etc/fdfs/tracker.conf.sample3)命令行工具:/usr/bin/目錄下
6.FastDFS 服務腳本設置的bin目錄是/usr/local/bin, 但實際命令安裝在 /usr/bin/ 下。所有我們要修改下。
兩種方式:
一是修改FastDFS 服務腳本中相應的命令路徑,也就是把 /etc/init.d/fdfs_storaged 和 /etc/init.d/fdfs_tracker 兩個腳本中的 /usr/local/bin 修改成 /usr/bin。
# vim fdfs_trackerd 使用查找替換命令進統一修改:%s+/usr/local/bin+/usr/bin # vim fdfs_storaged 使用查找替換命令進統一修改:%s+/usr/local/bin+/usr/bin
二是建立 /usr/bin 到 /usr/local/bin 的軟鏈接。
ln -s /usr/bin/fdfs_trackerd /usr/local/binln -s /usr/bin/fdfs_storaged /usr/local/binln -s /usr/bin/stop.sh /usr/local/binln -s /usr/bin/restart.sh /usr/local/bin這里采用第一種方式。對兩臺機器的服務腳本都進行替換。
配置FastDFS跟蹤器(Tracker)
1.在其中一臺機器配置Tracker。進入 /etc/fdfs目錄,配置跟蹤器文件,把tracker.conf.simple文件進行copy一份,去修改tracker.conf文件
cd /etc/fdfs/vim tracker.conf2.修改配置
創建新的目錄,/home/fast/tracker,將base_path修改為自己創建的目錄/home/fast/tracker。
其他配置為默認,不作修改。
可以看出Tracker跟蹤器的默認端口為22122。
5.防火墻添加端口
firewall-cmd --zone=public --add-port=22122/tcp --permanentsystemctl reload firewalldsystemctl restart firewalld.service6.啟動Tracker
/etc/init.d/fdfs_trackerd start #啟動/etc/init.d/fdfs_trackerd stop #關閉或systemctl start fdfs_trackerd.servicesystemctl stop fdfs_trackerd.service查看進程:
ps -ef | grep fdfs7.啟動成功后,進入配置的tracker的目錄
cd /home/fast/tracker/ && ll生成的data和logs分別表示:
|__data | |__storage_groups.dat:存儲分組信息 | |__storage_servers.dat:存儲服務器列表 |__logs | |__trackerd.log: tracker server 日志文件8.設置開機服務自啟動
chkconfig fdfs_trackerd on 或者:vim /etc/rc.d/rc.local 加入配置:/etc/init.d/fdfs_trackerd start至此Tracker配置完成
配置FastDFS存儲器(Storage)
1.在另外一臺機器中,同樣進入 /etc/fdfs目錄,修改存儲器配置文件,把storage.conf.simple文件進行copy一份,修改storage.conf文件。
cd /etc/fdfscp storage.conf.sample storage.conf2.修改配置
vim storage.conf創建新的目錄,/home/fast/storage,將base_path修改為自己創建的目錄/home/fast/storage。
修改base_path0路徑也為/home/fast/storage。
配置tracker服務器的IP地址,端口號。
3.防火墻配置端口
storage的默認端口為23000
firewall-cmd --zone=public --add-port=23000/tcp --permanentsystemctl reload firewalldsystemctl restart firewalld.service4.啟動storage
/etc/init.d/fdfs_storaged start #啟動/etc/init.d/fdfs_storaged stop #關閉或systemctl start fdfs_storaged.servicesystemctl stop fdfs_storaged.service查看進程
ps -ef|grep fdfs5.查看tracker和storage是否在通信
/usr/bin/fdfs_monitor /etc/fdfs/storage.conf6.設置服務開機自啟動
chkconfig fdfs_storaged on 或者:vim /etc/rc.d/rc.local 加入配置:/etc/init.d/fdfs_storaged start測試上傳文件
1.可以在配臺機器做client端,在這里用tracker服務器來測試上傳。到/etc/fdfs/目錄。把client.conf.simple文件進行copy一份,去修改client.conf文件。
cp client.conf.sample client.conf將base_path修改為自己創建的目錄/home/fast/client,修改tracker_server信息。
2.到usr/bin目錄下
cd /usr/binfdfs_upload_file /etc/fdfs/client.conf /usr/local/software/12.png上傳完成,并返回一串字符串:
group1/M00/00/00/wKgrb15zfgSAJ0RZAAZLsfRo4s0514.png
group1:組名
M00:磁盤
00:目錄
wKgrb15zfgSAJ0RZAAZLsfRo4s0514.png:文件名
與Nginx的整合
1.關閉FastDFS的Tracker和Storage。在存儲Storage端安裝fastdfs-nginx-module,進入/usr/local/software目錄,下載fastdfs-nginx-module。
#下載wget https://github.com/happyfish100/fastdfs-nginx-module/archive/5e5f3566bbfa57418b5506aaefbe107a42c9fcb1.zip#解壓unzip 5e5f3566bbfa57418b5506aaefbe107a42c9fcb1.zip#重命名 mv fastdfs-nginx-module-5e5f3566bbfa57418b5506aaefbe107a42c9fcb1 /usr/local/fastDfs/fastdfs-nginx-module-master2.安裝nginx
安裝nignx,進入/usr/local/software目錄,下載nginx
wget -c https://nginx.org/download/nginx-1.12.1.tar.gz安裝相關的依賴
# gcc 安裝 yum install gcc-c++#PCRE pcre-devel 安裝yum install -y pcre pcre-devel#zlib 安裝 yum install -y zlib zlib-devel#OpenSSL 安裝 yum install -y openssl openssl-devel解壓nginx
tar -zxvf nginx-1.12.1.tar.gz -C /usr/local今入nginx-1.12.1目錄,添加配置
cd nginx-1.12.1/./configure --add-module=/usr/local/fastDfs/fastdfs-nginx-module-master/src編譯,安裝
make && make install3.復制fastdfs-nginx-module-master的配置文件至/etc/fdfs目錄下
cp /usr/local/fastDfs/fastdfs-nginx-module-master/src/mod_fastdfs.conf /etc/fdfs/4.修改mod_fastdfs.conf
5.復制FastDFS里面的兩個配置文件至/etc/fdfs目錄下
cp /usr/local/fastDfs/fastdfs-5.05/conf/http.conf /etc/fdfscp /usr/local/fastDfs/fastdfs-5.05/conf/mime.types /etc/fdfs6.創建一個軟連接,在/fastdfs/storage文件存儲目錄下,創建軟連接,將其鏈接到實際存放數據的目錄。
ln -s /home/fast/storage/data /home/fast/storage/data/M007.修改nginx的配置
/usr/local/nginx/confvim nginx.conf8.防火墻添加端口
firewall-cmd --zone=public --add-port=8888/tcp --permanentsystemctl reload firewalldsystemctl restart firewalld.service啟動nginx
cd usr/local/nginx/sbin./nginx啟動FastDFS的Tracker和Storage。
在瀏覽器訪問之前上傳的圖片:
http://192.168.43.111:8888/group1/M00/00/00/wKgrb15zfgSAJ0RZAAZLsfRo4s0514.png至此配置完成了,配置過程還是比較復雜的。后續再講FastDFS的其他技術知識。
總結
以上是生活随笔為你收集整理的.sh文件是什么语言_FastDFS分布式文件系统的搭建安装的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 王者荣耀如何将一个手机的号转到另一个手机
- 下一篇: java信息管理系统总结_java实现科