仓酷云

标题: 带来一篇nginx的FastDFS散布式存储模块测试办法 [打印本页]

作者: 萌萌妈妈    时间: 2015-1-16 15:08
标题: 带来一篇nginx的FastDFS散布式存储模块测试办法
要明白学好linux不是一件一蹴而就的事,一定要能坚持使用它,特别是在使用初期。
再回过火来看FastDFS更新很快,还看到fastdfs-nginx-module_v1.01.tar.gznginx模块,以是明天在一台测试机上测试了・测试几天看不乱不不乱,在思索换失落华侈资本的lustre!情况:
  1. storage1:192.168.6.100storage2:192.168.6.101tracker:192.168.6.102
复制代码
1.在每一个呆板上,下载安装FastDFS
  1. nginx$>wgethttp://fastdfs.googlecode.com/files/FastDFS_v2.04.tar.gz#解压nginx$>tarzxvfFastDFS_v2.04.tar.gznginx$>cdFastDFS#由于我是给nginx增加fastdfs模块,以是不必要fastdfs撑持http以是我就不必要往失落#WITH_HTTPD=1前的正文了,间接编译nginx$>./make.shnginx$>./make.shinstall
复制代码
2.修正tracker和storage的设置文件
#tracker的修正
  1. tracker$>vim/etc/fdfs/tracker.conf
复制代码
  1. disabled=false#设置是不是失效bind_addr=192.168.6.102#绑定IPport=22122#服务端口connect_timeout=30#毗连超不时间network_timeout=60#trackerserver的收集超时,单元为秒。base_path=/home/yangzi#目次地点,内里会创立data(寄存存储服务器信息)、logs,日记文件max_connections=256#体系供应服务最年夜毗连数work_threads=4#线程数,一般设置CPU数store_lookup=2上传组(卷)的体例0:轮询体例1:指定组2:均衡负载(选择最年夜残剩空间的组(卷)上传)这里假如在使用层指定了上传到一个流动组,那末这个参数被绕过store_group=group1当上一个参数设定为1时(store_lookup=1,即指定组名时),必需设置本参数为体系中存在的一个组名。假如选择其他的上传体例,这个参数就没无效了store_server=0选择哪一个storageserver举行上传操纵(一个文件被上传后,这个storageserver就相称于这个文件的storageserver源,会对同组的storageserver推送这个文件到达同步效果)#0:轮询体例#1:依据ip地点举行排序选择第一个服务器(IP地点最小者)#2:依据优先级举行排序(上传优先级由storageserver来设置,参数名为upload_priority)store_path=0选择storageserver中的哪一个目次举行上传。storageserver能够有多个寄存文件的basepath(能够了解为多个磁盘)。#0:轮番体例,多个目次顺次寄存文件#2:选择残剩空间最年夜的目次寄存文件(注重:残剩磁盘空间是静态的,因而存储到的目次或磁盘大概也是变更的)download_server=0选择哪一个storageserver作为下载服务器#0:轮询体例,能够下载以后文件的任一storageserver#1:哪一个为源storageserver就用哪个(后面说过了这个storageserver源是如何发生的)就是之前上传到哪一个storageserver服务器就是哪一个了reserved_storage_space=4GBstorageserver上保存的空间,包管体系或其他使用需求空间(指出假如同组的服务器的硬盘巨细一样,以最小的为准,也就是只需同组中有一台服务器到达这个尺度了,这个尺度就失效,缘故原由就是由于他们举行备份)log_level=info#选择日记级别run_by_group=#操纵体系运转FastDFS的用户组run_by_user=#操纵体系运转FastDFS的用户allow_hosts=*#能够毗连到此trackerserver的ip局限(对一切范例的毗连都有影响,包含客户端,storageserver)sync_log_buff_interval=10#同步或革新日记信息到硬盘的工夫距离,单元为秒#注重:trackerserver的日记不是不时写硬盘的,而是先写内存。check_active_interval=120#检测storageserver存活的工夫隔,单元为秒。#storageserver按期向trackerserver发心跳,假如trackerserver在一个check_active_interval内还没有收到storageserver的一次心跳,何处将以为该storageserver已下线。以是本参数值必需年夜于storageserver设置的心跳工夫距离。一般设置为storageserver心跳工夫距离的2倍或3倍。thread_stack_size=64KB#线程栈的巨细。FastDFSserver端接纳了线程体例。改正一下,trackerserver线程栈不该小于64KB,不是512KB。#线程栈越年夜,一个线程占用的体系资本就越多。假如要启动更多的线程(V1.x对应的参数为max_connections,V2.0为work_threads),能够得当下降本参数值。storage_ip_changed_auto_adjust=true#这个参数把持当storageserverIP地点改动时,集群是不是主动调剂。注:只要在storageserver历程重启时才完成主动调剂。storage_sync_file_max_delay=86400#V2.0引进的参数。存储服务器之间同步文件的最年夜提早工夫,缺省为1天。依据实践情形举行调剂storage_sync_file_max_time=300#V2.0引进的参数。存储服务器同步一个文件必要损耗的最年夜工夫,缺省为300s,即5分钟。http.disabled=true#HTTP服务是不是不失效固然编译的时分我已把with_httpd宏往失落了,http.server_port=80#HTTP服务端口#以下参数只要开启http服务才有效http.check_alive_interval=30http.check_alive_type=tcphttp.check_alive_uri=/status.htmlhttp.need_find_content_type=true
复制代码
#两台storage.conf的修正
  1. storage$>vim/etc/fdfs/storage.conf
复制代码
  1. disabled=false#设置是不是失效group_name=group1#storage地点组(卷)bind_addr=192.168.6.100#绑定IP,另外一太storageIP为192.168.6.101client_bind=true#bind_addr一般是针对server的。当指定bind_addr时,本参数才无效。port=23000#是storage服务端口connect_timeout=30#毗连超不时间,针对socket套接字函数connectnetwork_timeout=60#storageserver收集超不时间,单元为秒。heart_beat_interval=30#心跳距离工夫,单元为秒stat_report_interval=60#storageserver向trackerserver呈报磁盘残剩空间的工夫距离,单元为秒。base_path=/home/eric#base_path目次地点,根目次必需存在子目次会主动天生#会发生data(数据存储中央)、logs日记文件max_connections=256#最年夜毗连数buff_size=256KB#设置行列结点的buffer巨细。work_threads=4#事情线程数disk_rw_separated=true#磁盘IO读写是不是分别,缺省是分别的。disk_reader_threads=1#针对单个存储路径的读线程数,缺省值为1disk_writer_threads=1#针对单个存储路径的写线程数,缺省值为1sync_wait_msec=200#同步文件时,假如从binlog中没有读到要同步的文件,休眠N毫秒后从头读取,0暗示不休眠,当即再次实验读取。sync_interval=0#同步上一个文件后,再同步下一个文件的工夫距离,单元为毫秒,0暗示不休眠,间接同步下一个文件。sync_start_time=00:00sync_end_time=23:59#同意体系同步的工夫段(默许是全天)。一样平常用于制止岑岭同步发生一些成绩而设定,信任sa城市分明。write_mark_file_freq=500#把storage的mark文件按期同步到磁盘的工夫距离,单元为秒store_path_count=1#寄存文件时storageserver撑持多个路径(比方磁盘)。这里设置寄存文件的基路径数量,一般只配一个目次。store_path0=/home/eric#一一设置store_path个路径,索引号基于0。注重设置办法前面有0,1,2......,必要设置0到store_path-1。#假如不设置base_path0,何处它就和base_path对应的路径一样。subdir_count_per_path=32#FastDFS存储文件时,接纳了两级目次。这里设置寄存文件的目次个数tracker_server=192.168.6.188:22122#tracker_server的列表要写端口的哦log_level=info#日记级别run_by_group=#运转storage用户组run_by_user=#运转storage用户allow_hosts=*#同意毗连IP列表file_distribute_path_mode=0#文件在data目次下分离存储战略。#0:轮番寄存#1:随机存储file_distribute_rotate_count=100#当下面的参数file_distribute_path_mode设置为0(轮番寄存体例)时,本参数无效。#当一个目次下的文件寄存的文件数到达本参数值时,后续上传的文件存储到下一个目次中fsync_after_written_bytes=0#当写进年夜文件时,每写进N个字节,挪用一次体系函数fsync将内容强行同步到硬盘。0暗示从不挪用fsyncsync_log_buff_interval=10#同步或革新日记信息到硬盘的工夫距离,单元为秒sync_binlog_buff_interval=60#同步binglog(更新操纵日记)到硬盘的工夫距离,单元为秒sync_stat_file_interval=300# 把storage的stat文件同步到磁盘的工夫距离,单元为秒。thread_stack_size=512KB# 线程栈的巨细。FastDFSserver端接纳了线程体例。# 线程栈越年夜,一个线程占用的体系资本就越多。upload_priority=10本storageserver作为源服务器,上传文件的优先级,能够为正数。值越小,优先级越高。这里就和tracker.conf中store_server=2时的设置绝对应了if_alias_prefix=check_file_duplicate=0# 是不是检测上传文件已存在。假如已存在,则不存在文件内容,创建一个标记链接以节俭磁盘空间。 分离 fastdfh利用的。1是检测,0是不检测,我们不利用fastdfh固然0 key_namespace=FastDFS#当上个参数设定为1或yes时(true/on也是能够的),在FastDHT中的定名空间keep_alive=0#与FastDHTservers的毗连体例(是不是为耐久毗连)#上面是http的设置了就未几说了http.disabled=truehttp.domain_name=http.server_port=80http.trunk_size=256KBhttp.need_find_content_type=true
复制代码
3.创建tracker和storage的根目次
  1. #trackertracker$>mkdir-p/home/eric#storagestorage$>mkdir-p/home/yangzi
复制代码
4.在一台storage高低载,好比我在192.168.6.100高低载nginx和fastdfs-nginx-module模块
  1. storage$>wgethttp://www.nginx.org/download/nginx-0.8.53.tar.gzstorage$>svnexporthttp://fastdfs-nginx-module.googlecode.com/svn/trunk/fastdfs-nginx-module-read-only
复制代码
5.编译安装nginx附带fastdfs-nginx-module模块
  1. storage$>tarzxvfnginx-0.8.53.tar.gzstorage$>cdnginx-0.8.53storage$>./configure--prefix=/usr/local/nginx--add-module=/root/fastdfs-nginx-module-read-only/srcstorage$>makestorage$>makeinstall#拷贝mod_fastdfs.conf到/etc/fdfs/storage$>cp/root/fastdfs-nginx-module-read-only/src/mod_fastdfs.conf/etc/fdfs/
复制代码
6.修正nginx设置文件增添
  1. storage$>vim/usr/local/nginx/conf/nginx.conf
复制代码
#增添一下
location/M00{
alias/home/eric/data;
ngx_fastdfs_module;
}
7.给storage的存储目次做一个软毗连
  1. storage$>ln-s/home/yangzi/data/home/yangzi/data/M00
复制代码
8.启动两台storage和trackernginx
  1. #启动trackertracker$>/usr/local/bin/fdfs_trackerd/etc/fdfs/tracker.conf#启动storagestorage$>/usr/local/bin/fdfs_storaged/etc/fdfs/storage.conf#启动storage2storage2$>/usr/local/bin/fdfs_storaged/etc/fdfs/storage.conf#在storage启动nginxstorage$>/usr/local/nginx/sbin/nginx
复制代码
9、上传文件测试。
#修正客户端设置文件
  1. storage$>vim/etc/fdfs/client.confconnect_timeout=30network_timeout=60base_path=/home/yangzitracker_server=192.168.6.102:22122log_level=info#上面参数无所谓了归正没有效到http服务http.tracker_server_port=80
复制代码
  1. storage$>vima.htmltestFastDFS!
复制代码
  1. storage$>/usr/local/bin/fdfs_test/etc/fdfs/client.confuploada.htmlThisisFastDFSclienttestprogramv2.04Copyright(C)2008,HappyFish/YuQingFastDFSmaybecopiedonlyunderthetermsoftheGNUGeneralPublicLicenseV3,whichmaybefoundintheFastDFSsourcekit.PleasevisittheFastDFSHomePagehttp://www.csource.org/formoredetail.base_path=/home/yangzi,connect_timeout=30,network_timeout=60,tracker_server_count=1,anti_steal_token=0,anti_steal_secret_keylength=0tracker_query_storage_store_list_without_group:server1.group_name=group1,ip_addr=192.168.6.100,port=23000group_name=group1,ip_addr=192.168.6.100,port=23000storage_upload_by_filenamegroup_name=group1,remote_filename=M00/00/00/wKgGvEz3Y9MAAAAAAAAADigvbpc73.htmlsourceipaddress:192.168.6.100filetimestamp=2010-12-0217:16:03filesize=14filecrc32=674197143fileurl:http://192.168.6.100/group1/M00/00/00/wKgGvEz3Y9MAAAAAAAAADigvbpc73.htmlstorage_upload_slave_by_filenamegroup_name=group1,remote_filename=M00/00/00/wKgGvEz3Y9MAAAAAAAAADigvbpc73_big.htmlsourceipaddress:192.168.6.100filetimestamp=2010-12-0217:16:03filesize=14filecrc32=674197143fileurl:http://192.168.6.100/group1/M00/00/00/wKgGvEz3Y9MAAAAAAAAADigvbpc73_big.html
复制代码
翻开IE扫瞄器会见:
带来一篇nginx的FastDFS散布式存储模块测试办法
登录/注册后可看大图

本文出自“linuxer”博客,请务必保存此出处http://deidara.blog.51cto.com/400447/440175

要多动手,不要怕什么搞坏了怎么办,你不搞坏,不去动手,就永远不会有收获,既然你在linux中是自由的,那就发挥自己的权利;
作者: 只想知道    时间: 2015-1-18 15:40
其中不乏很多IT精英的心血。我们学透以后更可以做成自己的OS!?
作者: 透明    时间: 2015-1-24 12:38
选择交流平台,如QQ群,网站论坛等。
作者: 分手快乐    时间: 2015-2-1 14:20
其中不乏很多IT精英的心血。我们学透以后更可以做成自己的OS!?
作者: 灵魂腐蚀    时间: 2015-2-7 07:15
感谢老师和同学们在学习上对我的帮助。
作者: 冷月葬花魂    时间: 2015-2-21 01:59
虽然大家都比较喜欢漂亮的mm,但是在学 linux 的过程中,还是要多和“男人”接触一下:P 遇到问题的时候,出来看说和上网查之外,就是要多用 linux 下的 man 命令找找帮助。
作者: 柔情似水    时间: 2015-3-6 19:49
眼看这个学期的Linux课程已经告一段落了,我觉得有必要写一遍心得体会来总结一下这学期对着门课程的学习。
作者: 乐观    时间: 2015-3-20 17:23
为什么要学Linux呢?每个人都有不同的看法,下面我说说自己的感想吧。?




欢迎光临 仓酷云 (http://ckuyun.com/) Powered by Discuz! X3.2