fastdfs导致linux不响应

fastdfs导致linux不响应,第1张

1. FastDFS适用的场景以及不适用的场景?

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 的配置


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/11244247.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-14
下一篇 2023-05-14

发表评论

登录后才能评论

评论列表(0条)

保存