>>1.除了在storage.conf里的tracker_server增加tracker的ip和端口,其他地方要注意什么?
恩,tracker server ip和端口,肯定是要正确设置的。支持多tracker server,每行设置一个tracker。
另外,base_path也要正确设置。
其余参数,通常采用缺省配置即可。你可以看一下配置说明那个帖子。
>>每台tracker和storage的启动有没有先后关系?
正常情况下,应该先启动tracker。
FastDFS不会有这样的要求,你要启动storage也是没有任何问题的。
>>2.想要把fastDFS产生的记录清空,再重新搭建一次,应该删除哪些文件?
停止storage server和tracker server,删除base_path下的data子目录即可。
注意:storage 的data目录下保存了上传文件,删除时请慎重。
>>>>[2010-12-15 15:51:35] ERROR - file:
../common/pthread_func.c, line: 163, create thread failed, startup
threads: 2173, errno: 11, error info: Resource temporarily unavailable
最后这一行已经说明问题了,创建的线程太多,使用的资源已经达到系统上限。
解决方法:继续使用现有版本,调小max_connections这个参数,比如调整为1024。
另外一个方法,升级到2.x,比如2.05。2.x采用异步IO模型,可以使用有限的几个线程,支持大量的并发连接。
比如,线程数可以配置为4,支持的最大连接数可以配置为1024或者更高。
昨天看了代码发现程序会在启动服务的时候,会创建设置的连接数,用来检验服务器是否能够支持使用者设置的最大连接。
>>>>程序中要访问,比如上传文件,可以使用FastDFS提供的java API。
客户端通过HTTP下载文件时,可以走web server,如apache、nginx等。
>>>>请问通过http下载文件时,能否让下载的文件名称自动变成原文件名称?
可以使用文件附加属性来存储该文件的原文件名。在apache或nginx扩展模块中,可以在HTTP Header中输出原文件名。
>>1、简单看了下Java client的代码,看到可以通过client api获取上传文件的group name and filename,请问能否直接通过API获取http访问地址?
A: 生成http访问地址,没有提供现成的方法,但提供了示例代码,在TestClient1.java和TestClient.java中均有。摘录一下TestClient.java中的代码如下:
int ts;
String token;
String file_url;
InetSocketAddress inetSockAddr;
System.err.println("file_id: " + file_id);
inetSockAddr = trackerServer.getInetSocketAddress();
file_url = "http://" + inetSockAddr.getAddress().getHostAddress();
if (ClientGlobal.g_tracker_http_port != 80)
{
file_url += ":"