ÏîÄ¿ÖÐÓõ½Îļþ·þÎñÆ÷£¬ÓÐÅóÓÑÍÆ¼öÓÃfastdfs£¬ËùÒÔ¾ÍÁ˽âѧϰÁËÒ»·¬£¬¸Ð¾õȷʵÆÄΪǿ´ó£¬ÔÚ´ËÔٴθÐлÌÔ±¦×ÊÉî¼Ü¹¹Ê¦ÓàÇì´óÉñ¿ªÔ´ÁËÈç´ËÓÅÐãµÄÇáÁ¿¼¶·Ö²¼Ê½Îļþϵͳ£¬±¾Æªblog¾Í¼Ç¼һÏÂfastdfsµÄ×îа汾5.0.5ÔÚcentos7ÖеݲװÓëÅäÖá£
Ê×Ïȼòµ¥Á˽âһϻù´¡¸ÅÄFastDFSÊÇÒ»¸ö¿ªÔ´µÄÇáÁ¿¼¶·Ö²¼Ê½Îļþϵͳ£¬Óɸú×Ù·þÎñÆ÷£¨tracker server£©¡¢´æ´¢·þÎñÆ÷£¨storage server£©ºÍ¿Í»§¶Ë£¨client£©Èý¸ö²¿·Ö×é³É£¬Ö÷Òª½â¾öÁ˺£Á¿Êý¾Ý´æ´¢ÎÊÌâ£¬ÌØ±ðÊʺÏÒÔÖÐСÎļþ£¨½¨Ò鷶Χ£º4KB < file_size <500MB£©ÎªÔØÌåµÄÔÚÏß·þÎñ¡£FastDFSµÄϵͳ½á¹¹Í¼ÈçÏ£º
ÈçÉÏͼ£¬FastDFSµÄÁ½¸öºËÐĸÅÄî·Ö±ðÊÇ£º
Tracker£¨¸ú×ÙÆ÷£© StZ†·Ÿ"/kf/ware/vc/" target="_blank" class="keylink">vcmFnZaOotOa0or3ateOjqQ0KPHA+VHJhY2tlctb30qrX9rX3tsi5pNf3o6zP4LWx09ptdmPW0LXEY29udHJvbGxlcrXEvcfJq6Os1Nq3w87Kyc/G8Li61Ni++britcTX99PDoaO4+tfZxve6zbTmtKK92rXjtry/ydLU08k8c3Ryb25nPtK7zKi78rbgzKg8L3N0cm9uZz63/s7xxve5ubPJo6y4+tfZxve6zbTmtKK92rXj1tC1xLf+zvHG9775v8nS1MvmyrHU9rzTu/LPws/ftviyu7vh07DP7M/fyc+3/s7xo6zG5NbQuPrX2cb31tC1xMv509C3/s7xxve2vMrHttS1yLXEo6y/ydLUuPm+3bf+zvHG97XE0bnBpsfpv/bL5sqx1Pa807vyvPXJ2aGjPHN0cm9uZz5UcmFja2VyuLrU8LncwO3L+dPQtcRTdG9yYWdlus1ncm91cDwvc3Ryb25nPqOsw7+49nN0b3JhZ2XU2sb0tq+687vhway901RyYWNrZXKjrLjm1qrX1Ly6y/nK9LXEZ3JvdXC1yNDFz6KjrLKisaOz1tbcxtrQ1LXE0MTM+KOsdHJhY2tlcrj5vt1zdG9yYWdltcTQxMz40MXPoqOsvajBomdyb3VwPT0mZ3Q7W3N0b3JhZ2Ugc2VydmVyIGxpc3RdtcTTs8nkse2jrFRyYWNrZXLQ6NKqudzA7bXE1KrQxc+iutzJ2aOsu+HIq7K/tOa0otTaxNq05tbQo7vB7c3idHJhY2tlcsnPtcTUqtDFz6K2vMrH08lzdG9yYWdlu+OxqLXE0MXPosn6s8m1xKOssb7J7bK70OjSqrPWvsO7r8jOus7K/b7do6zV4tH5yrm1w3RyYWNrZXK3x7OjyN3S18Cp1bmjrNaxvdPU9rzTdHJhY2tlcrv6xve8tL/JwKnVuc6qdHJhY2tlciBjbHVzdGVywLS3/s7xo6xjbHVzdGVywO/Dv7j2dHJhY2tlctauvOTKx83qyKu21LXItcSjrMv509C1xHRyYWNrZXK2vL3TytxzdHJvYWdltcTQxMz40MXPoqOsyfqzydSqyv2+3dDFz6LAtMzhuam2wdC0t/7O8aGjPC9wPg0KPHA+U3RvcmFnZbLJ08PBy7fWvu1bVm9sdW1lXaOou/K31tfpW2dyb3VwXaOptcTX6davt73KvaOstOa0os+1zbPTydK7uPa78rbguPbX6dfps8mjrNfp0+vX6dauvOS1xM7EvP7Kx8/gu6W2wMGitcSjrMv509DX6bXEzsS8/sjdwb/A27zTvs3Kx9X7uPa05rSiz7XNs9bQtcTOxLz+yN3Bv6Gj0ru49r7tW1ZvbHVtZV2jqNfpW2dyb3VwXaOpv8nS1NPJPHN0cm9uZz7Su8you/K24MyoPC9zdHJvbmc+tOa0orf+zvHG99fps8mjrNK7uPbX6dbQtcS05rSit/7O8cb31tC1xM7EvP62vMrHz+DNrLXEo6zX6dbQtcS24MyotOa0orf+zvHG98bwtb3ByzxzdHJvbmc+yN/T4LG4t926zbi61Ni++briPC9zdHJvbmc+tcTX99PDo6zK/b7du6XOqrG4t92jrLTmtKK/1bzk0tRncm91cMTayN3Bv9fu0KG1xHN0b3JhZ2XOqte8o6zL+dLUvajS6Wdyb3VwxNq1xLbguPZzdG9yYWdlvqHBv8Xk1sPP4M2so6zS1MPi1OyzybTmtKK/1bzktcTAy7fRoaO4/Lbg1K3A7dDUtcTE2sjdv8nS1LLOv7zV4saqYmxvZ6OsvenJ3LXEutzP6s+4o7q31rK8yr3OxLz+z7XNs0Zhc3RERlPJ6LzG1K3A7TxiciAvPg0KvdPPwsC0vs2+38zlv7TSu8/CRmFzdERGU7XE1fu49s/C1Niwstewuf2zzH48L3A+DQo8aDEgaWQ9"ÏÂÔØ">ÏÂÔØÄ¿Ç°×÷Õß×îºóÒ»´ÎreleasesµÄʱ¼äµÄ14Äê11ÔÂ22ºÅ£¬¶ÔÓ¦µÄ×îа汾ÊÇ5.0.5£¬Ö±½ÓÔÚÓà´óµÄGitHubÉÏÏÂÔØ¾Í¿ÉÒÔÁË£º
https://github.com/happyfish100/fastdfs/releases
ÈçÉÏͼ£¬ÓÉÓÚFastDFSÊÇ´¿CÓïÑÔʵÏÖ£¬Ö»Ö§³ÖLinux¡¢FreeBSDµÈUNIXϵͳ£¬ËùÒÔÎÒÃÇÖ±½ÓÏÂÔØtar.gzµÄѹËõ°ü£¬Í¬Ê±FastDFS 5.0.5ͬÒÔǰ°æ±¾Ïà±È½«¹«¹²µÄһЩº¯ÊýµÈµ¥¶À·â×°³ÉÁËlibfastcommon°ü£¬ËùÒÔÔÚ°²×°FastDFS֮ǰÎÒÃÇ»¹±ØÐë°²×°libfastcommon£¬ÔÚÓà´óµÄGitHubÊ×Ò³¿ÉÒÔ¿´µ½£º
ÏÂÔØÍê³Éºó½«ÏÂÃæÕâÁ½¸öÎļþÉÏ´«ÖÁCentOS·þÎñÆ÷£¬È»ºó¾Í¿ÉÒÔ¿ªÊ¼½âѹ°²×°ÁË£º
Ê×ÏȵÚÒ»²½Êǰ²×°libfastcommon£¬ÎÒÕâÀォlibfastcommonÉÏ´«µ½µÄ/usr/localĿ¼Ï£¬Ö±½Ó½âѹ£º
unzip libfastcommon-master.zip
½âѹ³É¹¦ºó½øÈëĿ¼¿´Ò»ÏÂѹËõ°üµÄÎļþ£º
Èç¹ûûÓÐ×°½âѹ¹¤¾ßunzip¿ÉÒÔͨ¹ýÒÔÏÂyumÃüÁî½øÐа²×°ºóÔÙ½âѹ£º
yum -y install unzip zip
½âѹÍê³Éºó¾Í¿ÉÒÔ½øÐбàÒë°²×°ÁË£¬·Ö±ðÖ´ÐÐ./make.shºÍ./make.sh install£¬ÓÉÓÚÊÇа²×°µÄϵͳÓпÉÄÜ»áÌáʾÕÒ²»µ½gccÃüÁ
ÈçÉÏͼ£¬ËùÒÔÎÒÃÇÏÈÒª°²×°gcc±àÒëÆ÷£º
yum -y install gcc-c++
¿´µ½ÈçÏÂÐÅϢ˵Ã÷gccÒѾ°²×°³É¹¦£º
´ËʱÔÙ´ÎÖ´ÐÐ./make.shÃüÁî½øÐбàÒ룬ûÓÐerrorÐÅÏ¢µÄ»°¾Í˵Ã÷±àÒë³É¹¦ÁË£¬×îºóÔÙÖ´ÐÐ./make.sh install½øÐа²×°£¬¿´µ½ÀàËÆÈçÏÂÌáʾÐÅÏ¢¾Í˵Ã÷libfastcommonÒѰ²×°³É¹¦£¨»·çÍ»±ä£¬ºÚµ×°××Ö¿´µÄÑÛ¾¦ÀÛT_T£¬ËùÒÔ»»³É°×µ×ºÚ×ÖÁË£©£º
ÖÁ´Ëlibfastcommon¾ÍÒѾ°²×°³É¹¦ÁË£¬µ«×¢ÒâÒ»ÏÂÉÏͼÖкìÉ«¿ò±ê×¢µÄÄÚÈÝ£¬libfastcommon.so ĬÈϰ²×°µ½ÁË/usr/lib64/libfastcommon.so£¬µ«ÊÇFastDFSÖ÷³ÌÐòÉèÖõÄlibĿ¼ÊÇ/usr/local/lib£¬ËùÒÔ´Ë´¦ÐèÒªÖØÐÂÉèÖÃÈíÁ´½Ó£¨ÀàËÆÓÚWindowsµÄ¿ì½Ý·½Ê½£©£º
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
ÉèÖÃÍê±Ïºó¾Í¿ÉÒÔ¿ªÊ¼°²×°fastdfsÁË¡£
µÚÒ»²½ÒÀÈ»Êǽâѹ£º
tar -zxvf fastdfs-5.05.tar.gz
½âѹÍê³Éºó½øÈëĿ¼fastdfs-5.05£¬ÒÀ´ÎÖ´ÐÐ./make.shºÍ./make.sh install£º
./make.sh ./make.sh install
ûÓб¨´í¾Í˵Ã÷°²×°³É¹¦ÁË£¬ÔÚlogÖÐÎÒÃÇ¿ÉÒÔ·¢ÏÖ°²×°Â·¾¶£º
û´í£¬ÕýÊǰ²×°µ½ÁË/etc/fdfsÖУ¬ÎÒÃÇ¿´Ò»Ï¸ÃĿ¼ÏµÄÎļþ£º
ÈçÉÏͼ£¬°²×°³É¹¦ºó¾Í»áÉú³ÉÈçÉϵÄ3¸ö.sampleÎļþ£¨Ê¾ÀýÅäÖÃÎļþ£©£¬ÎÒÃÇÔٷֱ𿽱´³ö3¸öºóÃæÓõÄÕýʽµÄÅäÖÃÎļþ£º
cp client.conf.sample client.conf cp storage.conf.sample storage.conf cp tracker.conf.sample tracker.conf
Ö®ºóÔٲ鿴һÏÂ/etc/fdfsµÄÎļþĿ¼£º
ÖÁ´ËFastDFSÒѾ°²×°Íê±Ï£¬½ÓÏÂÀ´µÄ¹¤×÷¾ÍÊÇÒÀ´ÎÅäÖÃTrackerºÍStorageÁË¡£
ÔÚÅäÖÃTracker֮ǰ£¬Ê×ÏÈÐèÒª´´½¨Tracker·þÎñÆ÷µÄÎļþ·¾¶£¬¼´ÓÃÓÚ´æ´¢TrackerµÄÊý¾ÝÎļþºÍÈÕÖ¾ÎļþµÈ£¬ÎÒÕâÀïÑ¡ÔñÔÚ/optĿ¼Ï´´½¨Ò»¸öfastdfs_trackerĿ¼ÓÃÓÚ´æ·ÅTracker·þÎñÆ÷µÄÏà¹ØÎļþ£º
mkdir /opt/fastdfs_tracker
½ÓÏÂÀ´¾ÍÒªÖØÐ±à¼ÉÏÒ»²½×¼±¸ºÃµÄ/etc/fdfsĿ¼ÏµÄtracker.confÅäÖÃÎļþ£¬´ò¿ªÎļþºóÒÀ´Î×öÒÔÏÂÐ޸ģº
disabled=false #ÆôÓÃÅäÖÃÎļþ£¨Ä¬ÈÏÆôÓã© port=22122 #ÉèÖÃtrackerµÄ¶Ë¿ÚºÅ£¬Í¨³£²ÉÓÃ22122Õâ¸öĬÈÏ¶Ë¿Ú base_path=/opt/fastdfs_tracker #ÉèÖÃtrackerµÄÊý¾ÝÎļþºÍÈÕ־Ŀ¼ http.server_port=6666 #ÉèÖÃhttp¶Ë¿ÚºÅ£¬Ä¬ÈÏΪ8080ÅäÖÃÍê³Éºó¾Í¿ÉÒÔÆô¶¯Tracker·þÎñÆ÷ÁË£¬µ«Ê×ÏÈÒÀȻҪΪÆô¶¯½Å±¾´´½¨ÈíÒýÓã¬ÒòΪfdfs_trackerdµÈÃüÁîÔÚ/usr/local/binÖв¢Ã»ÓУ¬¶øÊÇÔÚ/usr/bin·¾¶Ï£º
ln -s /usr/bin/fdfs_trackerd /usr/local/bin ln -s /usr/bin/stop.sh /usr/local/bin ln -s /usr/bin/restart.sh /usr/local/bin
×îºóͨ¹ýÃüÁîÆô¶¯Tracker·þÎñÆ÷£º
service fdfs_trackerd start
ÃüÁîÖ´Ðкó¿ÉÒÔ¿´µ½ÒÔÏÂÌáʾ£º
Èç¹ûÆô¶¯ÃüÁîÖ´Ðгɹ¦£¬ÄÇôͬʱÔڸղŴ´½¨µÄtrackerÎļþĿ¼/opt/fastdfs_trackerÖоͿÉÒÔ¿´µ½Æô¶¯ºóÐÂÉú³ÉµÄdataºÍlogsĿ¼£¬tracker·þÎñµÄ¶Ë¿ÚÒ²Ó¦µ±±»Õý³£¼àÌý£¬×îºóÔÙͨ¹ýnetstatÃüÁî²é¿´Ò»Ï¶˿ڼàÌýÇé¿ö£º
netstat -unltp|grep fdfs
¿ÉÒÔ¿´µ½tracker·þÎñÔËÐеÄ22122¶Ë¿ÚÕý³£±»¼àÌý£º
È·ÈÏtrackerÕý³£Æô¶¯ºó¿ÉÒÔ½«trackerÉèÖÃΪ¿ª»úÆô¶¯£¬´ò¿ª/etc/rc.d/rc.local²¢ÔÚÆäÖмÓÈëÒÔÏÂÅäÖãº
service fdfs_trackerd start
TrackerÖÁ´Ë¾ÍÅäÖúÃÁË£¬½ÓÏÂÀ´¾Í¿ÉÒÔÅäÖÃFastDFSµÄÁíÒ»ºËÐÄ——Storage¡£
ͬÀí£¬²½Öè»ù±¾ÓëÅäÖÃTrackerÒ»Ö£¬Ê×ÏÈÊÇ´´½¨Storage·þÎñÆ÷µÄÎļþĿ¼£¬ÐèҪעÒâµÄÊÇͬTrackerÏà±ÈÎҶཨÁËÒ»¸öĿ¼£¬ÒòΪStorage»¹ÐèÒªÒ»¸öÎļþ´æ´¢Â·¾¶£¬ÓÃÓÚ´æ·Å½ÓÊÕµÄÎļþ£º
mkdir /opt/fastdfs_storage mkdir /opt/fastdfs_storage_data
½ÓÏÂÀ´ÐÞ¸Ä/etc/fdfsĿ¼ÏµÄstorage.confÅäÖÃÎļþ£¬´ò¿ªÎļþºóÒÀ´Î×öÒÔÏÂÐ޸ģº
disabled=false #ÆôÓÃÅäÖÃÎļþ£¨Ä¬ÈÏÆôÓã© group_name=group1 #×éÃû£¬¸ù¾Ýʵ¼ÊÇé¿öÐÞ¸Ä port=23000 #ÉèÖÃstorageµÄ¶Ë¿ÚºÅ£¬Ä¬ÈÏÊÇ23000£¬Í¬Ò»¸ö×éµÄstorage¶Ë¿ÚºÅ±ØÐëÒ»Ö base_path=/opt/fastdfs_storage #ÉèÖÃstorageÊý¾ÝÎļþºÍÈÕ־Ŀ¼ store_path_count=1 #´æ´¢Â·¾¶¸öÊý£¬ÐèÒªºÍstore_path¸öÊýÆ¥Åä store_path0=/opt/fastdfs_storage_data #ʵ¼ÊÎļþ´æ´¢Â·¾¶ tracker_server=192.168.111.11:22122 #tracker ·þÎñÆ÷µÄ IPµØÖ·ºÍ¶Ë¿ÚºÅ£¬Èç¹ûÊǵ¥»ú´î½¨£¬IP²»ÒªÐ´127.0.0.1£¬·ñÔòÆô¶¯²»³É¹¦£¨´Ë´¦µÄipÊÇÎÒµÄCentOSÐéÄâ»úip£© http.server_port=8888 #ÉèÖà http ¶Ë¿ÚºÅÅäÖÃÍê³ÉºóͬÑùҪΪStorage·þÎñÆ÷µÄÆô¶¯½Å±¾ÉèÖÃÈíÒýÓãº
ln -s /usr/bin/fdfs_storaged /usr/local/bin
½ÓÏÂÀ´¾Í¿ÉÒÔÆô¶¯Storage·þÎñÁË£º
service fdfs_storaged start
ÃüÁîÖ´Ðкó¿ÉÒÔ¿´µ½ÒÔÏÂÌáʾ£º
ͬÀí£¬Èç¹ûÆô¶¯³É¹¦£¬/opt/fastdfs_storageÖоͿÉÒÔ¿´µ½Æô¶¯ºóÐÂÉú³ÉµÄdataºÍlogsĿ¼£¬¶Ë¿Ú23000Ò²Ó¦±»Õý³£¼àÌý£¬»¹ÓÐÒ»µã¾ÍÊÇÎļþ´æ´¢Â·¾¶Ï»áÉú³É¶à¼¶´æ´¢Ä¿Â¼£¬ÄÇô½ÓÏÂÀ´¿´¿´ÊÇ·ñÆô¶¯³É¹¦ÁË£º
ÈçÉÏͼ£¬Ã²ËÆÃ»³É¹¦°¡£¬ÒòΪÆô¶¯storageºóÎļþ¶¼Ã»Éú³É£¬ÎªÁËÈ·ÈÏÎÒÃÇ¿´Ò»ÏÂstorageµÄ¶Ë¿ÚÇé¿ö£º
¹ûÈ»ÊÇûÆô¶¯³É¹¦£¡¶Ë¿ÚĿǰ»¹ÊÇÖ»¼àÌýÁËÒ»¸ö£¬storageµÄ23000¶Ë¿Ú²¢Î´±»¼àÌý£¬ÄÇôÎÒÃÇÖ»ÄÜÈ¥ÈÕÖ¾ÎļþÖÐÕÒÔÒòÁË£¬½øÈë/opt/fastdfs_storage/logsĿ¼Ï²¢´ò¿ªstoraged.logÎļþ£º
ÈçÉÏͼ£¬¿ÉÒÔ¿´µ½È·ÊµÓÐÒ»¸öerror£¬¹Ø¼üÐÅÏ¢ÊÇ£º
ERROR - file: storage_func.c, line: 896, mkdir “/etc/fastdfs_storage_data/data” fail, errno: 2, error info: No such file or directory
ûÓÐÎļþ»òĿ¼£¡ÔÙ»ØÍ·¿´Ò»ÏÂ/etc/fdfsĿ¼ÏµÄstorage.confµÄÅäÖãº
¹û²»ÆäÈ»Åä´íÁË£¬ÎÒÃÇÖ¸¶¨³ÉÁË/etc/fastdfs_storage_dataĿ¼£¬¶øÊµ¼ÊÉÏÎÒÃÇ´´½¨µÄλÖÃÊÇ/opt/fastdfs_storage_data£¬´ÖÐÄ´óÒ⣬ÀÏÑۻ軨£¡Ð޸ķ¾¶ºóÔÙ´ÎÖØÆôstorage·þÎñ£¬È»ºóÔÙ¿´¿´dataĿ¼ºÍʵ¼Ê´æ´¢ÎļþµÄ/opt/fastdfs_storage_data£º
ÈçÉÏͼ£¬¿ÉÒÔ¿´µ½/opt/fastdfs_storage/dataĿ¼ÏÂÉú³ÉºÃµÄpidÎļþºÍdatÎļþ£¬ÄÇôÔÙ¿´Ò»ÏÂʵ¼ÊÎļþ´æ´¢Â·¾¶ÏÂÊÇ·ñÓд´½¨ºÃµÄ¶à¼¶Ä¿Â¼ÄØ£º
ÈçÉÏͼ£¬Ã»ÓÐÈκÎÎÊÌ⣬dataÏÂÓÐ256¸ö1¼¶Ä¿Â¼£¬Ã¿¼¶Ä¿Â¼ÏÂÓÖÓÐ256¸ö2¼¶×ÓĿ¼£¬×ܹ²65536¸öÎļþ£¬ÐÂдµÄÎļþ»áÒÔhashµÄ·½Ê½±»Â·Óɵ½ÆäÖÐij¸ö×ÓĿ¼Ï£¬È»ºó½«ÎļþÊý¾ÝÖ±½Ó×÷Ϊһ¸ö±¾µØÎļþ´æ´¢µ½¸ÃĿ¼ÖС£ÄÇô×îºóÎÒÃÇÔÙ¿´Ò»ÏÂstorage·þÎñµÄ¶Ë¿Ú¼àÌýÇé¿ö£º
ÈçÉÏͼ£¬¿ÉÒÔ¿´µ½´ËʱÒѾÕý³£¼àÌýtrackerµÄ22122¶Ë¿ÚºÍstorageµÄ23000¶Ë¿Ú£¬ÖÁ´Ëstorage·þÎñÆ÷¾ÍÒѾÅäÖÃÍê³É£¬È·¶¨ÁËstorage·þÎñÆ÷Æô¶¯³É¹¦ºó£¬»¹ÓÐÒ»Ï×÷¾ÍÊÇ¿´¿´storage·þÎñÆ÷ÊÇ·ñÒѾµÇ¼Çµ½ tracker·þÎñÆ÷£¨Ò²¿ÉÒÔÀí½âΪtrackerÓëstorageÊÇ·ñÕûºÏ³É¹¦£©£¬ÔËÐÐÒÔÏÂÃüÁ
/usr/bin/fdfs_monitor /etc/fdfs/storage.conf
[root@localhost /]# /usr/bin/fdfs_monitor /etc/fdfs/storage.conf
[2016-09-23 12:59:26] DEBUG - base_path=/opt/fastdfs_storage, connect_timeout=30, network_timeout=60, tracker_server_count=1, anti_steal_token=0, anti_steal_secret_key length=0, use_connection_pool=0, g_connection_pool_max_idle_time=3600s, use_storage_id=0, storage server id count: 0server_count=1, server_index=0
tracker server is 192.168.111.11:22122
group count: 1
Group 1:
group name = group1
disk total space = 6818 MB
disk free space = 2169 MB
trunk free space = 0 MB
storage server count = 1
active server count = 1
storage server port = 23000
storage HTTP port = 8888
store path count = 1
subdir count per path = 256
current write server index = 0
current trunk file id = 0Storage 1:
id = 192.168.111.11
ip_addr = 192.168.111.11 ACTIVE
http domain =
version = 5.05
join time = 2016-09-23 11:15:54
up time = 2016-09-23 12:33:26
total storage = 6818 MB
free storage = 2169 MB
upload priority = 10
store_path_count = 1
subdir_count_per_path = 256
storage_port = 23000
storage_http_port = 8888
current_write_path = 0
source storage id =
if_trunk_server = 0
connection.alloc_count = 256
connection.current_count = 0
connection.max_count = 0
total_upload_count = 0
success_upload_count = 0
total_append_count = 0
success_append_count = 0
total_modify_count = 0
success_modify_count = 0
total_truncate_count = 0
success_truncate_count = 0
total_set_meta_count = 0
success_set_meta_count = 0
total_delete_count = 0
success_delete_count = 0
total_download_count = 0
success_download_count = 0
total_get_meta_count = 0
success_get_meta_count = 0
total_create_link_count = 0
success_create_link_count = 0
total_delete_link_count = 0
success_delete_link_count = 0
total_upload_bytes = 0
success_upload_bytes = 0
total_append_bytes = 0
success_append_bytes = 0
total_modify_bytes = 0
success_modify_bytes = 0
stotal_download_bytes = 0
success_download_bytes = 0
total_sync_in_bytes = 0
success_sync_in_bytes = 0
total_sync_out_bytes = 0
success_sync_out_bytes = 0
total_file_open_count = 0
success_file_open_count = 0
total_file_read_count = 0
success_file_read_count = 0
total_file_write_count = 0
success_file_write_count = 0
last_heart_beat_time = 2016-09-23 12:58:59
last_source_update = 1970-01-01 08:00:00
last_sync_update = 1970-01-01 08:00:00
last_synced_timestamp = 1970-01-01 08:00:00
ÈçÉÏËùʾ£¬¿´µ½192.168.111.11 ACTIVE ×ÖÑù¼´¿É˵Ã÷storage·þÎñÆ÷ÒѾ³É¹¦µÇ¼Çµ½ÁËtracker·þÎñÆ÷£¬Í¬Àí±ðÍüÁËÌí¼Ó¿ª»úÆô¶¯£¬´ò¿ª/etc/rc.d/rc.local²¢½«ÈçÏÂÅäÖÃ×·¼Óµ½ÎļþÖУº
service fdfs_storage start
ÖÁ´ËÎÒÃǾÍÒѾÍê³ÉÁËfastdfsµÄÈ«²¿ÅäÖ㬴ËʱҲ¾Í¿ÉÒÔÓÿͻ§¶Ë¹¤¾ß½øÐÐÎļþÉÏ´«ÏÂÔØµÄ²âÊÔÁË¡£
²âÊÔʱÐèÒªÉèÖÿͻ§¶ËµÄÅäÖÃÎļþ£¬±à¼/etc/fdfsĿ¼ÏµÄclient.conf Îļþ£¬´ò¿ªÎļþºóÒÀ´Î×öÒÔÏÂÐ޸ģº
base_path=/opt/fastdfs_tracker #tracker·þÎñÆ÷Îļþ·¾¶ tracker_server=192.168.111.11:22122 #tracker·þÎñÆ÷IPµØÖ·ºÍ¶Ë¿ÚºÅ http.tracker_server_port=6666 # tracker ·þÎñÆ÷µÄ http ¶Ë¿ÚºÅ£¬±ØÐëºÍtrackerµÄÉèÖöÔÓ¦ÆðÀ´ÅäÖÃÍê³Éºó¾Í¿ÉÒÔÄ£ÄâÎļþÉÏ´«ÁË£¬Ïȸø/optĿ¼Ï·ÅÒ»ÕÅͼƬ£¨±©Ñ©°Ö°ÖµÄLOGO£©£º
È»ºóͨ¹ýÖ´Ðпͻ§¶ËÉÏ´«ÃüÁî³¢ÊÔÉÏ´«£º
/usr/bin/fdfs_upload_file /etc/fdfs/client.conf /opt/BLIZZARD.jpg
ÔËÐкó¿ÉÒÔ·¢ÏÖ¸øÎÒÃÇ·µ»ØÁËÒ»¸ö·¾¶£º
Õâ¾Í±íʾÎÒÃǵÄÎļþÒѾÉÏ´«³É¹¦ÁË£¬µ±Îļþ´æ´¢µ½Ä³¸ö×ÓĿ¼ºó£¬¼´ÈÏΪ¸ÃÎļþ´æ´¢³É¹¦£¬½ÓÏÂÀ´»áΪ¸ÃÎļþÉú³ÉÒ»¸öÎļþÃû£¬ÎļþÃûÓÉgroup¡¢´æ´¢Ä¿Â¼¡¢Á½¼¶×ÓĿ¼¡¢fileid¡¢Îļþºó׺Ãû£¨Óɿͻ§¶ËÖ¸¶¨£¬Ö÷ÒªÓÃÓÚÇø·ÖÎļþÀàÐÍ£©Æ´½Ó¶ø³É£¬ÈçÏÂͼ£º
ͬʱÔÚ֮ǰÅäÖõÄstorage·þÎñÆ÷µÄʵ¼ÊÎļþ´æ´¢Â·¾¶ÖÐÒ²¿ÉÒÔ¸ù¾Ý·µ»ØµÄ·¾¶ÕÒµ½Êµ¼ÊÎļþ£º
½ÓÏÂÀ´³¢ÊÔÓÃä¯ÀÀÆ÷·¢ËÍHTTPÇëÇó·ÃÎÊÒ»ÏÂÎļþ£º
´Ëʱ·¢ÏÖ²¢²»ÄÜ·ÃÎÊ£¬ÒòΪFastDFSĿǰÒѲ»Ö§³ÖhttpÐÒ飬ÎÒÃÇÔÚFastDFS 4.0.5µÄ°æ±¾¸üÐÂÈÕÖ¾ÖпÉÒÔ¿´µ½ÕâÑùÒ»ÌõÐÅÏ¢£º
ÈçÉÏͼ£¬4.0.5°æ±¾¿ªÊ¼ÒƳýÁË×Ô´øµÄHTTPÖ§³Ö£¨ÒòΪ֮ǰ×Ô´øµÄHTTP·þÎñ½ÏΪ¼òµ¥£¬ÎÞ·¨Ìṩ¸ºÔؾùºâµÈ¸ßÐÔÄÜ·þÎñ£©£¬ËùÒÔÓà´óÌṩÁËnginxÉÏʹÓÃFastDFSµÄÄ£¿éfastdfs-nginx-module£¬ÏÂÔØµØÖ·ÈçÏ£ºhttps://github.com/happyfish100/fastdfs-nginx-module£¬ÕâÑù×ö×î´óµÄºÃ´¦¾ÍÊÇÌṩÁËHTTP·þÎñ²¢ÇÒ½â¾öÁËgroupÖÐstorage·þÎñÆ÷µÄͬ²½ÑÓ³ÙÎÊÌ⣬½ÓÏÂÀ´¾Í¾ßÌå¼Ç¼һÏÂfastdfs-nginx-moduleµÄ°²×°ÅäÖùý³Ì¡£
ÔÚÓà´óµÄGitHubÉÏÏÂÔØºÃfastdfs-nginx-moduleÉÏ´«µ½ÎÒÃǵÄCentOSÖоͿÉÒÔ¿ªÊ¼°²×°ÁË£¬ÔÚ°²×°nginx֮ǰÐèÒªÏȰ²×°Ò»Ð©Ä£¿éÒÀÀµµÄlib¿â£¬ÎÒÔÚÒÔǰдµÄblogÓÐ×öÏêϸ½éÉÜ£¨Linux CentOS 7 & Tengine£¨Nginx£©°²×°ÓëÅäÖã©£¬Ö±½ÓÌù³ö°²×°´úÂ룺
yum -y install pcre pcre-devel yum -y install zlib zlib-devel yum -y install openssl openssl-devel
ÒÀ´Î×°ºÃÕâЩÒÀÀµÖ®ºó¾Í¿ÉÒÔ¿ªÊ¼°²×°nginxÁË¡£
Ê×ÏÈÊÇΪstorage·þÎñÆ÷°²×°nginx£¬Ê×ÏȽ«nginxºÍfastdfs-nginx-moduleµÄ°²×°°üÉÏ´«ÖÁCentOS£º
Ê×ÏÈ·Ö±ð½øÐнâѹ£º
tar -zxvf nginx-1.8.1.tar.gz unzip fastdfs-nginx-module-master.zip
½âѹ³É¹¦ºó¾Í¿ÉÒÔ±àÒë°²×°nginxÁË£¬½øÈënginxĿ¼²¢ÊäÈëÒÔÏÂÃüÁî½øÐÐÅäÖãº
./configure --prefix=/usr/local/nginx --add-module=/usr/local/fastdfs-nginx-module-master/src
ÅäÖóɹ¦ºó»á¿´µ½ÈçÏÂÐÅÏ¢£º
½ô½ÓמͿÉÒÔ½øÐбàÒë°²×°ÁË£¬ÒÀ´ÎÖ´ÐÐÒÔÏÂÃüÁ
make make install
°²×°Íê³Éºó£¬ÎÒÃÇÔÚÎÒÃÇÖ¸¶¨µÄĿ¼/usr/local/nginxÖоͿÉÒÔ¿´µ½nginxµÄ°²×°Ä¿Â¼ÁË£º
½ÓÏÂÀ´ÒªÐÞ¸ÄÒ»ÏÂnginxµÄÅäÖÃÎļþ£¬½øÈëconfĿ¼²¢´ò¿ªnginx.confÎļþ¼ÓÈëÒÔÏÂÅäÖãº
listen 9999; location ~/group1/M00 { root /opt/fastdfs_storage_data/data; ngx_fastdfs_module; }
È»ºó½øÈëFastDFSµÄ°²×°Ä¿Â¼/usr/local/fastdfs-5.05Ŀ¼ÏµÄconfĿ¼£¬½«http.confºÍmime.types¿½±´µ½/etc/fdfsĿ¼Ï£º
cp -r /usr/local/fastdfs-5.05/conf/http.conf /etc/fdfs/ cp -r /usr/local/fastdfs-5.05/conf/mime.types /etc/fdfs/
½ÓÏÂÀ´»¹ÐèÒª°Ñfastdfs-nginx-module°²×°Ä¿Â¼ÖÐsrcĿ¼ÏµÄmod_fastdfs.confÒ²¿½±´µ½/etc/fdfsĿ¼Ï£º
cp -r /usr/local/fastdfs-nginx-module-master/src/mod_fastdfs.conf /etc/fdfs/
¿´Ò»ÏÂ/etc/fdfsĿ¼Ïµ±Ç°ËùÓеÄÅäÖÃÎļþ£º
ûʲôÎÊÌ⣬½ÓÏÂÀ´¾ÍÐèÒª±à¼¸Õ¿½±´µÄÕâ¸ömod_fastdfs.confÎļþÁË£¬´ò¿ªmod_fastdfs.conf²¢°´Ë³ÐòÒÀ´Î±àÒëÒÔÏÂÄÚÈÝ£º
base_path=/opt/fastdfs_storage #±£´æÈÕ־Ŀ¼ tracker_server=192.168.111.11:22122 #tracker·þÎñÆ÷µÄIPµØÖ·ÒÔ¼°¶Ë¿ÚºÅ storage_server_port=23000 #storage·þÎñÆ÷µÄ¶Ë¿ÚºÅ url_have_group_name = true #Îļþ url ÖÐÊÇ·ñÓÐ group Ãû store_path0=/opt/fastdfs_storage_data # ´æ´¢Â·¾¶ group_count = 3 #ÉèÖÃ×éµÄ¸öÊý£¬ÊÂʵÉÏÕâ´ÎֻʹÓÃÁËgroup1ÉèÖÃÁËgroup_count = 3£¬½ÓÏÂÀ´¾ÍÐèÒªÔÚÎļþβ²¿×·¼ÓÕâ3¸ögroup setting£º
[group1] group_name=group1 storage_server_port=23000 store_path_count=1 store_path0=/opt/fastdfs_storage_data [group2] group_name=group2 storage_server_port=23000 store_path_count=1 store_path0=/opt/fastdfs_storage_data [group3] group_name=group3 storage_server_port=23000 store_path_count=1 store_path0=/opt/fastdfs_storage_data
½ÓÏÂÀ´»¹ÐèÒª½¨Á¢ M00 ÖÁ´æ´¢Ä¿Â¼µÄ·ûºÅÁ¬½Ó£º
ln -s /opt/fastdfs_storage_data/data /opt/fastdfs_storage_data/data/M00
×îºóÆô¶¯nginx£º
/usr/local/nginx/sbin/nginx
ÏÔʾÈçÏÂÐÅϢ˵Ã÷nginxÒÑÆô¶¯³É¹¦£º
ͨ¹ýä¯ÀÀÆ÷Ò²¿ÉÒÔ¿´µ½nginxµÄÖ÷Ò³£º
storage·þÎñÆ÷µÄnginx¾ÍÒѾ°²×°Íê±Ï£¬½ÓÏÂÀ´¿´Ò»ÏÂtracker·þÎñÆ÷µÄnginx°²×°¡£
ͬÀí£¬ÔÙ×°Ò»¸önginx£¬Ä¿Â¼ÃüÃûΪnginx2£¬°²×°Â·¾¶ÒÀ¾É·ÅÔÚ/usr/localÏ£¬ÓÉÓÚºÍ֮ǰһÑù£¬´Ë´¦¾Í²»ÔÙ×öÏêϸ½âÊÍ£º
mkdir nginx2 cd nginx-1.8.1/ ./configure --prefix=/usr/local/nginx2 --add-module=/usr/local/fastdfs-nginx-module-master/src make make install
½ÓÏÂÀ´ÒÀÈ»ÊÇÐÞ¸Änginx2µÄÅäÖÃÎļþ£¬½øÈëconfĿ¼²¢´ò¿ªnginx.confÎļþ¼ÓÈëÒÔÏÂÅäÖã¬storageµÄnginxÎÞÐèÐÞ¸Älisten¶Ë¿Ú£¬¼´Ä¬ÈϵÄ80¶Ë¿Ú£¬²¢½«upstreamÖ¸ÏòtrackerµÄnginxµØÖ·£º
upstream fdfs_group1 { server 127.0.0.1:9999; } location /group1/M00 { proxy_pass https://fdfs_group1; }
½ÓÏÂÀ´Æô¶¯nginx2£º
/usr/local/nginx2/sbin/nginx
´Ëʱ·ÃÎÊnginx2µÄÖ÷Ò³£¬ÓÉÓÚûÓÐÐ޸Ķ˿ڣ¬Ö±½Ó·ÃÎÊipµØÖ·¼´¿É£º
×îºóÒ»²½¾ÍÊÇÐèÒªÐÞ¸Ä/etc/fdfsĿ¼ÏµÄclient.confÎļþ£¬´ò¿ª¸ÃÎļþ²¢¼ÓÈëÒÔÏÂÅäÖãº
base_path=/data/fastdfs_storage #ÈÕÖ¾´æ·Å·¾¶ tracker_server=192.168.116.145:22122 #tracker ·þÎñÆ÷ IP µØÖ·ºÍ¶Ë¿ÚºÅ http.tracker_server_port=6666 # tracker ·þÎñÆ÷µÄ http ¶Ë¿ÚºÅ£¬±ØÐëºÍtrackerµÄÉèÖöÔÓ¦ÆðÀ´
ÖÁ´Ë¹ØÓÚfastdfs¾ÍÒѾȫ²¿ÅäÖÃÍê±ÏÁË£¬ÔÙÒ»´Î½øÐвâÊÔ¿´¿´ÊÇ·ñÄÜÕý³£ÉÏ´«Îļþ²¢Í¨¹ýhttp·ÃÎÊÎļþ¡£
ÔÙ¸ø/optĿ¼ÏÂÉÏ´«Ò»Õű©Ñ©°Ö°ÖµÄLOGOͼ£º
ͨ¹ý¿Í»§¶ËÃüÁî²âÊÔÉÏ´«£º
ÈçÉÏͼ£¬ÒÀ¾ÉÉÏ´«³É¹¦£¬½ÓÏÂÀ´µÄ¹Ø¼ü¾ÍÊÇͨ¹ýHTTP²âÊÔÎļþ·ÃÎÊ£¬´ò¿ªä¯ÀÀÆ÷ÊäÈëipµØÖ·+ÎļþÃû¿´¿´ÊÇ·ñÄÜÕý³£·ÃÎʸÃͼƬ£º
Ò»ÇÐÕý³£~ ÖÁ´Ë¹ØÓÚFastDFSÔÚCentOS 7ϵIJ¿Êð²âÊÔ¾ÍÒѾȫ²¿Íê³ÉÁË¡£
±¾Æªblog¼Ç¼ÁË¿ªÔ´·Ö²¼Ê½ÎļþϵͳFastDFSÔÚLinux CentOS 7Öа²×°²¿ÊðÒÔ¼°²âÊÔµÄÈ«¹ý³Ì£¬ÏÂһƪblog½«»á¼ÌÐø½éÉÜͨ¹ýJava¿Í»§¶ËÒÔ¼°SpringMVCÖнáºÏFastDFSʵÏÖÎļþÉÏ´«ÏÂÔØ£¬The End¡£