FastDFS--storage文件上傳和下載問題


使用FastDFS--storage文件上傳出現如下bug:

>>> ret = client.upload_by_filename('/home/python/Desktop/1.jpg')

Traceback (most recent call last):
File "<console>", line 1, in <module>
File "/home/python/.virtualenvs/meiduo/lib/python3.5/site-packages/fdfs_client/client.py", line 90, in upload_by_filename
store_serv = tc.tracker_query_storage_stor_without_group()
File "/home/python/.virtualenvs/meiduo/lib/python3.5/site-packages/fdfs_client/tracker_client.py", line 381, in tracker_query_storage_stor_without_group
raise DataError('[-] Error: %d, %s' % (th.status, os.strerror(th.status)))
fdfs_client.exceptions.DataError: [-] Error: 2, No such file or directory

問題原因:  

  1. storage容器或者tracker服務沒有開啟(直接開啟就好)

  2. storage啟動時設置的IP或端口和python中連接配置文件(如:client.conf)中的IP地址不一致

問題1解決方案:

  1. 開啟storage容器和tracker

  2. 錯誤2:報磁盤空間不足,No space on device left.

    解決:擴空間,或刪除舊內容

  3. 錯誤3:No such file or directory

    • 解決:啟動tracker、storage

  4. 錯誤4:啟動storage失敗

    • 解決:sudo rm /var/fdfs/storage/data/fdfs_storaged.pid

  5.錯誤5:容器storage、tracker都已經啟動,但是仍然報文件不存在的錯誤

    • 解決:停止兩個容器,刪除兩個容器,run兩個容器

    • 注意:啟動storage時查看當前機器的ip並設置

# 查看運行的容器
sudo docker container ls
# 查看所有的容器
sudo docker container ls -a
# 如果沒有開啟容器就先查看所有容器,復制容器的CONTAINER ID

 

  2. 開啟之后重新在上傳 

 

問題2解決方案:

  1. 查看本機IP

  ifconfig(linux)或者ipconfig(win)

  2. 停止storage容器  

sudo docker  container stop storage

  3. 刪除當前容器

 sudo docker  container rm  storage

  4. 將 storage 運行目錄映射到宿主機的 /var/fdfs/storage目錄中

sudo docker run -dti --name storage --network=host -e TRACKER_SERVER=192.168.103.158:22122 -v /var/fdfs/storage:/var/fdfs delron/fastdfs storage
# 上面IP地址記得更換自己剛查看的IP地址,TRACKER_SERVER=Tracker的ip地址:22122(Tracker的ip地址不能使用127.0.0.1)配置文件也要更改成這個IP地址:如下圖

  5. 重新運行storage容器

sudo docker  container start storage

  6. 查看容器狀態

sudo docker container ls

如果開啟,如下圖,證明storage開啟成功:

 

 7. 重新上傳你的圖片,如下圖代表成功了。

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM