fastdfs配置

参考:https://www.cnblogs.com/kevingrace/p/8471827.html

有3个配置文件,所在的目录:/etc/fdfs

client.conf.sample  storage.conf.sample  tracker.conf.sample

复制上面的3个文件,文件名去掉sample

修改tracker.conf配置文件

1,设置有效

# is this config file disabled
# false for enabled
# true for disabled
disabled=false

2,绑定IP地址,不设置代表本机的所有IP地址

# bind an address of this host
# empty for bind all addresses of this host
bind_addr=

3,修改端口号

# the tracker server port
port=22122

4,修改数据和日志的目录

#the base path to store data and log files
base_path=/home/自己的用户名/文件夹名

修改storage.conf配置文件(存储节点)

1,

2,

3,

4,

和tracker一样

5,设置存储目录的数量和每个目录的实际路径

# path(disk or mount point) count, default value is 1
# 如果把下面的1修改为3,则store_path1和store_path2,就必须设置
store_path_count=1

# store_path#, based 0, if store_path0 not exists, it's value is base_path
# the paths must be exist
store_path0=/home/ys/fastdfs/storage
#store_path1=/home/yuqing/fastdfs2

6,指定tracker进程所在的机器的IP和使用的端口

# tracker_server can ocur more than once, and tracker_server format is
#  "host:port", host can be hostname or ip address
tracker_server=192.168.209.121:22122

7,设置当前节点所属的组

# the name of the group this storage server belongs to
#
# comment or remove this item for fetching from tracker server,
# in this case, use_storage_id must set to true in tracker.conf,
# and storage_ids.conf must be configed correctly.
group_name=group1

修改client.conf配置文件

1,修改数据和日志的目录

# the base path to store log files
base_path=/home/ys/fastdfs/client

2,指定tracker进程所在的机器的IP和使用的端口

# tracker_server can ocur more than once, and tracker_server format is
#  "host:port", host can be hostname or ip address
tracker_server=10.210.65.125:22122

tracker启动命令

fdfs_trackerd /etc/fdfs/tracker.conf

用下面的确认是否启动成功

ps aux | grep fdfs*

如果有下面的结果,说明启动成功。如果没有,去设置的log文件夹看trackerd.log文件里的错误消息。

ys        1260  0.2  0.2  90452  5804 ?        Sl   22:15   0:00 fdfs_trackerd /etc/fdfs/tracker.conf

启动成功后,是守护进程。

重新启动或者停止的命令

sudo fdfs_trackerd /etc/fdfs/tracker.conf restart/stop

storage启动命令

fdfs_storaged /etc/fdfs/storage.conf

用下面的确认是否启动成功

ps aux | grep fdfs*

如果有下面的结果,说明启动成功。如果没有,去设置的log文件夹看storaged.log文件里的错误消息。

ys        1352  0.0  0.1  85200  3424 ?        Sl   22:26   0:00 fdfs_storaged /etc/fdfs/storage.conf

启动成功后,是守护进程。

重新启动或者停止的命令

sudo fdfs_storaged /etc/fdfs/storage.conf restart/stop

实验一下tracker和storage是否正常工作,用下面命令

fdfs_monitor /etc/fdfs/client.conf

如果显示下面的结果,说明正常工作。

主要看storage是否是ACTIVE

[2019-08-21 22:31:35] DEBUG - base_path=/home/ys/fastdfs/client, connect_timeout=30, network_timeout=60, tracker_server_count=1, anti_steal_token=0, anti_steal_secret_key length=0, use_connection_pool=0, g_connection_pool_max_idle_time=3600s, use_storage_id=0, storage server id count: 0

server_count=1, server_index=0

tracker server is 192.168.0.200:22122

group count: 1

Group 1:
group name = group1
disk total space = 60217 MB
disk free space = 42740 MB
trunk free space = 0 MB
storage server count = 1
active server count = 1
storage server port = 23000
storage HTTP port = 8888
store path count = 1
subdir count per path = 256
current write server index = 0
current trunk file id = 0

        Storage 1:
                id = 192.168.0.200
                ip_addr = 192.168.0.200 (ys-VirtualBox)  ACTIVE
                http domain =
                version = 5.12
                join time = 2019-08-21 22:20:33
                up time = 2019-08-21 22:26:46
                total storage = 60217 MB
                free storage = 42740 MB
                upload priority = 10
                store_path_count = 1
                subdir_count_per_path = 256
                storage_port = 23000
                storage_http_port = 8888
                current_write_path = 0
                source storage id =
                if_trunk_server = 0
                connection.alloc_count = 256
                connection.current_count = 0
                connection.max_count = 0
                total_upload_count = 0
                success_upload_count = 0
                total_append_count = 0
                success_append_count = 0
                total_modify_count = 0
                success_modify_count = 0
                total_truncate_count = 0
                success_truncate_count = 0
                total_set_meta_count = 0
                success_set_meta_count = 0
                total_delete_count = 0
                success_delete_count = 0
                total_download_count = 0
                success_download_count = 0
                total_get_meta_count = 0
                success_get_meta_count = 0
                total_create_link_count = 0
                success_create_link_count = 0
                total_delete_link_count = 0
                success_delete_link_count = 0
                total_upload_bytes = 0
                success_upload_bytes = 0
                total_append_bytes = 0
                success_append_bytes = 0
                total_modify_bytes = 0
                success_modify_bytes = 0
                stotal_download_bytes = 0
                success_download_bytes = 0
                total_sync_in_bytes = 0
                success_sync_in_bytes = 0
                total_sync_out_bytes = 0
                success_sync_out_bytes = 0
                total_file_open_count = 0
                success_file_open_count = 0
                total_file_read_count = 0
                success_file_read_count = 0
                total_file_write_count = 0
                success_file_write_count = 0
                last_heart_beat_time = 2019-08-21 22:31:15
                last_source_update = 1970-01-01 08:00:00
                last_sync_update = 1970-01-01 08:00:00
                last_synced_timestamp = 1970-01-01 08:00:00

这时,就可以上传和下载文件了

上传

fdfs_upload_file /etc/fdfs/client.conf 要上传的文件

执行结果:

group1/M00/00/00/wKgAyF1dWGyAbQF1AAAACrGxDWg811.txt

group1/M00/00/00里的第一个00是文件夹,第二00也是文件夹,

去storage的【base_path=/home/自己的用户名/文件夹名】文件夹里,可以找到上传的文件。

下载

fdfs_download_file /etc/fdfs/client.conf group1/M00/00/00/wKgAyF1dWGyAbQF1AAAACrGxDWg811.txt

指定上传时生产的【fdfs_download_file /etc/fdfs/client.conf group1/M00/00/00/wKgAyF1dWGyAbQF1AAAACrGxDWg811.txt】的名字,就能下载到本地。

常见问题

1,ERROR - file: tracker_proto.c, line: 48, server: 192.168.146.111:22122, response status 2 != 0
发生问题的背景:client,tracker,storage分别在3台机器上,在client上运行【fdfs_monitor /etc/fdfs/client.conf】,状态不是active,而是INIT。
然后查看,storage机器上的log文件,发现错误信息就是上面的。查了一下午,原来以为是tracker机器的端口22122和storage机器的端口23000没有打开导致的,所以把端口打开了,但还是不好使。后来关闭storage和tracker服务,并把storage机器上的data文件夹删除,并把tracker机器的/etc/fdfs/tracker.conf和/etc/fdfs/client.conf删除后,重新启动storage和tracker服务后,一切正常了。可以在client机器上,上传文件和下载文件了。

个人推断,当storage成功作为某个tracker的storage,并执行过上传操作后;再让它作为另外一个tracker的storage节点的时候,启动storage服务前,最好删除上一次生成的data文件夹,或者修改storage.conf文件,指定新的data文件夹路径。当然这只限于做学习实验,在生产环境不能随便删除storage节点的data文件夹。

打开端口:https://blog.csdn.net/ErErFei/article/details/98204536

c/c++ 学习互助QQ群:877684253

本人微信:xiaoshitou5854

原文地址:https://www.cnblogs.com/xiaoshiwang/p/11420120.html