centos 6.6最小化版本 安裝分布式存儲FastDFS
來自: http://my.oschina.net/rock912/blog/616179
最小化安裝centos6.6,配置網絡
1、編譯和安裝所需的依賴包:
# yum install make cmake gcc gcc-c++ perl unzip
2、安裝libfastcommon(https://github.com/happyfish100/libfastcommon)
(1)上傳或下載libfastcommon-master.zip到/usr/local/src目錄,解壓
# cd /usr/local/src/
# unzip libfastcommon-master.zip
# cd libfastcommon-master
(2)編譯、安裝
# ./make.sh
# ./make.sh install
libfastcommon默認安裝到了
/usr/lib64/libfastcommon.so
/usr/lib64/libfdfsclient.so
(3)因為FastDFS主程序設置的lib目錄是/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.so
#ln -s /usr/lib64/libfdfsclient.so /usr/lib/libfdfsclient.so
3、安裝FastDFS(https://github.com/happyfish100/fastdfs/releases)
(1)上傳或下載FastDFS源碼包(FastDFS_v5.05.tar.gz)到/usr/local/src目錄,解壓
# cd /usr/local/src/
# tar -zxvf FastDFS_v5.05.tar.gz
# cd FastDFS
(2)編譯、安裝(編譯前要確保已經成功安裝了libfastcommon)
# ./make.sh
# ./make.sh install
采用默認安裝的方式安裝,安裝后的相應文件與目錄:
A、服務腳本在:
/etc/init.d/fdfs_storaged
/etc/init.d/fdfs_tracker
B、配置文件在(樣例配置文件):
/etc/fdfs/client.conf.sample
/etc/fdfs/storage.conf.sample
/etc/fdfs/tracker.conf.sample
C、命令工具在/usr/bin/目錄下的:
fdfs_appender_test
fdfs_appender_test1
fdfs_append_file
fdfs_crc32
fdfs_delete_file
fdfs_download_file
fdfs_file_info
fdfs_monitor
fdfs_storaged
fdfs_test
fdfs_test1
fdfs_trackerd
fdfs_upload_appender
fdfs_upload_file
stop.sh
restart.sh
因為FastDFS服務腳本設置的bin目錄是/usr/local/bin,但實際命令安裝在/usr/bin,可以進入
/user/bin目錄使用以下命令查看fdfs的相關命令:
# cd /usr/bin/
# ls | grep fdfs
因此需要修改FastDFS服務腳本中相應的命令路徑,也就是把/etc/init.d/fdfs_storaged
和/etc/init.d/fdfs_tracker兩個腳本中的/usr/local/bin修改成/usr/bin:
# vi /etc/init.d/fdfs_trackerd
使用查找替換命令進統一修改:%s+/usr/local/bin+/usr/bin
# vi /etc/init.d/fdfs_storaged
使用查找替換命令進統一修改:%s+/usr/local/bin+/usr/bin
注意:以上操作無論是配置tracker還是配置storage都是必須的,而tracker和storage的區別主要是在安裝完fastdfs之后的配置過程中。
4、配置FastDFS跟蹤器Tracker(192.168.1.131、192.168.1.132)
1、 復制FastDFS跟蹤器樣例配置文件,并重命名:
# cd /etc/fdfs/
# cp tracker.conf.sample tracker.conf
2、 編輯跟蹤器配置文件:
# vi /etc/fdfs/tracker.conf
修改的內容如下:
disabled=false#啟用配置文件
port=22122#tracker的端口號,一般采用22122這個默認端口
base_path=/fastdfs/tracker#tracker的數據文件和日志目錄
(其它參數保留默認配置,具體配置解釋請參考官方文檔說明:http://bbs.chinaunix.net/thread-1941456-1-1.html)
3、 創建基礎數據目錄(參考基礎目錄base_path配置):
# mkdir -p /fastdfs/tracker
4、 防火墻中打開跟蹤器端口(默認為22122):
# vi /etc/sysconfig/iptables
添加如下端口行:
## FastDFS Tracker Port
-A INPUT -m state --state NEW -m tcp -p tcp --dport 22122 -j ACCEPT
重啟防火墻:
# service iptables restart
注意:
使用service iptables status查看防火墻的狀態時,無任何反應,且使用service iptables start也啟動不聊。后來發現在/etc/sysconfig目錄下沒有iptables文件(防火墻的策略一般都寫在此文件中)。
原因:在新安裝的Linux系統中,防火墻默認是被禁掉的,一般也沒有配置過任何防火墻的策略,所有不存在/etc/sysconfig/iptables文件。
解決:
在控制臺使用iptables命令隨便寫一條防火墻規則,如:iptables -P OUTPUT ACCEPT
使用service iptables save進行保存,默認就保存到了/etc/sysconfig目錄下的iptables文件中
5、 啟動Tracker:
# /etc/init.d/fdfs_trackerd start
(初次成功啟動,會在/fastdfs/tracker目錄下創建data、logs兩個目錄)可以通過以下兩個方法查看tracker是否啟動成功:
(1)查看22122端口監聽情況:netstat -unltp|grep fdfs
(2)通過以下命令查看tracker的啟動日志,看是否有錯誤
tail -100f /fastdfs/tracker/logs/trackerd.log
6、 關閉Tracker:
# /etc/init.d/fdfs_trackerd stop
7、 設置FastDFS跟蹤器開機啟動:
# vi /etc/rc.d/rc.local
添加以下內容:
## FastDFS Tracker
/etc/init.d/fdfs_trackerd start
5、配置FastDFS存儲(192.168.1.135、192.168.1.136 、192.168.1.137 、192.168.1.138 )
1、 復制FastDFS存儲器樣例配置文件,并重命名:
# cd /etc/fdfs/
# cp storage.conf.sample storage.conf
2、 編輯存儲器樣例配置文件(以group1中的storage節點的storage.conf為例):
# vi /etc/fdfs/storage.conf
修改的內容如下:
disabled=false#啟用配置文件
group_name=group1#組名(第一組為group1,第二組為group2)
port=23000#storage的端口號,同一個組的storage端口號必須相同
base_path=/fastdfs/storage#設置storage的日志目錄
store_path0=/fastdfs/storage#存儲路徑
store_path_count=1#存儲路徑個數,需要和store_path個數匹配
tracker_server=192.168.1.131:22122#tracker服務器的IP地址和端口
tracker_server=192.168.1.132:22122#多個tracker直接添加多條配置
http.server_port=8888#設置http端口號
(其它參數保留默認配置,具體配置解釋請參考官方文檔說明:
http://bbs.chinaunix.net/thread-1941456-1-1.html)
3、 創建基礎數據目錄(參考基礎目錄base_path配置):
# mkdir -p /fastdfs/storage
4、 防火墻中打開存儲器端口(默認為23000):
# vi /etc/sysconfig/iptables
添加如下端口行:
## FastDFS Storage Port
-A INPUT -m state --stateNEW -m tcp -p tcp --dport 23000-j ACCEPT
重啟防火墻:
# service iptables restart
5、 啟動Storage:
# /etc/init.d/fdfs_storagedstart
(初次成功啟動,會在/fastdfs/storage目錄下創建數據目錄data和日志目錄logs)
各節點啟動動,使用tail -f /fastdfs/storage/logs/storaged.log命令監聽存儲節點日志,可以看到存儲節點鏈接到跟蹤器,并提示哪一個為leader跟蹤器。同時也會看到同一組中的其他節點加入進來的日志信息。
查看23000端口監聽情況:netstat -unltp|grep fdfs
所有Storage節點都啟動之后,可以在任一Storage節點上使用如下命令查看集群信息:
# /usr/bin/fdfs_monitor /etc/fdfs/storage.conf
可以看到存儲節點狀態為ACTIVE則可
6、 關閉Storage:
# /etc/init.d/fdfs_storagedstop
7、 設置FastDFS存儲器開機啟動:
# vi /etc/rc.d/rc.local
添加:
## FastDFS Storage
/etc/init.d/fdfs_storaged start
文件上傳測試(192.168.1.131)
1、修改Tracker服務器中的客戶端配置文件:
# cp /etc/fdfs/client.conf.sample /etc/fdfs/client.conf
#vi /etc/fdfs/client.conf
base_path=/fastdfs/tracker
tracker_server=192.168.1.131:22122
tracker_server=192.168.1.132:22122
2、執行如下文件上傳命令:
# /usr/bin/fdfs_upload_file /etc/fdfs/client.conf /usr/local/src/FastDFS_v5.05.tar.gz
返回ID號:
group1/M00/00/00/wKgBh1Xtr9-AeTfWAAVFOL7FJU4.tar.gz
group2/M00/00/00/wKgBiVXtsDmAe3kjAAVFOL7FJU4.tar.gz
(能返回以上文件ID,說明文件上傳成功)