当前位置:   article > 正文

FastDFS--安装篇

FastDFS--安装篇

 

    前面了解了fastdfs的原理,接下来就熟悉一下安装过程,准备了三台机器,一台模拟client,一台模拟storage,一台模拟tracker。

    三台机器均为debian6,系统为最小化安装,先安装基本编译环境:

    apt-get install build-essential php5-dev libevent-dev

    下载fastdfs源码包:

wget http://fastdfs.googlecode.com/files/FastDFS_v3.05.tar.gz

     开始安装:

  1. tar zxvf FastDFS_v3.05.tar.gz
  2. cd FastDFS/
  3. ./make.sh
  4. ./make.sh install

    安装完成后,fastdfs默认的配置文件被放置在/etc/fdfs 目录下面,包含了client.conf  http.conf  mime.types  storage.conf  tracker.conf五个文件,fastdfs进程的启动是以加载的配置文件区分的。源码包中都包含了这三个配置文件。

   tracker.conf 配置文件分析:

  1. #配置tracker.conf这个配置文件是否生效,因为在启动fastdfs服务端进程时需要指定配置文件,所以需要使次配置文件生效。false是生效,true是屏蔽。
  2. disabled=false
  3. #程序的监听地址,如果不设定则监听所有地址
  4. bind_addr=
  5. #tracker监听的端口
  6. port=22122
  7. #链接超时设定
  8. connect_timeout=30
  9. #tracker在通过网络发送接收数据的超时时间
  10. network_timeout=60
  11. #数据和日志的存放地点
  12. base_path=/opt/fdfs
  13. #服务所支持的最大链接数
  14. max_connections=256
  15. #工作线程数一般为cpu个数
  16. work_threads=4
  17. #在存储文件时选择group的策略,0:轮训策略 1:指定某一个组 2:负载均衡,选择空闲空间最大的group
  18. store_lookup=2
  19. #如果上面的store_lookup选择了1,则这里需要指定一个group
  20. #store_group=group2
  21. #在group中的哪台storage做主storage,当一个文件上传到主storage后,就由这台机器同步文件到group内的其他storage上,0:轮训策略 1:根据ip地址排序,第一个 2:根据优先级排序,第一个
  22. store_server=0
  23. #选择那个storage作为主下载服务器,0:轮训策略 1:主上传storage作为主下载服务器
  24. download_server=0
  25. #选择文件上传到storage中的哪个(目录/挂载点),storage可以有多个存放文件的base path 0:轮训策略 2:负载均衡,选择空闲空间最大的
  26. store_path=0
  27. #系统预留空间,当一个group中的任何storage的剩余空间小于定义的值,整个group就不能上传文件了
  28. reserved_storage_space = 4GB
  29. #日志信息级别
  30. log_level=info
  31. #进程以那个用户/用户组运行,不指定默认是当前用户
  32. run_by_group=
  33. run_by_user=
  34. #允许那些机器连接tracker默认是所有机器
  35. allow_hosts=*
  36. #设置日志信息刷新到disk的频率,默认10s
  37. sync_log_buff_interval = 10
  38. #检测storage服务器的间隔时间,storage定期主动向tracker发送心跳,如果在指定的时间没收到信号,tracker人为storage故障,默认120s
  39. check_active_interval = 120
  40. #线程栈的大小,最小64K
  41. thread_stack_size = 64KB
  42. #storage的ip改变后服务端是否自动调整,storage进程重启时才自动调整
  43. storage_ip_changed_auto_adjust = true
  44. #storage之间同步文件的最大延迟,默认1
  45. storage_sync_file_max_delay = 86400
  46. #同步一个文件所花费的最大时间
  47. storage_sync_file_max_time = 300
  48. #是否用一个trunk文件存储多个小文件
  49. use_trunk_file = false
  50. #最小的solt大小,应该小于4KB,默认256bytes
  51. slot_min_size = 256
  52. #最大的solt大小,如果上传的文件小于默认值,则上传文件被放入trunk文件中
  53. slot_max_size = 16MB
  54. #trunk文件的默认大小,应该大于4M
  55. trunk_file_size = 64MB
  56. #http服务是否生效,默认不生效
  57. http.disabled=false
  58. #http服务端口
  59. http.server_port=8080
  60. #检测storage上http服务的时间间隔,<=0表示不检测
  61. http.check_alive_interval=30
  62. #检测storage上http服务时所用请求的类型,tcp只检测是否可以连接,http必须返回200
  63. http.check_alive_type=tcp
  64. #通过url检测storage http服务状态
  65. http.check_alive_uri=/status.html
  66. #if need find content type from file extension name
  67. http.need_find_content_type=true
  68. #用include包含进http的其他设置
  69. ##include http.conf

    启动tracker进程

fdfs_trackerd /etc/fdfs/tracker.conf

    检测状态

  1. netstat -tupln|grep tracker
  2. #可以看到如下:
  3. tcp 0 0 0.0.0.0:22122 0.0.0.0:* LISTEN 18559/fdfs_trackerd

    

    storage.conf配置文件分析:

  1. #同tracker.conf
  2. disabled=false
  3. #这个storage服务器属于那个group
  4. group_name=group1
  5. #同tracker.conf
  6. bind_addr=
  7. #连接其他服务器时是否绑定地址,bind_addr配置时本参数才有效
  8. client_bind=true
  9. #同tracker.conf
  10. port=23000
  11. connect_timeout=30
  12. network_timeout=60
  13. #主动向tracker发送心跳检测的时间间隔
  14. heart_beat_interval=30
  15. #主动向tracker发送磁盘使用率的时间间隔
  16. stat_report_interval=60
  17. #同tracker.conf
  18. base_path=/opt/fdfs
  19. max_connections=256
  20. #接收/发送数据的buff大小,必须大于8KB
  21. buff_size = 256KB
  22. #同tracker.conf
  23. work_threads=4
  24. #磁盘IO是否读写分离
  25. disk_rw_separated = true
  26. #是否直接读写文件,默认关闭
  27. disk_rw_direct = false
  28. #混合读写时的读写线程数
  29. disk_reader_threads = 1
  30. disk_writer_threads = 1
  31. #同步文件时如果binlog没有要同步的文件,则延迟多少毫秒后重新读取,0表示不延迟
  32. sync_wait_msec=50
  33. #同步完一个文件后间隔多少毫秒同步下一个文件,0表示不休息直接同步
  34. sync_interval=0
  35. #表示这段时间内同步文件
  36. sync_start_time=00:00
  37. sync_end_time=23:59
  38. #同步完多少文件后写mark标记
  39. write_mark_file_freq=500
  40. #storage在存储文件时支持多路径,默认只设置一个
  41. store_path_count=1
  42. #配置多个store_path路径,从0开始,如果store_path0不存在,则base_path必须存在
  43. store_path0=/opt/fdfs
  44. #store_path1=/opt/fastdfs2
  45. #subdir_count * subdir_count个目录会在store_path下创建,采用两级存储
  46. subdir_count_per_path=256
  47. #设置tracker_server
  48. tracker_server=x.x.x.x:22122
  49. #同tracker.conf
  50. log_level=info
  51. run_by_group=
  52. run_by_user=
  53. allow_hosts=*
  54. #文件在数据目录下的存放策略,0:轮训 1:随机
  55. file_distribute_path_mode=0
  56. #当问及是轮训存放时,一个目录下可存放的文件数目
  57. file_distribute_rotate_count=100
  58. #写入多少字节后就开始同步,0表示不同步
  59. fsync_after_written_bytes=0
  60. #刷新日志信息到disk的间隔
  61. sync_log_buff_interval=10
  62. #同步storage的状态信息到disk的间隔
  63. sync_stat_file_interval=300
  64. #线程栈大小
  65. thread_stack_size=512KB
  66. #设置文件上传服务器的优先级,值越小越高
  67. upload_priority=10
  68. #是否检测文件重复存在,1:检测 0:不检测
  69. check_file_duplicate=0
  70. #当check_file_duplicate设置为1时,次值必须设置
  71. key_namespace=FastDFS
  72. #与FastDHT建立连接的方式 0:短连接 1:长连接
  73. keep_alive=0
  74. #同tracker.conf
  75. http.disabled=false
  76. http.domain_name=
  77. http.server_port=8888
  78. http.trunk_size=256KB
  79. http.need_find_content_type=true
  80. ##include http.conf

    启动storage进程

fdfs_storaged /etc/fdfs/storage.conf

    检测状态

  1. netstat -tupln | grep storage
  2. #结果如下:
  3. tcp 0 0 0.0.0.0:23000 0.0.0.0:* LISTEN 17138/fdfs_storaged

    client.conf配置文件分析:

  1. #同tracker.conf
  2. connect_timeout=30
  3. network_timeout=60
  4. base_path=/opt/fdfs
  5. tracker_server=x.x.x.x:22122
  6. log_level=info
  7. http.tracker_server_port=8080

    测试上传文件:

  1. fdfs_upload_file /etc/fdfs/client.conf client.conf
  2. #返回如下字符串
  3. group1/M00/00/00/CgEGflAqaFW4hENaAAACo8wrbSE16.conf

    在storage的数据目录下的00/00目录下即可看到该文件,文件名称是CgEGflAqaFW4hENaAAACo8wrbSE16.conf

 

 

 

 

 

转载于:https://my.oschina.net/guol/blog/72845

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/在线问答5/article/detail/891162
推荐阅读
  

闽ICP备14008679号