zoukankan      html  css  js  c++  java
  • FastDFSstorage文件上传和下载问题

    使用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. 重新上传你的图片,如下图代表成功了。

  • 相关阅读:
    C++ Programming with TDD之一:GMOCK框架简介
    Linux Programming之MySQL
    Python之自动单元测试之一(unittest使用实例)
    关于过去的这一个月——面试经历
    谈谈Python中对象拷贝
    C++之Effective STL学习笔记Item21
    C++之Effective STL学习笔记Item7
    C++之Effective STL学习笔记Item20
    C++之Effective STL学习笔记Item14
    Coding Rules
  • 原文地址:https://www.cnblogs.com/yblackd/p/14533438.html
Copyright © 2011-2022 走看看