-
2019-09-18 21:21:16
--开启服务 sudo service fdfs_trackerd start sudo service fdfs_storaged start -- 查看服务是否开启 ps aux | grep fdfs
执行完上述的操作之后,在ps 命令中完美显示开启2个服务,如果有一个服务没开启,务必确保base_path 是否配置正确,很多
玩家是没有配置正确。go on…
-- 上传图片 fdfs_upload_file /etc/fdfs/client.conf ~/Desktop/timg.jpg
然后就各种报错,各种不成功,要做的是找log日志文件,在哪呢,主要是看storage 服务器的Log文件,它在你配置的base_path路径中寻找,找到之后,就根据日志信息分析错误,以下是我的日志文件,仅供参考。
[2019-09-18 05:50:53] ERROR - file: storage_ip_changed_dealer.c, line: 186, connect to tracker server 192.168.172.128:22122 fail, errno: 111, error info: Connection refused [2019-09-18 05:52:11] ERROR - file: storage_ip_changed_dealer.c, line: 186, connect to tracker server 192.168.172.128:22122 fail, errno: 111, error info: Connection refused [2019-09-18 05:53:29] ERROR - file: storage_ip_changed_dealer.c, line: 186, connect to tracker server 192.168.172.128:22122 fail, errno: 111, error info: Connection refused [2019-09-18 05:54:47] ERROR - file: storage_ip_changed_dealer.c, line: 186, connect to tracker server 192.168.172.128:22122 fail, errno: 111, error info: Connection refused
我的解决方式是:
我的ubuntu的网络配置方式是NAT模式,我看其他博主有说,考虑换成仅主机模式,我就改成仅主机模式。
重启 ----> 重启完成之后,再把storage.conf 和 client.conf 的 上的tracker_server 的ip 修改,修改成什么呢?
因为你的网络配置方式更换了,这时候,需要ifconfig看一下。
全部完成之后,再依次跑一下以下指令就成功了。sudo service fdfs_trackerd start sudo service fdfs_storaged start fdfs_upload_file /etc/fdfs/client.conf ~/Desktop/timg.jpg
如果还不成功,就是防火墙的问题,记得把防火墙关闭就行,请看这个大佬的博客。
关闭防火墙#关闭防火墙命令 service iptables stop
更多相关内容 -
在阿里云服务器安装FastDFS测试fdfs_upload_file出错:Connection refused的解决
2020-03-02 18:11:26安装FastDFS进行上传文件测试时出现错误:ERROR - file: connection_pool.c, line: 144, connect to server xxx.xxx.xxx.xxx:22122 fail, errno: 111, error info: Connection refused将22122和2300端口授权就可以了。
↓一、配置阿里云的安全组规则
- 找到实例列表,进入安全组配置
- 进入配置规则
- 点击添加安全组规则
- 重复【3】,分别添加22122和23000端口
二、重启FastDFS的Tracker和Storage
- 重启
[root@iZm5e1qnvovd6uzsn5cdblZ nginx-1.15.4]# fdfs_upload_file /etc/fdfs/client.conf /usr/local/src/nginx-1.15.4.tar.gz [2020-03-02 17:34:52] ERROR - file: connection_pool.c, line: 144, connect to server xxx.xxx.xxx.xxx:22122 fail, errno: 111, error info: Connection refused [root@iZm5e1qnvovd6uzsn5cdblZ nginx-1.15.4]# /etc/init.d/fdfs_trackerd start Starting fdfs_trackerd (via systemctl): [ OK ] [root@iZm5e1qnvovd6uzsn5cdblZ nginx-1.15.4]# /etc/init.d/fdfs_storaged start Starting fdfs_storaged (via systemctl): [ OK ]
- 查看监听
[root@iZm5e1qnvovd6uzsn5cdblZ nginx-1.15.4]# netstat -unltp|grep fdfs tcp 0 0 0.0.0.0:23000 0.0.0.0:* LISTEN 8050/fdfs_storaged tcp 0 0 0.0.0.0:22122 0.0.0.0:* LISTEN 8026/fdfs_trackerd
- 再次测试
[root@iZm5e1qnvovd6uzsn5cdblZ nginx-1.15.4]# fdfs_upload_file /etc/fdfs/client.conf /usr/local/src/nginx-1.15.4.tar.gz group1/M00/00/00/rB-lRF5c02qAYK77AA-itrfn0m4.tar.gz
好了,成功。 ^ _ ^
- 找到实例列表,进入安全组配置
-
fdfs_client-py:fastdfs python客户端兼容4.0.6版
2021-05-09 04:31:39Fdfs_client py Fastdfs Ver 4.06.1的Python接口。 安装 $ sudo python setup.py install 入门 1. import fdfs_client....{'Group name':'group1','Status':'Upload successed.', 'Remote file_id':'group1/M00/00 -
go_fdfs_client:fdfs go 语言客户端
2021-05-21 14:42:09Notice:Only realized the upload,download, delete functions Installation $ go get github.com/weilaihui/fdfs_client Getting Started please see client_test.go Author 我是的一员,你可以在我们的网站上获得... -
启动service fdfs_trakcerd 问题:Job for fdfs_trackerd.service failed because the control process ...
2021-05-08 16:55:48启动service fdfs_trakcerd 问题:Job for fdfs_trackerd.service failed because the control process exited with error code 按照正常流程安装了libfastcommon以及fastdfs包后。 启动storage和tracker服务 ...按照正常流程安装了libfastcommon以及fastdfs包后。
启动storage和tracker服务
- sudo service fdfs_storaged start
- sudo service fdfs_trackerd start
出现如下错误(tracker和storage错误相同)
通过journalctl -xe命令查找得错误所在
# /usr/local/bin/下不存在fdfs_trackerd,fdfs_storaged文件
通过查找命令,找到fdfs_trackerd与fdfs_storaged在解压缩fastdfs-5.05文件init.d及tracker(storage)目录下都存在
选择init.d或tracker(storage)目录下复制到/usr/local/bin目录下
# 小编用的是/usr/bin目录下的fdfs_trackerd及fdfs_storaged
重新启动storage和tracker服务,测试安装成功后,通过fdfs_upload_file /etc/fdfs/client.conf 上传图片文件 成功
-
fdfs-命令总结
2022-03-03 08:22:08/usr/bin/下的fdfs文件 fdfs_append_file fdfs_appender_test fdfs_appender_test1 fdfs_crc32 fdfs_delete_file fdfs_download_file fdfs_file_info fdfs_monitor fdfs_storaged fdfs_test fdfs_test1 fdfs_...-
补充
-
/bin 存放单用户模式下还可以操作的命令.
/usr/sbin Linux系统开机时不会使用到的软件/命令/脚本.
/usr/bin下面的都是系统预装的可执行程序,系统升级有可能会被覆盖.
/usr/local/bin目录是给用户放置自己的可执行程序.
/usr/bin/下的fdfs文件
fdfs_append_file
fdfs_appender_test
fdfs_appender_test1
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-
1、fdfs_upload_file
- 使用“fdfs_upload_file”表示要上传文件,命令:
方法:fdfs_upload_file <config_file> <local_filename> 例如:/usr/bin/fdfs_upload_file /etc/fdfs/client.conf a.txt
-
上传过程
- FastDFS向使用者提供基本文件访问接口,比如upload、download、append、delete等,以客户端库的方式提供给用户使用。
- Storage Server会定期的向Tracker Server发送自己的存储信息。当Tracker Server Cluster中的Tracker Server不止一个时,各个Tracker之间的关系是对等的,所以客户端上传时可以选择任意一个Tracker。
- 当Tracker收到客户端上传文件的请求时,会为该文件分配一个可以存储文件的group,当选定了group后就要决定给客户端分配group中的哪一个storage server。当分配好storage server后,客户端向storage发送写文件请求,storage将会为文件分配一个数据存储目录。然后为文件分配一个fileid,最后根据以上的信息生成文件名存储文件。
-
(1)选择tracker server
当集群中不止一个tracker server时,由于tracker之间是完全对等的关系,客户端在upload文件时可以任意选择一个trakcer。 -
(2)选择存储的group
当tracker接收到upload file的请求时,会为该文件分配一个可以存储该文件的group,支持如下选择group的规则: 1. Round robin,所有的group间轮询 2. Specified group,指定某一个确定的group 3. Load balance,剩余存储空间多多group优先 -
(3)选择storage server
当选定group后,tracker会在group内选择一个storage server给客户端,支持如下选择storage的规则: 1. Round robin,在group内的所有storage间轮询 2. First server ordered by ip,按ip排序 3. First server ordered by priority,按优先级排序(优先级在storage上配置) -
(4)选择storage path
当分配好storage server后,客户端将向storage发送写文件请求,storage将会为文件分配一个数据存储目录,支持如下规则: 1. Round robin,多个存储目录间轮询 2. 剩余存储空间最多的优先 -
(5)生成Fileid
选定存储目录之后,storage会为文件生一个Fileid,由storage server ip、文件创建时间、文件大小、文件crc32和一个随机数
拼接而成,然后将这个二进制串进行base64编码,转换为可打印的字符串。 -
(6)选择两级目录
当选定存储目录之后,storage会为文件分配一个fileid,每个存储目录下有两级256*256的子目录,storage会按文件fileid进行两次hash(猜测),路由到其中一个子目录,然后将文件以fileid为文件名存储到该子目录下。 -
(7)生成文件名
当文件存储到某个子目录后,即认为该文件存储成功,接下来会为该文件生成一个文件名,文件名由group、存储目录、两级子目录、fileid、文件后缀名(由客户端指定,主要用于区分文件类型)拼接而成。
2、fdfs_download_file
- 使用“fdfs_download_file”可以进行文件的下载,命令:
方法:fdfs_download_file <config_file> <path> 例如:/usr/bin/fdfs_download_file /etc/fdfs/client.conf group1/M00/00/21/rBABl2IgEJ2AXTIxAAC5ERGBk_A734.png
-
下载过程
- 客户端uploadfile成功后,会拿到一个storage生成的文件名,接下来客户端根据这个文件名即可访问到该文件。【Clinent可以直接进Storage读取和下载操作 需要IP地址/P端口号/卷名/文件名,如只知道卷名和文件名,就去找跟踪器,跟踪器会找到对应卷名和文件名所在的存储节点,将ip/p返回给用户…】
- 跟upload file一样,在downloadfile时客户端可以选择任意tracker server。tracker发送download请求给某个tracker,必须带上文件名信息,tracke从文件名中解析出文件的group、大小、创建时间等信息,然后为该请求选择一个storage用来服务读请求。
- tracker发送download请求给某个tracker,必须带上文件名信息,tracke从文件名中解析出文件的group、大小、创建时间等信息,然后为该请求选择一个storage用来服务读请求。由于group内的文件同步时在后台异步进行的,所以有可能出现在读到时候,文件还没有同步到某些storage server上,为了尽量避免访问到这样的storage,tracker按照如下规则选择group内可读的storage。
- 1、 该文件上传到的源头storage - 源头storage只要存活着,肯定包含这个文件,源头的地址被编码在文件名中。 2、文件创建时间戳==storage被同步到的时间戳且(当前时间-文件创建时间戳) > 文件同步最大时间(如5分钟) - 文件创建后,认为经过最大同步时间后,肯定已经同步到其他storage了。 3、 文件创建时间戳 < storage被同步到的时间戳。 - 同步时间戳之前的文件确定已经同步了 4、 (当前时间-文件创建时间戳) > 同步延迟阀值(如一天)。 - 经过同步延迟阈值时间,认为文件肯定已经同步了。 3、fdfs_file_info
- 使用fdfs_file_info可以查看到而文件的详细存储信息
-
这时FastDFS会给我们返回该文件的存储服务器节点id、存储服务器的ip地址、文件上传的时间、文件大小以及crc32的校验信息(保证数据的正确,就不得不采用检错的手段)。
命令:
方法:fdfs_file_info <config_file> <path> 例如: /usr/bin/fdfs_file_info /etc/fdfs/client.conf group1/M00/00/1F/rBABtGIfljmACwDjAAC5ERGBk_A347.png
-
4、fdfs_delete_file
- 使用fdfs_delete_file可以删除文件,命令:
方法:fdfs_delete_file <config_file> <path> 例如: /usr/bin/fdfs_delete_file /etc/fdfs/client.conf group1/M00/00/1F/rBABtGIfljmACwDjAAC5ERGBk_A347.png
-
5、 fdfs_upload_appender/fdfs_append_file
- 使用"fdfs_upload_appender"表示要上传一个可以追加内容的文件,后面跟上客户端的配置文件以及要上传的文件的路径:
# echo "upload_appende 2022-3-3" >a.txt # echo "upload_appender2 2022-3-3" >b.txt #/usr/bin/fdfs_upload_appender /etc/fdfs/client.conf a.txt # cat rBABl2IgHTaENYMrAAAAADBEg7A330.txt upload_appender 2022-3-3 // 追加内容 # /usr/bin/fdfs_append_file /etc/fdfs/client.conf group1/M09/00/21/rBABl2IgHTaENYMrAAAAADBEg7A330.txt b.txt # cat rBABl2IgHTaENYMrAAAAADBEg7A330.txt upload_appender 2022-3-3 upload_appender2 2022-3-3
-
步骤:
- 首先将第一个文件作为可追加文件上传到了存储服务器。
- 然后使用“fdfs_append_file”表示可以将内容追加到目标文件尾部,后面跟上客户端的配置文件以及要追加的目标文件在存储服务器的路径,以及要追加内容的本地文件路径
- 到存储服务器中观察,发现文件还是一个,但是文件内容被成功追加 6、fdfs_monitor查看确认storage是否自动注册到tracker中
-
在storage容器或者tracker容器中运行
fdfs_monitor /etc/fdfs/storage.conf
//删除storage节点 usr/bin/fdfs_monitor /etc/fdfs/storage.conf delete group3 172.16.1.180 //增加Storage节点(通过配置,自动加入)。 //节点的状态 # FDFS_STORAGE_STATUS:INIT :初始化,尚未得到同步已有数据的源服务器 # FDFS_STORAGE_STATUS:WAIT_SYNC :等待同步,已得到同步已有数据的源服务器 # FDFS_STORAGE_STATUS:SYNCING :同步中 # FDFS_STORAGE_STATUS:DELETED :已删除,该服务器从本组中摘除 # FDFS_STORAGE_STATUS:OFFLINE :离线 # FDFS_STORAGE_STATUS:ONLINE :在线,尚不能提供服务 # FDFS_STORAGE_STATUS:ACTIVE :在线,可以提供服务 # group_name:所属组名 # ip_addr:ip地址 # version: # sync_src_ip_addr:向该storage server同步已有数据文件的源服务器 # sync_until_timestamp:同步已有数据文件的截至时间(UNIX时间戳) # total storage: 总存储量 # free storage # upload priority: 上传优先级 # store_path_count: 路径数量 # subdir_count_per_path: 每级文件夹数量 # storage_port # storage_http_port # current_write_path: 当前写入路径 # source storage id: 源存储id # if_trunk_server :是否使用trunk # connection.alloc_count # connection.current_count # connection.max_count: 最大并发连接数 # total_upload_count:上传文件次数 # success_upload_count:成功上传文件次数 # total_append_count:追加文件次数 # success_append_count:成功追加文件次数 # total_modify_count:总修改次数 # success_modify_count :成功修改数 # total_truncate_count :总截断计次数 # success_truncate_count:成功截断次数 # total_set_meta_count:更改meta data次数 # success_set_meta_count:成功更改meta data次数 # total_delete_count:删除文件次数 # success_delete_count:成功删除文件次数 # total_download_count:下载文件次数 # success_download_count:成功下载文件次数 # total_get_meta_count:获取meta data次数 # success_get_meta_count:成功获取meta data次数 # total_create_link_count:创建链接次数 # success_create_link_count:成功创建链接次数 # total_delete_link_count :删除链接次数 # success_delete_link_count :成功删除链接次数 # total_upload_bytes :上传字节总数 # success_upload_bytes :成功上传字节总数 # total_append_bytes :追加 # success_append_bytes # total_modify_bytes # success_modify_bytes # stotal_download_bytes # success_download_bytes # total_sync_in_bytes :同步字节数 # success_sync_in_bytes # total_sync_out_bytes # success_sync_out_bytes # total_file_open_count # success_file_open_count # total_file_read_count # success_file_read_count # total_file_write_count: 文件写入次数 # success_file_write_count:文件成功写入凑数 # last_heart_beat_time:最近一次storage向tracker发送心跳的时间 # last_source_update:最近一次源头更新时间(更新操作来自客户端) # last_sync_update:最近一次同步更新时间(更新操作来自其他storage server的同步) # last_synced_timestamp: 最近一次同步时间戳
7. 启动命令
service fdfs_storaged restart service fdfs_trackerd restart docker容器启动服务: fdfs_storaged /etc/fdfs/storage.conf start fdfs_trackerd /etc/fdfs/tracker.conf start /usr/local/nginx/sbin/nginx -s reload curl -i 127.0.0.1:8888 //查看nginx 版本
-
/bin 存放单用户模式下还可以操作的命令.
-
启动FastDFS时的问题:sudo service fdfs_trackerd start出现Unit fdfs_trackerd.service not found
2019-02-27 12:57:10fdfs_upload_file /etc/fdfs/client.conf 要上传的图片文件 第二个storaged报错了,这时候再次关闭虚拟机,切换成原来的桥接,重启,再次运行,返回类似roup1/M00/00/00/wKgrMFx2FiiAMh1zAAUTX4IIbyI300.png.jpg的... -
k8s 部署 fastdfs遇到的故障 response status 52 不= 0 fdfs_recv_response fail, result: 52
2021-12-28 09:46:38[root@fastdfs-0 /]# fdfs_test /etc/fdfs/client.conf upload a.txt This is FastDFS client test program v6.07 Copyright (C) 2008, Happy Fish / YuQing FastDFS may be copied only under the terms of the ... -
python3调用Fdfs_client 出错
2018-12-28 17:13:46File "C:\ProgramData\Anaconda3\lib\site-packages\fdfs_client\client.py", line 51, in __init__ self.tracker_pool = poolclass(**self.trackers) TypeError: type object argument after ** must be a ... -
fastDfs V5.02 升级到 V5.08版本后,启动报错:symbol lookup error: /usr/bin/fdfs_trackerd: undefined ...
2018-05-29 16:35:00/libfastcommon-1.0.36 # ./make.sh cc -Wall -D_FILE_OFFSET_BITS=64 -D_GNU_SOURCE -g -O3 -c -o hash.o hash.c cc -Wall -D_FILE_OFFSET_BITS=64 -D_GNU_SOURCE -g -O3 -c -o chain.o chain.c cc -Wall -D_FILE..... -
>>> from fdfs_client.client import Fdfs_client >>> client = Fdfs_client('meiduo_mall/utils/fastdfs/c
2018-06-30 11:04:15使用shell 运行FastDFS客户端时,执行下面三条命令: 1.from fdfs_client.client import Fdfs_client 2. client = Fdfs_client('male/utils/fastdfs/client.... ret = client.upload_by_filename('/home/python/De... -
执行fasfdfs 编译并安装报错cp: 无法获取“fdfs_trackerd“ 的文件状态(stat): 没有那个文件或目录;...
2020-09-02 17:51:48执行fasfdfs 编译并安装报错如下: ient_func.o client_global.o storage_client.o -L/usr/lib...../storage/trunk_mgr/trunk_shared.o:在函数‘trunk_file_get_content_ex’中: /usr/local/fastdfs-5.11/storage/tr -
fdfs文件服务环境搭建详细教程
2022-05-13 13:37:41Linux环境搭建少不了FastDFS的安装,本文记录Linux环境下安装fdfs的步骤。 一、安装包和环境准备 1.所需安装包 将安装包上传至服务器 2.编译环境 环境安装好的跳过此步骤 yum install git gcc gcc-c++ make ... -
Centos7使用docker搭建fastdfs及windows 10安装fdfs_client-py-master.zip错误记录
2022-05-14 00:15:37要上传的图片路径 上传成功的话会有下面的提示 {'Group name': 'group1', 'Remote file_id': 'group1\M00/00/00/wKgFwGJ2ZEyAOBG2AABo9FzmFBU118.JPG', 'Status': 'Upl oad successed.', 'Local file name': 'E:/11-... -
fdfs_client.exceptions.DataError: [-] Error: 2, No such file or directory报错问题
2021-03-18 16:41:22做项目前,先试着向docker上传图片时报错,如图: ... File "d:\software\python\Lib\fdfs_client\client.py", line 90, in upload_by_filename store_serv = tc.tracker_query_storage_stor_without_g -
windows安装fdfs_lient报错"fdfs_client/sendfilemodule: fatal error C1189: #error: platfom not ...
2019-11-27 16:58:14windows安装fdfs_lient报错"fdfs_client/sendfilemodule: fatal error C1189: #error: platfom not supported" 报错详情(报错内容:windows这个平台不支持fdfs_client) running install running bdist_egg running ... -
在linux系统中使用fdfs_client-py客户端上传文件测试:
2020-07-26 23:35:11在linux系统中使用fdfs_client-py客户端上传文件测试: 安装所依赖的包: ubuntu下fdfs_client-py-master.zip的下载链接 链接:https://pan.baidu.com/s/1lYO_2qP7GAyuVl1IvuTNVg 提取码:7t8y window下fdfs_client... -
为什么用python3.5调用fdfs_client时抛出异常raise DataError(errmsg + '(uploading)')?
2019-04-19 17:15:33File "/home/python/FastDFS/fdfs_client-py-master/fdfs_client/client.py", line 88, in upload_by_filename raise DataError(errmsg + '(uploading)') fdfs_client.exceptions.DataError: [-] Error: test1 ... -
fdfs_client.conf not found使用fastdfs文件上传时,指定的文件不存在
2021-06-02 10:59:55target/classes/fdfs_client.conf not found at org.csource.fastdfs.ClientGlobal.init(ClientGlobal.java:96) at com.offcn.utils.FastDFSClient.<init>(FastDFSClient.java:21) at ... -
Fastdfs集群部署以及基本操作
2021-04-12 10:10:52tracker服务器IP和端口 tracker_server=192.168.0.122:22122 #tracker服务器IP2和端口 2、执行文件上传命令 #/root/test.png 是需要上传文件路径 /usr/bin/fdfs_upload_file /etc/fdfs/client.conf /root/test.png ... -
fdfs文件服务环境搭建
2020-07-03 11:33:00path=/home/lvjian tracker_server=192.168.29.129:22122 #tracker服务器IP和端口 ----修改内容end---- fdfs_upload_file /etc/fdfs/client.conf /usr/local/src/nginx-1.15.4.tar.gz #测试上传 成功返回id如:group... -
【FastDFS分布式文件系统】5.FastDFS客户端的配置、启动和常用命令
2018-07-08 14:54:17使用“fdfs_file_info”可以查看到文件的详细存储信息,也是跟上客户端的配置文件以及储服务器返回给我们的文件的路径: 这时FastDFS会给我们返回该文件的存储服务器节点id、存储服务器的ip地址、文件上传的时间、... -
FastDFS上传文件报错:upload file fail, error no: 2, error info: No such file or directory
2022-05-27 16:55:42[root@localhost etc]# /usr/bin/fdfs_test /etc/fdfs/client.conf upload /root/hi.html This is FastDFS client test program v6.07 Copyright (C) 2008, Happy Fish / YuQing FastDFS may be copied only under... -
CentOS7安装FastDFS 5.05
2018-04-18 21:07:47cp -f fdfs_monitor fdfs_test fdfs_test1 fdfs_crc32 fdfs_upload_file fdfs_download_file fdfs_delete_file fdfs_file_info fdfs_appender_test fdfs_appender_test1 fdfs_append_file fdfs_upload_appender /usr... -
centos8 fastdfs 文件系统安装 java 使用
2022-06-26 00:44:34storaged stop 使用客户但上传功能 cd /usr/bin /usr/local/bin/fdfs_upload_file /etc/fdfs/client.conf /要上传的文件 /usr/bin/fdfs_upload_file /etc/fdfs/client.conf /etc/fdfs/t.txt 返回结果:group1/M00/00...