FastDFS是为互联网应用量身定做的一套分布式文件存储系统,非常适合用来存储用户图片、视频、文档等文件。对于互联网应用,和其他分布式文件系统相比,优势非常明显。
FastDFS没有对文件做分块存储,因此不太适合分布式计算场景。
2. 当用fdfs_monitor /etc/fdfs/storage.conf 这个命令进行查看tracker与storage端是否建立连接时,两端始终显示都是offline。
解决:先查看tracker和storage的日志,确认服务是否有问题;如果日志显示正常,则有可能是在 *** 作过程中,删除了tracker或storage某一方的缓存文件,导致缓存不匹配。此时,先关闭tracker和storage服务,
删除tracker.conf和storage.conf中指定的base_path目录下的data文件,再重启服务即可。
注意:如果删除了FastDHT 的base_path目录下的文件,切片集信息将全部丢失。
3. 在上传文件时,出现 ERROR - file: tracker_proto.c, line: 48, server: 101.200.215.232:23000, response status 28 != 0
解决:状态返回28,说明磁盘空间不足,注意FastDFS中有预留空间的概念,在tracker.conf中设置,配置项为:reserved_storage_space,缺省值为4GB,即预留4GB的空间。
请酌情设置reserved_storage_space这个参数,比如可以设置为磁盘总空间的20%左右可以修改/etc/fdfs/tracker.conf文件
4. 执行fdfs_test或fdfs_test1上传文件时,服务器返回错误号2
解决:状态返回2表示没有ACTIVE状态的storage server。可以执行fdfs_monitor查看服务器状态。
5. ERROR - file: /home/nginx/install/fastdfs-nginx-module/src/common.c, line: 561, logic file: M00/00/00/wKgBNU7wRbrcAYGuAALOPrGJ7YQ668.jpg not exists
解决: apache和nginx扩展模块版本v1.06及以上版本,需要在配置文件/etc/fdfs/fastdfs_mod.conf中设置storage server的存储路径信息。
一个示例如下所示:
store_path_count=1
store_path0=/home/yuqing/fastdfs
store_path_count和store_path #均需要正确设置,必须和storage.conf中的相应配置完全一致
6. nginx和apache扩展模块与FastDFS server版本对应关系
解决:扩展模块1.05: 针对FastDFs server v2.x,要求server版本大于等于v2.09
扩展模块1.07及以上版本: 针对FastDFs server v3.x
7. nginx扩展模块,不能正常显示图片的问题
解决:在配置文件/etc/fdfs/mod_fastdfs.conf中,缺省的设置是这样的:http.need_find_content_type=false这个参数在nginx中需要设置为true,apache中应该设置为false。
8. 分布式切图时,控制台为什么会提示“No buffer space available (maximum connections reached?):connect”?38error.png
解决:分布式切图过程中,向 FastDFS 存储上传切片时,占用的端口数增多,可能会达到本地 *** 作系统的端口数的上限,所以出现上述问题。可通过如下方式规避:
Windows 系统
运行 “regedit.exe”,打开注册表,找到 “HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\Tcpip\Parameters”位置,添加“TcpTimedWaitDelay”,类型为DWORD,值为30;
添加“MaxUserPort”,类型为DWORD,值为20000(调大系统可用端口数)。
Linux 系统
运行 “vi /etc/sysctl.conf”,编辑文件,加入以下内容:
net.ipv4.tcp_syncookies = 1
net.ipv4.tcp_tw_reuse = 1
net.ipv4.tcp_tw_recycle = 1
net.ipv4.tcp_fin_timeout = 30
然后执行“/sbin/sysctl -p”让参数生效即可。
9. 在启动tracker的时候出现此类错误:ERROR - file: ../common/fdfs_http_shared.c, line: 128, param "http.mime_types_filename" not exist or is empty
解决:修改tracker.conf里面,把##include http.conf 改为#include http.conf ,再重启
10. 报错 ERROR - file: tracker_http_check.c, line: 132, http check alive, connect to http server 192.168.1.53:8888 fail, errno: 111, error info: Connection refused
解决:端口不对。要配置storage和nginx端口一致。
11. 报错400 badrequest [2011-12-12 15:24:21] ERROR - file: /tmp/fastdfs-nginx-module/src/common.c, line: 561, logic file: M00/00/00/wKgBNU7lqyjzJZ4mAA4CRXl5SCQ670.jpg not exists
2011/12/12 15:24:21 [error] 14147#0: *1 open() "/home/nginx/nginx/html/favicon.ico" failed (2: No such file or directory), client: 192.168.1.123, server: localhost, request: "GET /favicon.ico HTTP/1.1", host: "192.168.1.53:8090"
解决:修改/fastdfs/conf/mod_fastdfs.conf 里面url_have_group_name = true
12. 在tracker的日志里报出此类错误 ERROR - file: tracker_mem.c, line: 1406, the format of the file "/home/bstar/dfs_data/data/storage_sync_timestamp.dat" is invalid, group: group3, row count:1 >server count:0
解决:修改data里面的 storage_sync_timestamp.dat,把group3的信息删掉,然后重启tracker
13. 如何删除无效的storage server?
解决:可以使用fdfs_monitor来删除。命令行如下:
/usr/local/bin/fdfs_monitor delete
例如:/usr/local/bin/fdfs_monitor /etc/fdfs/client.conf delete group1 192.168.0.100
注意:如果被删除的storage server的状态是ACTIVE,也就是该storage server还在线上服务的情况下,是无法删除掉的
在Linux系统中进行FastDFS软件的安装配置,方法的过程中是很复杂的,所以如果不是专业的电脑高手可能是没有办法整理出来,所以为了方便网友们更好的了解这个软件的安装,一下就是详细的过程,大家一起来看看吧!第一步:安装FastDFS
1.解压 FastDFS_v4.07.tar.gz ==>FastDFS
2. cd FastDFS ==>vim make.sh
修改以下内容
TARGET_PREFIX=/usr/local/fdfs
TARGET_CONF_PATH=/usr/local/fdfs/conf
mkdir -p /usr/local/fdfs
mkdir -p /usr/local/fdfs/conf
修改
if [ "$uname" = "Linux" ]then
if [ "$WITH_LINUX_SERVICE" = "1" ]then
if [ ! -d $TARGET_CONF_PATH ]then
mkdir -p $TARGET_CONF_PATH
cp -f conf/tracker.conf $TARGET_CONF_PATH
cp -f conf/storage.conf $TARGET_CONF_PATH
cp -f conf/client.conf $TARGET_CONF_PATH
cp -f conf/http.conf $TARGET_CONF_PATH
cp -f conf/mime.types $TARGET_CONF_PATH
fi
cp -f init.d/fdfs_trackerd /etc/rc.d/init.d/
cp -f init.d/fdfs_storaged /etc/rc.d/init.d/
/sbin/chkconfig --add fdfs_trackerd
/sbin/chkconfig --add fdfs_storaged
fi
fi
第二步:安装libevent-2.0.19-stable.tar.gz
1.解压 libevent-2.0.19-stable.tar.gz==>libevent-2.0.19-stable
2.进入libevent-2.0.19-stable 安装
./configure --prefix=/usr/local/libevent
make
make install
3. 添加软连接
ln -s /usr/local/libevent/lib/libevent-2.0.so.5 /usr/lib/libevent-2.0.so.5
ln -s /usr/local/libevent/lib/libevent-2.0.so.5 /usr/lib64/libevent-2.0.so.5
ln -s /usr/local/libevent/lib/libevent-2.0.so.5 /lib64/libevent-2.0.so.5
ln -s /usr/local/libevent/lib/libevent-2.0.so.5 /lib/libevent-2.0.so.5
ln -s /usr/local/libevent/lib/libevent-2.0.so.5 /usr/local/lib64/libevent-2.0.so.5
ln -s /usr/local/libevent/lib/libevent-2.0.so.5 /usr/local/lib/libevent-2.0.so.5
第三步:安装FastDFS
./make.sh C_INCLUDE_PATH=/usr/local/libevent/include LIBRARY_PATH=/usr/local/libevent/lib
./make.sh install
第四步:如果/usr/local/fastdfs/conf没有fdfs_trackerd和fdfs_storaged这两个文件,就从 /FastDFS/tracker 和FastDFS/storage/目录下复制过去
第五步:修改配置
mkdir -p /home/softinstall/data/tracker
1. 修改 tracker.conf
base_path=/home/softinstall/data/tracker
bind_addr=192.168.9.169
1.1 修改storage_ids.conf
100001 group1 192.168.9.169
2. 启动tracker
./fdfs_trackerd ../conf/tracker.conf
查看22122端口是否启动起来
第六步:配置storage
mkdir -p /home/softinstall/data/store
mkdir -p /home/softinstall/data/store/store0
mkdir -p /home/softinstall/data/store/store1
mkdir -p /home/softinstall/data/store/store2
1.修改storage.conf
base_path=/home/softinstall/data/store
store_path_count=3
store_path0=/home/softinstall/data/store/store0
store_path1=/home/softinstall/data/store/store1
store_path2=/home/softinstall/data/store/store2
tracker_server=192.168.9.169:22122
#限6*6=36个目录 默认256*256
subdir_count_per_path=6
2. 启动storage
./fdfs_storaged ../conf/storage.conf
查看23000端口是否启动
第七步:安装nginx+fastdfs模块
1. 安装pcre-8.32
进入pcre-8.32
./configure
make
make install
安装如果有问题缺省某些包,可以执行:
yum groupinstall "Development Tools"
第八步:解压fastdfs-nginx-module_v1.15.tar.gz和 nginx-1.4.2.tar.gz
1.进入 fastdfs-nginx-module_v1.15/src
vim fastdfs-nginx-module_v1.15/src/config
修改成以下内容
ngx_addon_name=ngx_http_fastdfs_module
HTTP_MODULES="$HTTP_MODULES ngx_http_fastdfs_module"
NGX_ADDON_SRCS="$NGX_ADDON_SRCS $ngx_addon_dir/ngx_http_fastdfs_module.c"
CORE_INCS="$CORE_INCS /usr/local/fdfs/include/fastdfs /usr/local/fdfs/include/fastcommon/"
CORE_LIBS="$CORE_LIBS -L/usr/local/fdfs/lib -lfastcommon -lfdfsclient"
CFLAGS="$CFLAGS
-D_FILE_OFFSET_BITS=64 -DFDFS_OUTPUT_CHUNK_SIZE='256*1024'
-DFDFS_MOD_CONF_FILENAME='\"/usr/local/fdfs/conf/mod_fastdfs.conf\"'"
2. 安装
进入nginx-1.4.2目录
./configure
--prefix=/home/softinstall/nginx/nginx-fastdfs-install
--with-pcre=/home/softinstall/nginx/pcre-8.32
--add-module=/home/softinstall/nginx/fastdfs-nginx-module/src
安装中如果有问题
可以执行安装以下包:yum -y install gcc gcc-c++ zlib-devel openssl-devel
3.配置nginx.conf
进入nginx-fastdfs-install/conf
vim nginx.conf 配置以下内容
location /M00 {
root /home/softinstall/data/store/store0/data
ngx_fastdfs_module
}
location /M01 {
root /home/softinstall/data/store/store1/data
ngx_fastdfs_module
}
location /M02 {
root /home/softinstall/data/store/store2/data
ngx_fastdfs_module
}
4.配置mod_fastdfs.conf
mkdir -p /home/softinstall/data/nginx_mod
进入 /usr/local/fdfs/conf目录
vim mod_fastdfs.conf
base_path=/home/softinstall/data/nginx_mod
tracker_server=192.168.9.169:22122
store_path_count=3
store_path0=/home/softinstall/data/store/store0
store_path1=/home/softinstall/data/store/store1
store_path2=/home/softinstall/data/store/store2
5. 启动nginx
进入 /home/softinstall/nginx/nginx-fastdfs-install/sbin
./nginx
如果启动找不到
error while loading shared libraries: libfdfsclient.so: cannot open shared object file: No such file or directory
error while loading shared libraries: libfastcommon.so: cannot open shared object file: No such file or directory
请使用以下软连接
ln -s /usr/local/fdfs/lib/libfastcommon.so /usr/lib/libfastcommon.so
ln -s /usr/local/fdfs/lib/libfastcommon.so /usr/lib64/libfastcommon.so
ln -s /usr/local/fdfs/lib/libfdfsclient.so /usr/lib64/libfdfsclient.so
ln -s /usr/local/fdfs/lib/libfdfsclient.so /usr/lib/libfdfsclient.so
==========================fastDHT================================
【第一步:】安装 Berkley DB
【1.】 tar -zxvf db-4.7.25.tar.gz
进入 db-4.7.25/build_unix
../dist/configure --prefix=/usr
【第二步:】安装FastDHT
mkdir -p /usr/local/fdht
mkdir -p /usr/local/fdht/conf
1. tar -zxvf FastDHT_v1.23.tar.gz
进入 FastDHT_v1.23
vim make.sh
修改
TARGET_PREFIX=/usr/local/fdht
TARGET_CONF_PATH=/usr/local/fdht/conf
if [ "$1" = "install" ]then
cd ..
cp -f restart.sh $TARGET_PREFIX/bin
cp -f stop.sh $TARGET_PREFIX/bin
if [ "$uname" = "Linux" ]then
if [ "$WITH_LINUX_SERVICE" = "1" ]then
if [ ! -d $TARGET_CONF_PATH ]then
mkdir -p $TARGET_CONF_PATH
cp -f conf/fdhtd.conf $TARGET_CONF_PATH
cp -f conf/fdht_servers.conf $TARGET_CONF_PATH
cp -f conf/fdht_client.conf $TARGET_CONF_PATH
fi
cp -f init.d/fdhtd /etc/rc.d/init.d/
/sbin/chkconfig --add fdhtd
fi
fi
fi
【2.】 安装
./make.sh
------------------------------------------------------------------------------
如果出现 global.h:18:19: error: event.h: No such file or directory
进入/home/softinstall/fastdfs/libevent-2.0.19-stable然后执行
./configure --prefix=/usr
make
make install
---------------------------------------------------------------------------------
./make.sh install
【3.】 配置fdht
【3.1】 vim /usr/local/fdht/conf/fdhtd.conf
port=11411
bash_path=/home/softinstall/data/fastdht
cache_size = 32MB
store_sub_keys=true
use_storage_id=true
#include /usr/local/fdht/conf/fdht_servers.conf (本行前有#表示打开,如果想关闭此选项,则应该为##开头)
【3.2】 vim /usr/local/fdht/conf/fdht_server.conf
group_count = 1
group0 = 192.168.9.165:11411
【3.3】 vim /usr/local/fdht/conf/fdht_client.conf
keep_alive=1 (本选项关联 storaged.conf文件)
base_path=/home/softinstall/data/fastdht
#include /usr/local/fdht/conf/fdht_servers.conf
【3.4】 配置FastDFS 的 storaged.conf文件
vi storaged.conf (默认位置: /usr/local/fdfs/conf/storaged.conf)
check_file_duplicate=1
本配置项解释: 是否检测上传文件已经存在。如果已经存在,则不存在文件内容,建立一个索引链接以节省磁盘空间
key_namespace=FastDFS
本配置项解释: 当上个参数设定为1时 , 在FastDHT中的命名空间
keep_alive=1
本配置项解释: 长连接配置选项,如果为0则为短连接 1为长连接
#include /usr/local/fdht/conf/fdht_servers.conf
本配置项解释: 可以通过 #include filename 方式来加载 FastDHT servers 的配置
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)