Giter Site home page Giter Site logo

fastdfs's People

Contributors

qbanxiaoli avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar

fastdfs's Issues

container ip

IP=ifconfig eth0 | grep inet | awk '{print \$2}'| awk -F: '{print \$2}'; \n
应该是 "\`", 需要转义。是在 docker run 获取 ip,二不是在 docker build 获取 ip
IP=`ifconfig eth0 | grep inet | awk '{print $2}'| awk -F: '{print $2}'`; \n\

macos 安装

docker镜像启动成功后,
docker exec -it fastdfs /bin/bash

echo "Hello FastDFS!">index.html

fdfs_test /etc/fdfs/client.conf upload index.html 执行这一行时报错 ERROR - file: connection_pool.c, line: 130, connect to 192.168.50.179(这是我当前机器的ip地址 ):22122 fail, errno: 111, error info: Connection refused ;如果我镜像启动时不指定ip 也会报相同的错误
这个怎么解决?

去重功能似乎未生效

在docker内部上传同一个文件2次,建立了软连接,说明去重生效,
但是在外部,我用python上传同一个图片两次,没有建立软连接,说明去重没生效,
这就很奇怪?
image

fdhtd 启动报错

ERROR - file: func.c, line: 332, local host does not belong to any group, program exit!

docker启动后 查看 fdhtd 日志报错如上。

fdht_servers.conf 配置如下
group_count = 1 group0=xx.xx.xx.xx:11411

ip地址是外网地址

如何新增group?

如题:
现在是默认的group1
是否考虑一个新的环境变量,可以替换fastdfs中的group_name

在使用时,指定。
例如:
-e GROUP_NAME=group1/group2/...

在使用公网ip时fdht日志会有一条报错 ERROR - file: func.c, line: 332, local host does not belong to any group, program exit!

问题1.
linux环境下使用启动命令
docker run -d --restart=always --net=host --name=toolFastdfs -e IP=<公网ip> -e WEB_PORT=81 -v /home/ubuntu/docker-v/toolFastdfs:/var/local qbanxiaoli/fastdfs
在使用公网ip时fdht日志会有一条报错 ERROR - file: func.c, line: 332, local host does not belong to any group, program exit!(内网ip没有问题)

问题2.
参数--net=host在mac与win环境下无法使用,请问可以用什么代替

不同机器搭建集群

您好,我在两台云服务器上分别使用docker-compose启动,ip填写了两台机器的公网ip,内网ip也试过了。
在容器内部执行 fdfs_test /etc/fdfs/client.conf upload index.html 后出现如下错误:

[2021-11-30 14:11:35] ERROR - file: connection_pool.c, line: 130, connect to A服务器内网ip:22122 fail, errno: 110, error info: Operation timed out
[2021-11-30 14:11:35] ERROR - file: tracker_proto.c, line: 48, server: B服务器内网ip:22122, response status 2 != 0
[2021-11-30 14:11:35] ERROR - file: ../client/tracker_client.c, line: 1085, fdfs_recv_response fail, result: 2
[2021-11-30 14:11:35] ERROR - file: tracker_proto.c, line: 48, server: A服务器内网ip:22122, response status 2 != 0
[2021-11-30 14:11:35] ERROR - file: ../client/tracker_client.c, line: 907, fdfs_recv_response fail, result: 2


docker-compose文件被我修改成如下:

version: '3'
services:
fastdfs:
build: .
image: ljb/fastdfs-cluster:v1.0
# 该容器是否需要开机启动+自动重启。若需要,则取消注释。
restart: always
container_name: fastdfs
ports:
- "18888:80"
- "22122:22122"
- "23000:23000"
environment:
# nginx服务端口,默认80端口,可修改
WEB_PORT: 18888
# tracker_server服务端口,默认22122端口,可修改
FDFS_PORT: 22122
# storage_server服务端口,默认23000端口,可修改
STORAGE_PORT: 23000
# fastdht服务端口,默认11411端口,可修改
FDHT_PORT: 11411
# docker所在的宿主机内网地址,默认使用eth0网卡的地址
IP: A服务器内网ip,B服务器内网ip
# 防盗链配置
# 是否做token检查,缺省值为false
CHECK_TOKEN: 0
# 生成token的有效时长,默认900s
TOKEN_TTL: 900
# 生成token的密钥
SECRET_KEY: FastDFS1234567890
# token检查失败,返回的本地文件内容,可以通过文件挂载的方式进行修改
TOKEN_CHECK_FAIL: /etc/fdfs/anti-steal.jpg
volumes:
# 将本地目录映射到docker容器内的fastdfs数据存储目录,将fastdfs文件存储到主机上,以免每次重建docker容器,之前存储的文件就丢失了。
- dfs_data:/var/local
# 网络模式为host,可不暴露端口,即直接使用宿主机的网络端口,只适用于linux系统

network_mode: host

volumes:
dfs_data: {}


希望您可以指点一下,谢谢

指定端口号不生效

pull镜像后启动命令如下:

docker run -d --restart=always --net=host --privileged=true --name=fastdfs --env IP=172.16.11.237 --env WEB_PORT=8702 --env FDFS_PORT=8700 --env FDHT_PORT=8701  -v /home/fastdfs:/var/local/fdfs qbanxiaoli/fastdfs

查看服务端口:

netstat -luntp|grep dfs

结果如下
image

帮忙看下,谢谢

springboot2.x upload error

com.github.tobato.fastdfs.exception.FdfsConnectException: 无法获取服务端连接资源:can't create connection to/172.18.0.1:23000
at com.github.tobato.fastdfs.domain.conn.DefaultConnection.(DefaultConnection.java:56)
at com.github.tobato.fastdfs.domain.conn.PooledConnectionFactory.create(PooledConnectionFactory.java:56)
at com.github.tobato.fastdfs.domain.conn.PooledConnectionFactory.create(PooledConnectionFactory.java:22)
at org.apache.commons.pool2.BaseKeyedPooledObjectFactory.makeObject(BaseKeyedPooledObjectFactory.java:60)
at org.apache.commons.pool2.impl.GenericKeyedObjectPool.create(GenericKeyedObjectPool.java:1041)
at org.apache.commons.pool2.impl.GenericKeyedObjectPool.borrowObject(GenericKeyedObjectPool.java:342)
at org.apache.commons.pool2.impl.GenericKeyedObjectPool.borrowObject(GenericKeyedObjectPool.java:265)
at com.github.tobato.fastdfs.domain.conn.ConnectionManager.getConnection(ConnectionManager.java:148)
at com.github.tobato.fastdfs.domain.conn.ConnectionManager.executeFdfsCmd(ConnectionManager.java:63)
at com.github.tobato.fastdfs.service.DefaultFastFileStorageClient.uploadFileAndMetaData(DefaultFastFileStorageClient.java:223)
at com.github.tobato.fastdfs.service.DefaultFastFileStorageClient.uploadImage(DefaultFastFileStorageClient.java:145)
at com.github.tobato.fastdfs.service.DefaultFastFileStorageClient.uploadImageAndCrtThumbImage(DefaultFastFileStorageClient.java:92)
at com.springboot.cloud.sysadmin.organization.util.FDFSUtils.upload(FDFSUtils.java:30)
at com.springboot.cloud.sysadmin.organization.rest.FileController.uploadFile(FileController.java:30)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:189)
at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:138)
at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:102)
at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:892)
at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:797)
at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87)
at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1038)
at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:942)
at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1005)
at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:908)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:660)
at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:882)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:741)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:231)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
at com.alibaba.druid.support.http.WebStatFilter.doFilter(WebStatFilter.java:123)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
at org.springframework.boot.actuate.web.trace.servlet.HttpTraceFilter.doFilterInternal(HttpTraceFilter.java:90)
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:99)
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:92)
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
at org.springframework.web.filter.HiddenHttpMethodFilter.doFilterInternal(HiddenHttpMethodFilter.java:93)
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
at org.springframework.cloud.sleuth.instrument.web.ExceptionLoggingFilter.doFilter(ExceptionLoggingFilter.java:50)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
at brave.servlet.TracingFilter.doFilter(TracingFilter.java:86)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
at org.springframework.boot.actuate.metrics.web.servlet.WebMvcMetricsFilter.filterAndRecordMetrics(WebMvcMetricsFilter.java:117)
at org.springframework.boot.actuate.metrics.web.servlet.WebMvcMetricsFilter.doFilterInternal(WebMvcMetricsFilter.java:106)
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:200)
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
at com.alibaba.csp.sentinel.adapter.servlet.CommonFilter.doFilter(CommonFilter.java:91)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:200)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:96)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:490)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:139)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:343)
at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:408)
at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:66)
at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:834)
at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1415)
at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
at java.lang.Thread.run(Thread.java:748)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.