1.CentOS7 FastDFS搭建

前面已下载好了要用到的工具集,下面就可以开始安装了: 
如果安装过程中出现问题,可以下载我提供的,当前测试可以通过的工具包:

点这里点这里

1.1 安装libfastcommon

安装成功后解压libfastcommon-master.zip

  1. unzip libfastcommon-master.zip
  1. [root@sybmfw12-lnsy libfastcommon-1.0.]# ll
  2. drwxr-xr-x. root root 4 doc
  3. -rw-r--r--. root root 4 HISTORY
  4. -rw-r--r--. root root 4 INSTALL
  5. -rw-r--r--. root root 4 libfastcommon.spec
  6. -rwxr-xr-x. root root 4 make.sh
  7. drwxr-xr-x. root root 4 php-fastcommon
  8. -rw-r--r--. root root 4 README
  9. drwxr-xr-x. root root 11 : src

当我们./make.sh的时候可能会提示,gcc命令没有找到。

用yum安装gcc:

  1. yum -y install gcc-c++

这个时候分别执行./make.sh和./make.sh install,正常情况是可以成功的。 
libfastcommon默认会被安装到/usr/lib64/libfastcommon.so但是FastDFS的主程序却在/usr/local/lib目录下 
这个时候我们就要建立一个软链接了,实际上也相当于windows上的快捷方式。

  1. ln -s /usr/lib64/libfastcommon.so /usr/local/lib/libfastcommon.so
  2. ln -s /usr/lib64/libfastcommon.so /usr/lib/libfastcommon.so
  3. ln -s /usr/lib64/libfdfsclient.so /usr/local/lib/libfdfsclient.so
  4. ln -s /usr/lib64/libfdfsclient.so /usr/lib/libfdfsclient.so

1.2安装FastDFS

解压FastDFS安装包

  1. unzip fastdfs-5.11.zip

解压后看到:

  1. [root@sybmfw12-lnsy fastdfs-5.11]# ll
    总用量
  2. drwxr-xr-x. root root 11 : client
  3. drwxr-xr-x. root root 11 : common
  4. drwxr-xr-x. root root 6 : conf
  5. -rw-r--r--. root root 6 : COPYING-3_0.txt
  6. -rw-r--r--. root root 6 : fastdfs.spec
  7. -rw-r--r--. root root 6 : HISTORY
  8. drwxr-xr-x. root root 6 : init.d
  9. -rw-r--r--. root root 6 : INSTALL
  10. -rwxr-xr-x. root root 6 : make.sh
  11. drwxr-xr-x. root root 6 : php_client
  12. -rw-r--r--. root root 6 : README.md
  13. -rwxr-xr-x. root root 6 : restart.sh
  14. -rwxr-xr-x. root root 6 : stop.sh
  15. drwxr-xr-x. root root 11 : storage
  16. drwxr-xr-x. root root 6 : test
  17. drwxr-xr-x. root root 11 : track

进到刚解压的目录:

  1. cd fastdfs-5.11
  2. ./make.sh
  3. ./make.sh install

如果没有报错那么就成功了。安装log中会提示FastDFS安装到了/etc/fdfs目录下。

成功后查看安装目录:

  1. [root@sybmfw12-lnsy fastdfs-5.11]# ll /etc/fdfs/
    -rw-r--r--. root root 11 : client.conf.sample
  2.  
  3. -rw-r--r--. root root 11 : storage.conf.sample
  4.  
  5. -rw-r--r--. root root 11 : tracker.conf.sample

我们需要把这三个示例文件复制一份,去掉.sample

  1. cp client.conf.sample client.conf
  2. cp storage.conf.sample storage.conf
  3. cp tracker.conf.sample tracker.conf

FastDFS安装结束。

1.3安装tracker

1.3.1创建tracker工作目录

这个目录可以自定义,用来保存tracker的data和log 
根据个人习惯,我创建了下面的目录:

  1. mkdir /opt/fastdfs_tracker

1.3.2 配置tracker

  1. vim /etc/fdfs/tracker.conf
  2. 打开后重点关注下面4个配置:
  3. .disabled=false
  4. .port= #默认端口号
  5. .base_path=/opt/fastdfs_tracker #我刚刚创建的目录
  6. .http.server_port= #默认端口是8080
    5.bind_addr= 0.0.0.0 监听地址

修改完的文件为:

  1. disabled=false
  2.  
  3. bind_addr= 0.0.0.0
  4.  
  5. port=
  6.  
  7. connect_timeout=
  8.  
  9. network_timeout=
  10.  
  11. base_path=/opt/fastdfs_tracker
  12.  
  13. max_connections=
  14.  
  15. accept_threads=
  16.  
  17. work_threads=
  18.  
  19. min_buff_size = 8KB
  20.  
  21. max_buff_size = 128KB
  22.  
  23. store_lookup=
  24.  
  25. store_group=group2
  26.  
  27. store_server=
  28.  
  29. store_path=
  30.  
  31. download_server=
  32.  
  33. reserved_storage_space = %
  34.  
  35. log_level=info
  36.  
  37. run_by_group=
  38.  
  39. run_by_user=
  40.  
  41. allow_hosts=*
  42.  
  43. sync_log_buff_interval =
  44.  
  45. check_active_interval =
  46.  
  47. thread_stack_size = 64KB
  48.  
  49. storage_ip_changed_auto_adjust = true
  50.  
  51. storage_sync_file_max_delay =
  52.  
  53. storage_sync_file_max_time =
  54.  
  55. use_trunk_file = false
  56.  
  57. slot_min_size =
  58.  
  59. slot_max_size = 16MB
  60.  
  61. trunk_file_size = 64MB
  62.  
  63. trunk_create_file_advance = false
  64.  
  65. trunk_create_file_time_base = :
  66.  
  67. trunk_create_file_interval =
  68.  
  69. trunk_create_file_space_threshold = 20G
  70.  
  71. trunk_init_check_occupying = false
  72.  
  73. trunk_init_reload_from_binlog = false
  74.  
  75. trunk_compress_binlog_min_interval =
  76.  
  77. use_storage_id = false
  78.  
  79. storage_ids_filename = storage_ids.conf
  80.  
  81. id_type_in_filename = ip
  82.  
  83. store_slave_file_use_link = false
  84.  
  85. rotate_error_log = false
  86.  
  87. error_log_rotate_time=:
  88.  
  89. rotate_error_log_size =
  90.  
  91. log_file_keep_days =
  92.  
  93. use_connection_pool = false
  94.  
  95. connection_pool_max_idle_time =
  96.  
  97. http.server_port=
  98.  
  99. http.check_alive_interval=
  100.  
  101. http.check_alive_type=tcp
  102.  
  103. http.check_alive_uri=/status.html

1.3.3启动tracker

保存配置后启动tracker,命令如下:

  1. service fdfs_trackerd start

成功后应该可以看到:

  1.  
  1. [root@sybmfw12-lnsy fastdfs-5.11]#service fdfs_trackerd start
    Starting fdfs_trackerd (via systemctl): [ OK ]

进行刚刚创建的tracker目录,发现目录中多了data和log两个目录

  1. [root@sybmfw12-lnsy fastdfs-5.11]# ll /opt/fastdfs_tracker/
  2. drwxr-xr-x. root root 11 : data
  3. drwxr-xr-x. root root 11 : logs

最后我们需要给tracker加入开机启动

  1. echo "service fdfs_trackerd start" |tee -a /etc/rc.d/rc.local

查看一下tracker的端口监听情况

  1. [root@sybmfw12-lnsy fastdfs-5.11]# netstat -unltp|grep fdfs
  2. tcp 0.0.0.0: 0.0.0.0:* LISTEN /fdfs_trackerd

端口22122成功监听。

1.4 安装storage

storage的安装与tracker很类似。

1.4.1 为storage配置工作目录

与tracker不同的是,由于storage还需要一个目录用来存储数据,所以我另外多建了两个目录fastdfs_storage_data,fastdfs_storage
下面是我的目录结构:

  1. [root@sybmfw12-lnsy fastdfs-5.11]# ll /opt/
  2. drwxr-xr-x. root root 11 : fastdfs_storage
  3. drwxr-xr-x. root root 11 : fastdfs_storage_data
  4. drwxr-xr-x. root root 11 : fastdfs_tracker

1.4.2 修改storage配置文件

修改storage.conf

  1. .disabled=false
  2. .group_name=group1 #组名,根据实际情况修改
  3. .port= #设置storage的端口号,默认是23000,同一个组的storage端口号必须一致
  4. .base_path=/opt/fastdfs_storage #设置storage数据文件和日志目录
  5. .store_path_count= #存储路径个数,需要和store_path个数匹配
  6. .store_path0=/opt/fastdfs_storage_data #实际文件存储路径
  7. .tracker_server=172.20.132.57: #我CentOS7的ip地址
  8. .http.server_port= #设置 http 端口号

修改完的文件为:

  1. disabled=false
  2. group_name=group1
  3. bind_addr= 0.0.0.0
  4. client_bind=true
  5. port=
  6. connect_timeout=
  7. network_timeout=
  8. heart_beat_interval=
  9. stat_report_interval=
  10. base_path=/opt/fastdfs_storage
  11. max_connections=
  12. buff_size = 256KB
  13. accept_threads=
  14. work_threads=
  15. disk_rw_separated = true
  16. disk_reader_threads =
  17. disk_writer_threads =
  18. sync_wait_msec=
  19. sync_interval=
  20. sync_start_time=:
  21. sync_end_time=:
  22. write_mark_file_freq=
  23. store_path_count=
  24. store_path0=/opt/fastdfs_storage_data
  25. subdir_count_per_path=
  26. tracker_server=172.20.132.57:
  27. log_level=info
  28. run_by_group=
  29. run_by_user=
  30. allow_hosts=*
  31. file_distribute_path_mode=
  32. file_distribute_rotate_count=
  33. fsync_after_written_bytes=
  34. sync_log_buff_interval=
  35. sync_binlog_buff_interval=
  36. sync_stat_file_interval=
  37. thread_stack_size=512KB
  38. upload_priority=
  39. if_alias_prefix=
  40. check_file_duplicate=
  41. file_signature_method=hash
  42. key_namespace=FastDFS
  43. keep_alive=
  44. use_access_log = false
  45. rotate_access_log = false
  46. access_log_rotate_time=:
  47. rotate_error_log = false
  48. error_log_rotate_time=:
  49. rotate_access_log_size =
  50. rotate_error_log_size =
  51. log_file_keep_days =
  52. file_sync_skip_invalid_record=false
  53. use_connection_pool = false
  54. connection_pool_max_idle_time =
  55. http.domain_name=
  56. http.server_port=

修改保存后创建软引用

  1. ln -s /usr/bin/fdfs_storaged /usr/local/bin

1.4.3 启动storage

  1. service fdfs_storaged start
    Starting fdfs_storaged (via systemctl): [ OK ]

同样的,设置开机启动: 
修改rc.local

  1. echo "service fdfs_storaged start" |tee -a /etc/rc.d/rc.local

查看一下服务是否启动

  1. [root@sybmfw12-lnsy fastdfs-5.11]#netstat -unltp | grep fdfs
    tcp 0.0.0.0: 0.0.0.0:* LISTEN /fdfs_trackerd
    tcp 0.0.0.0: 0.0.0.0:* LISTEN /fdfs_storaged

服务已正常启动。

1.4.4 校验整合

到这里,fastdfs的东西都已安装完成,最后我们还要确定一下,storage是否注册到了tracker中去。 
查看命令:

  1. /usr/bin/fdfs_monitor /etc/fdfs/storage.conf

成功后可以看到: 
ip_addr = 172.20.132.57 (localhost.localdomain) ACTIVE

  1. [root@sybmfw12-lnsy fastdfs-5.11]# /usr/bin/fdfs_monitor /etc/fdfs/storage.conf
  2. [-- ::] DEBUG - base_path=/opt/fastdfs_storage, connect_timeout=, network_timeout=, tracker_server_count=, anti_steal_token=, anti_steal_secret_key length=, use_connection_pool=, g_connection_pool_max_idle_time=3600s, use_storage_id=, storage server id count:
  3.  
  4. server_count=, server_index=
  5.  
  6. tracker server is 172.20.132.57:
  7.  
  8. group count:
  9.  
  10. Group :
  11. group name = group1
  12. disk total space = MB
  13. disk free space = MB
  14. trunk free space = MB
  15. storage server count =
  16. active server count =
  17. storage server port =
  18. storage HTTP port =
  19. store path count =
  20. subdir count per path =
  21. current write server index =
  22. current trunk file id =
  23.  
  24. Storage :
  25. id = 172.20.132.57
  26. ip_addr = 172.20.132.57 (sybmfw12-lnsy) ACTIVE
  27. http domain =
  28. version = 5.11
  29. join time = -- ::
  30. up time = -- ::
  31. total storage = MB
  32. free storage = MB
  33. upload priority =
  34. store_path_count =
  35. subdir_count_per_path =
  36. storage_port =
  37. storage_http_port =
  38. current_write_path =
  39. source storage id =
  40. if_trunk_server =
  41. connection.alloc_count =
  42. connection.current_count =
  43. connection.max_count =
  44. total_upload_count =
  45. success_upload_count =
  46. total_append_count =
  47. success_append_count =
  48. total_modify_count =
  49. success_modify_count =
  50. total_truncate_count =
  51. success_truncate_count =
  52. total_set_meta_count =
  53. success_set_meta_count =
  54. total_delete_count =
  55. success_delete_count =
  56. total_download_count =
  57. success_download_count =
  58. total_get_meta_count =
  59. success_get_meta_count =
  60. total_create_link_count =
  61. success_create_link_count =
  62. total_delete_link_count =
  63. success_delete_link_count =
  64. total_upload_bytes =
  65. success_upload_bytes =
  66. total_append_bytes =
  67. success_append_bytes =
  68. total_modify_bytes =
  69. success_modify_bytes =
  70. stotal_download_bytes =
  71. success_download_bytes =
  72. total_sync_in_bytes =
  73. success_sync_in_bytes =
  74. total_sync_out_bytes =
  75. success_sync_out_bytes =
  76. total_file_open_count =
  77. success_file_open_count =
  78. total_file_read_count =
  79. success_file_read_count =
  80. total_file_write_count =
  81. success_file_write_count =
  82. last_heart_beat_time = -- ::
  83. last_source_update = -- ::
  84. last_sync_update = -- ::
  85. last_synced_timestamp = -- ::
  1. 点这里看第三篇

CentOS7搭建FastDFS V5.11分布式文件系统-第二篇的更多相关文章

  1. CentOS7搭建FastDFS V5.11分布式文件系统-第一篇

    1.绪论 最近要用到fastDFS,所以自己研究了一下,在搭建FastDFS的过程中遇到过很多的问题,为了能帮忙到以后搭建FastDFS的同学,少走弯路,与大家分享一下.FastDFS的作者淘宝资深架 ...

  2. CentOS7搭建FastDFS V5.11分布式文件系统及Java整合详细过程

    1.1 FastDFS的应用场景 FastDFS是为互联网应用量身定做的一套分布式文件存储系统,非常适合用来存储用户图片.视频.文档等文件.对于互联网应用,和其他分布式文件系统相比,优势非常明显.其中 ...

  3. CentOS7搭建FastDFS V5.11分布式文件系统-第三篇

    1.测试 前面两篇博文已对FastDFS的安装和配置,做了比较详细的讲解.FastDFS的基础模块都搭好了,现在开始测试下载. 1.1 配置客户端 同样的,需要修改客户端的配置文件: /etc/fdf ...

  4. CentOS7搭建FastDFS V5.11分布式文件系统(三)

    1.测试 前面两篇博文已对FastDFS的安装和配置,做了比较详细的讲解.FastDFS的基础模块都搭好了,现在开始测试下载. 1.1 配置客户端 同样的,需要修改客户端的配置文件: /etc/fdf ...

  5. CentOS7搭建FastDFS V5.11分布式文件系统(一)

    1.绪论 最近要用到fastDFS,所以自己研究了一下,在搭建FastDFS的过程中遇到过很多的问题,为了能帮忙到以后搭建FastDFS的同学,少走弯路,与大家分享一下.FastDFS的作者淘宝资深架 ...

  6. CentOS7搭建FastDFS V5.11分布式文件系统(二)

    1.CentOS7 FastDFS搭建 前面已下载好了要用到的工具集,下面就可以开始安装了: 如果安装过程中出现问题,可以下载我提供的,当前测试可以通过的工具包: 点这里点这里 1.1 安装libfa ...

  7. Linux 下 FastDFS v5.08 分布式文件系统的安装

    一.系统安装目录 源代码包目录 /data/wwwroot libevent安装目录 /usr/local/libevent FastDFS安装目录 /data/fastdfs nginx安装目录 / ...

  8. CentOS7搭建FastDFS+Nginx

    1. FastDFS 介绍 FastDFS是一个开源的分布式文件系统,她对文件进行管理,功能包括:文件存储.文件同步.文件访问(文件上传.文件下载)等,解决了大容量存储和负载均衡的问题.特别适合以文件 ...

  9. FastDFS图片服务器(分布式文件系统)学习。

    参考:https://blog.csdn.net/hiqingtian/article/details/79413471 https://blog.csdn.net/sinat_40399893/ar ...

随机推荐

  1. 2018.10.18 poj2187Beauty Contest(旋转卡壳)

    传送门 旋转卡壳板子题. 就是求凸包上最远点对. 直接上双指针维护旋转卡壳就行了. 注意要时刻更新最大值. 代码: #include<iostream> #include<cstdi ...

  2. arduino 中通过寄存器地址访问寄存器内容

    void call_func( void (*func)(void)){ (*func)(); } void setup() { // put your setup code here, to run ...

  3. java.lang.NoClassDefFoundError Could not initialize class 异常的处理

    class,forname的配置文件出问题核对url数据库中的名字和bean中名字不同没有把jar包变成build path

  4. hdu2571 命运 2016-09-11 16:54 53人阅读 评论(0) 收藏

    命运 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Submiss ...

  5. OpenGL常用的函数

    OpenGL常用的函数 1. void glBegin(GLenummode) void glEnd(void) 参数说明: mode:创建图元的类型.可以是以下数值 GL_POINTS:把每一个顶点 ...

  6. Wireshark数据包分析(一)——使用入门

    Wireshark简介: Wireshark是一款最流行和强大的开源数据包抓包与分析工具,没有之一.在SecTools安全社区里颇受欢迎,曾一度超越Metasploit.Nessus.Aircrack ...

  7. Android 广播代码的发送与接收

    Android四大组件之一广播,使用的也比较多,广播可大致分为两种,一种是Android系统区域的广播,是由系统指令发出,例如:点亮屏幕广播,开机过程中的一些广播 省略-, 然而还有一种广播就是我们自 ...

  8. Linux服务器目录空间不足解决措施

      一般情况下工作环境中我们的服务或数据库文件都会存储在一个单独挂载的分区中,一般占空间比较大的大多就是服务的运行日志以及数据库文件,当我们分区的可用空间不足时就需要我们对分区进行扩容,或者找其它方法 ...

  9. Mongodb 与 SQL 语句对照表

    In addition to the charts that follow, you might want to consider the Frequently Asked Questions sec ...

  10. LeetCode138:Copy List with Random Pointer

    题目: A linked list is given such that each node contains an additional random pointer which could poi ...