设为首页 收藏本站
查看: 1334|回复: 0

[经验分享] 轻量级分布式文件系统FastDFS使用安装说明手册(新手入门级)

[复制链接]
累计签到:4 天
连续签到:1 天
发表于 2015-9-10 09:55:25 | 显示全部楼层 |阅读模式
轻量级分布式文件系统FastDFS使用安装说明手册(新手入门级)

  
  实验室所在的课题组以研究云计算为主,但所有的研究都是在基于理论的凭空想像,缺少分布式环境的平台的实践,云计算神马的都是浮云了。因此,我想借助Hadoop把实验室的服务器搭建出一个基础的分布式实验环境,方便于以后进行实验测试神马的。无意中,看到了一款开源的轻量级分布式文件系统FastDFS,它是用纯C语言实现,详细信息可参见博客:分布式文件系统FastDFS架构剖析。通过收集资料,自己动手做了一些安装和测试使用,现在对前人的一些经验进行一些总结。
  
  一、FastDFS的安装过程
  1)准备工作-安装libevent
  FastDFS 内部绑定了 libevent 作为 http 服务器 ,在V2.X版本必须安装 libevent ,本文安装的是V2.2版本,因此必须安装libevent。官方也推荐使用 http 方式下载文件。
  如果已经安装了 libevent,请确认安装路径是 /usr , 因为 FastDFS 在编译源程序时,需要到此目录下查找一些依赖文件,否则编译FastDFS 会出错 。如果不是,建议首先卸载 libevent ,然后安装到 /usr 下。Ubuntu10.4默认是安装了libevent,可以到软件中心卸载掉然后按照下面介绍的方式安装。本文安装的是 libevent1.4.14b-stable,下载地址:http://monkey.org/~provos/libevent/
  
  安装步骤:
  tar vxzf libevent1.4.14b-stable.tar.gz
  ./configure --prefix=/usr   
  make clean;   
  make   
  make install
  安装libevent完成。
  
  2)安装 FastDFS
  1、下载 FastDFS 源程序,下载地址 http://code.google.com/p/fastdfs/downloads/list ,这里下载的是 FastDFS_v2.04.tar.gz ,建议安装V2.X版本,比V1.X版本更加稳定且性能提升明显)、
  2、在 FastDFS_v2.04.tar.gz 所在文件夹下执行:
  tar vxzf FastDFS_v2.04.tar.gz /home/monkey/FastDFS  
  tar vxzf FastDFS_v2.04.tar.gz /home/monkey/FastDFS
  注:/home/monkey/FastDFS 也可以是其他目录,记住这是解压目录,以后用 %FastDFS% 表示)
  3、由于要使用内置的 http 服务,因此编辑 %FastDFS%/make.sh 文件,找到#WITH_HTTPD=1,修改成WITH_HTTPD=1,以支持HTTP。
  4、进入 %FastDFS% 目录,执行:
  ./make.sh  
  ./make.sh
  
  5、在 %FastDFS% 目录下,执行:
  ./make.sh install  
  ./make.sh install
  如果运行如上命令后,在命令行信息最后看到类似
  #ln -fs /usr/local/lib/libfastcommon.so.1 /usr/local/lib/libfastcommon.so   
  #ln -fs /usr/local/lib/libfdfsclient.so.1 /usr/local/lib/libfdfsclient.so   
  sh ./fdfs_link_library.sh  
  #ln -fs /usr/local/lib/libfastcommon.so.1 /usr/local/lib/libfastcommon.so
  #ln -fs /usr/local/lib/libfdfsclient.so.1 /usr/local/lib/libfdfsclient.so
  sh ./fdfs_link_library.sh
  恭喜你,已经安装成功了!
  
  二、FastDFS的配置说明
  FastDFS的配置文件在%FastDFS%/conf目录下,其中包括:
  client.confà客户端上传配置文件
  storage.confà文件存储服务器配置文件
  tracker.confà负责均衡调度服务器配置文件
  http.confàhttp服务器配置文件
  
  配置文件需要根据服务器环境的不同,进行不同的配置,具体可以参考FastDFS官方的安装配置文档http://code.google.com/p/fastdfs/wiki/Setup,以及FastDFS原理介绍文档http://code.google.com/p/fastdfs/wiki/Overview
  
  在本例中,为了方便起见,Tracker Server,Storage Server都安装在一台服务器上,IP:211.69.205.1。
  1)配置及启动Tracker Server
  1、修改%FastDFS%/conf/tracker.conf文件,修改如下:
  #可以自己指定目录位置,但目录必须存在,用于存储日志及storage server等信息,否则tracker server无法启动。
  base_path=/home/yuqing/fastdfsàbase_path=/home/monkey/fastdfs_tracker
  
  #改成你想要的http端口,将来http下载文件的端口就是它了。
  http.server_port=8080àhttp.server_port=8090
  
  #http支持
  ##include http.confà#include http.conf
  
  #默认4GB,如果空间不足,建议调小,否则会报no free space的异常,无法正常启动。
  reserved_storage_space = 4GBàreserved_storage_space = 1GB
  
  #tracker server对storage server供服务的端口,使用默认的即可,也可以自定义
  port=22122  
  
  2、将http.conf文件拷贝到/etc/fdfs目录下,执行:
  cp %FastDFS%/conf/http.conf /etc/fdfs/
  cp %FastDFS%/conf/http.conf /etc/fdfs/
  注:为了支持http,必须将这个文件拷贝到此目录,否则无法启动,报param http.XXX not exist or is empty类似的错误。
  
  3、进入/usr/local/bin/目录,启动tracker服务器,执行:
  fdfs_trackerd %FastDFS%/conf/tracker.conf  
  dfs_trackerd %FastDFS%/conf/tracker.conf
  
  4、进入/home/soar/fastdfs_tracker/logs/trackerd.log查看tracker的启动日志,如果看到类似:
  [2010-11-26 21:33:44] INFO - FastDFS v2.04, base_path=/home/monkey/fastdfs_tracker, connect_timeout=30s, network_timeout=60s, port=22122, bind_addr=, max_connections=256, work_threads=4, store_lookup=2, store_group=, store_server=0, store_path=0, reserved_storage_space=1024MB, download_server=0, allow_ip_count=-1, sync_log_buff_interval=10s, check_active_interval=120s, thread_stack_size=64 KB, storage_ip_changed_auto_adjust=1, storage_sync_file_max_delay=86400s, storage_sync_file_max_time=300s
  [2010-11-26 21:33:44] INFO - HTTP supported: server_port=8090, default_content_type=application/octet-stream, anti_steal_token=0, token_ttl=0s, anti_steal_secret_key length=0, token_check_fail content_type=, token_check_fail buff length=0, check_active_interval=30, check_active_type=tcp, check_active_uri=/status.html
  恭喜你,tracker server已经启动成功!
  
  2)配置及启动Storage Server
  1、修改%FastDFS%/conf/storage.conf文件,修改如下:
  #可以自定义,但必须存在此目录,用于存储storage相关的log、group内的相关信息
  base_path=/home/yuqing/fastdfsà/home/monkey/fastdfs_storge  
  
  #文件的存储位置,在一台storage server上可以指定多个存储位置
  store_path0=/home/yuqing/fastdfsàstore_path0=/home/monkey/fastdfs_storge   
  #必须指定
  group_name=group1
  
  #修改成tracker server的IP和端口信息
  tracker_server=192.168.209.121:22122àtracker_server=211.69.205.1:22122
  
  #http支持
  ##include http.confà#include http.conf   
  
  2、进入/usr/local/bin/目录,启动storage服务器,执行
  fdfs_storaged %FastDFS%/conf/storage.conf  
  
  3、进入/home/monkey/fastdfs_tracker/logs/storage.log查看storage服务器启动日志,如果看到类似:
  [2010-11-26 21:38:59] INFO - FastDFS v2.04, base_path=/home/monkey/fastdfs_storge, store_path_count=1, subdir_count_per_path=256, group_name=group1, connect_timeout=30s, network_timeout=60s, port=23000, bind_addr=, client_bind=1, max_connections=256, work_threads=4, disk_rw_separated=1, disk_reader_threads=1, disk_writer_threads=1, buff_size=256KB, heart_beat_interval=30s, stat_report_interval=60s, tracker_server_count=1, sync_wait_msec=200ms, sync_interval=0ms, sync_start_time=00:00, sync_end_time=23:59, write_mark_file_freq=500, allow_ip_count=-1, file_distribute_path_mode=0, file_distribute_rotate_count=100, fsync_after_written_bytes=0, sync_log_buff_interval=10s, sync_binlog_buff_interval=60s, sync_stat_file_interval=300s, thread_stack_size=512 KB, upload_priority=10, if_alias_prefix=, check_file_duplicate=0, FDHT group count=0, FDHT server count=0, FDHT key_namespace=, FDHT keep_alive=0, HTTP server port=8888, domain name=
  [2010-11-26 21:38:59] INFO - HTTP supported: server_port=8888, http_trunk_size=262144, default_content_type=application/octet-stream, anti_steal_token=0, token_ttl=0s, anti_steal_secret_key length=0, token_check_fail content_type=, token_check_fail buff length=0
  [2010-11-26 21:39:29] INFO - file: storage_param_getter.c, line: 48, storage_ip_changed_auto_adjust=1
  [2010-11-26 21:39:30] INFO - file: tracker_client_thread.c, line: 274, successfully connect to tracker server 211.69.205.1:22122, as a tracker client, my ip is 211.69.205.1
  
  恭喜你,storage server已经启动成功!
  
三、FastDFS使用举例说明
  经过前面的按照、配置、启动,马上就可以看到FastDFS的效果了,我们先上传一个文件,然后再通过http下载。
  
  1)上传文件
  FastDFS安装包中,自带了客户端程序,通过程序可以进行文件上传。在使用这个客户端程序之前,首先需要配置client.conf,然后再进行文件上传及下载。
  
  1、修改%FastDFS%/conf/client.conf文件,修改如下:
  #可自定义,但此目录必须存在,用于存放文件上传log
  base_path=/home/yuqing/fastdfsàbase_path=/home/monkey/fastdfs_tracker
  tracker_server=192.168.209.121:22122àtracker_server=211.69.205.1:22122
  http.tracker_server_port=8080àhttp.tracker_server_port=8090
  ##include http.confà#include http.conf
  
  2、进入/usr/local/bin/目录,上传文件,执行:
  fdfs_test %FastDFS%/conf/client.conf upload monkey.txt   
  注:monkey.txt可以在/usr/local/bin/目录下自己创建一个。
  如果命令行反馈类似如下,则说明上传文件成功。
  
  
  2)下载文件
  在浏览器中,输入上图中的url地址, tracker server会自动重定向到存储文件的storage server,文件下载成功。至此,已经成功搭建了FastDFS,编写你自己的client来进行访问吧:)

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-111813-1-1.html 上篇帖子: fastdfs 开启 token 防盗链 下篇帖子: [zz]FastDFS php 扩展模块安装
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表