FastDFS 分布式的文件存儲環境搭建

jopen 9年前發布 | 14K 次閱讀 分布式/云計算/大數據

FastDFS 分布式的文件存儲環境搭建


FastDFS環境安裝包地址:http://download.csdn.net/detail/rzg813/9273935 (包含6個)

在Linux CentOS 6.5 環境下搭建FastDFS集群環境步驟:
注意,因為搭建此環境可能會多次反復操作,所以最好把基本軟件存儲到掛載硬盤中。
1. 相關軟件包
FastDFS:http://sourceforge.net/projects/fastdfs/files/ 此處我們使用FastDFS_v5.02.tar.gz版本
libfastcommon:https://github.com/happyfish100/libfastcommon 可以使用git clone 到服務器
nginx:此處使用nginx-1.8.0.tar.gz
fastdfs-nginx-module:此處fastdfs-nginx-module_v1.16.tar.gz
nginx的依賴包:pcre-8.36.tar.gz、zlib-1.2.8.tar.gz

  1. 掛載硬盤命令
##掛載硬盤

mount /dev/xvdb /wcnm
  1. 拷貝文件
##拷貝文件
//此目錄為掛載硬盤的軟件存儲目錄
cd /wcnm/soft_backup

//git clone 到本地的文件
cp -rf  libfastcommon /usr/src/

tar zxvf FastDFS_v5.02.tar.gz -C /usr/src/

tar zxvf nginx-1.8.0.tar.gz -C /usr/src/

tar zxvf fastdfs-nginx-module_v1.16.tar.gz -C /usr/src/

tar zxvf pcre-8.36.tar.gz -C /usr/src/

tar zxvf zlib-1.2.8.tar.gz -C /usr/src/
其他命令是解壓并拷貝文件到/usr/src/ 目錄
  1. 安裝libfastcommon
cd /usr/src/libfastcommon

sh make.sh 

sh make.sh install


##設置軟鏈接
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.so
ln -s /usr/lib64/libfdfsclient.so /usr/lib/libfdfsclient.so

  1. 安裝FastDFS_5.02
cd /usr/src/FastDFS

sh make.sh 

sh make.sh install

##檢查是否安裝成功
cd /etc/fdfs

##創建文件存儲目錄:
mkdir /wcnm/storage

##創建tracker的數據文件和日志目錄
mkdir /home/fdfs/tracker

##創建storage的數據文件和日志目錄
mkdir /home/fdfs/storage
  1. 配置目錄下的tracker.conf,設置相關的信息并保存。
vim /etc/fdfs/tracker.conf

#修改如下內容:
#啟用配置文件,設置為false表示啟用

disabled=false

#設置tracker的端口號

port=22122

#設置tracker的數據文件和日志目錄(目錄需要預先創建)

base_path=/home/fdfs/tracker

#設置http端口號

http.server_port=8080

啟動tracker,確認啟動是否成功,查看端口22122是否開始監聽
/usr/local/bin/fdfs_trackerd /etc/fdfs/tracker.conf restart
netstat -apn | grep fdfs
查看啟動日志:
cat /home/fdfs/tracker/logs/*.log
  1. 安裝Storage
###編輯配置文件目錄下的storage.conf,設置相關的信息并保存
#啟用配置文件

disabled=false

#組名,根據實際情況修改

group_name=group1

#設置storage的端口號

port=23000

#設置storage的數據文件和日志目錄(目錄需要預先創建)

base_path=/fdfs/storage

#存儲路徑個數,需要和store_path個數匹配

store_path_count=1

#存儲路徑

store_path0=/fdfs/storage

#tracker服務器的IP地址和端口號

#集群配置則把tracker服務器的IP地址和端口號逐一列出

tracker_server=10.116.25.240:22122

tracker_server=192.168.7.202:22122

#設置http端口號

http.server_port=8080


##啟動storage,確認啟動是否成功,查看端口23000是否開始監聽
/usr/local/bin/fdfs_storaged /etc/fdfs/storage.conf restart
netstat -apn | grep fdfs
查看啟動日志:
cat /home/fdfs/storage/logs/*.log

確認啟動storage后,可以運行fdfs_monitor查看storage服務器是否已登記到tracker服務器
/usr/local/bin/fdfs_monitor /etc/fdfs/storage.conf
netstat -apn | grep fdfs

  1. 安裝Storage上對應的Nginx
    下載依賴:
    http://sourceforge.net/projects/pcre/files/pcre/8.36/pcre-8.36.tar.gz/download
    http://www.zlib.net/
    創建nginx的安裝目錄
    將代碼包和插件(nginx-1.7.7、fastdfs-nginx-module_v1.16、zlib-1.2.8、pcre-8.36)復制/usr/local/src內,然后使用tar命令解壓
mkdir /usr/local/nginx_storage

切換到nginx解壓目錄,運行./configure進行安裝前的設置

./configure --prefix=/usr/local/nginx --add-module=/usr/src/fastdfs-nginx-module/src --with-pcre=/usr/src/pcre-8.36/ --with-zlib=/usr/src/zlib-1.2.8

運行make進行編譯,確保編譯成功
make
運行make install進行安裝
make install

將FastDFS的nginx插件模塊的配置文件copy到FastDFS配置文件目錄
cp /usr/src/fastdfs-nginx-module/src/mod_fastdfs.conf /etc/fdfs/
9. 編輯/usr/local/nginx/conf配置文件目錄下的nginx.conf,添加storage存儲目錄信息、

將server段中的listen端口號修改為8080

listen 8080;

在server段中添加:
 //配置一個時,/group1/M00
 //多個時如下:
location /group[1-3]/M00 {

    root /fdfs/storage/data;

    ngx_fastdfs_module;

}

編輯/etc/fdfs配置文件目錄下的mod_fastdfs.conf,設置storage信息并保存。

一般只需要改動以下幾個參數

base_path=/wcnm/storage           #保存日志目錄

tracker_server=10.116.25.240:22122 #tracker服務器的IP地址以及端口號
 //多臺服務器配置多個
##tracker_server=192.168.7.202:22122 #tracker服務器的IP地址以及端口號

storage_server_port=23000         #storage服務器的端口號

group_name=group1                 #當前服務器的group名

url_have_group_name = true        #文件url中是否有group名

store_path_count=1                #存儲路徑個數,需要和store_path個數匹配

store_path0=/wcnm/storage         #存儲路徑

http.need_find_content_type=true  #從文件擴展名查找文件類型(nginx時為true)

group_count = 1                   #設置組的個數

在末尾增加分組的具體信息:

[group1]

group_name=group1

storage_server_port=23000

store_path_count=1

store_path0=/wcnm/storage

建立M00至存儲目錄的符號連接

ln -s /wcnm/storage/data /wcnm/storage/data/M00

啟動nginx,確認是否成功

/usr/local/nginx/sbin/nginx
  1. 測試
    此處測試是使用fastdfs自帶的客戶端進行測試
    配置/etc/fdfs/client.conf文件,修改以下參數
#日志存放路徑

base_path=/home/fdfs/tracker

#tracker服務器IP地址和端口號

 ##此ip可以是公網ip 也可以局域網ip
tracker_server=10.116.25.240:22122

#tracker服務器的http端口號

http.tracker_server_port=8080


測試命令(圖片abc.jpg在服務器):
/usr/local/bin/fdfs_upload_file /etc/fdfs/client.conf /home/abc.jpg
  1. 按上面配置完成后不能上傳圖,需要開啟相應的端口:
iptables -A INPUT -p tcp --dport 22122 -j ACCEPT

/etc/rc.d/init.d/iptables save

/etc/rc.d/init.d/iptables restart

  1. 重新啟動配置的服務
重啟tracker
/usr/local/bin/fdfs_trackerd /etc/fdfs/tracker.conf restart
重啟storage
/usr/local/bin/fdfs_storaged /etc/fdfs/storage.conf restart

/usr/local/nginx/sbin/nginx

nginx重啟:
cd /usr/local/nginx/sbin/
./nginx -s reload
  1. 瀏覽器訪問
    這里寫圖片描述

  2. 常用命令:

netstat -pan|grep 22122

netstat -an | grep 22122

netstat -anp 顯示系統端口使用情況

nc -lp 22122 &

注:
按上面配置完成后,即可使用代碼上傳文件!
此時重啟服務器后,部分服務則因為沒有啟動而上傳文件失敗!
因此需要添加開機啟動!

來自: http://blog.csdn.net/omsvip/article/details/49869959

 本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!