分布式文件系统 - FastDFS 安装部署

来源:互联网 发布:java中调用void方法 编辑:程序博客网 时间:2024/06/06 10:43

环境: Centos x86_64  0.209 和 0.210 都为tracker 和 storage

192.168.0.209  storage tracker
192.168.0.210  storage tracker

0.209 和 0.210 安装配置类似, 下面以一台为例

一、 安装依赖包,添加fastDFS运行用户

yum install -y zlib zlib-devel pcre pcre-devel gcc gcc-c++ openssl openssl-devel libevent libevent-devel perl unzip

二、创建数据存储目录

mkdir -p /PPP/fastdfs/{storage,tracker}[root@localhost fastdfs]# lltotal 8drwxr-xr-x. 2 root root 4096 Dec 28 17:33 storagedrwxr-xr-x. 2 root root 4096 Dec 28 17:33 tracker[root@localhost fastdfs]# 

三、下载安装libfastcommon

wget https://github.com/happyfish100/libfastcommon/archive/V1.0.7.tar.gztar -zxvf V1.0.7.tar.gzcd libfastcommon-1.0.7./make.sh./make.sh install
四、下载安装FastDFS

wget https://github.com/happyfish100/fastdfs/archive/V5.05.tar.gztar-zxvf V5.05.tar.gzcd fastdfs-5.05./make.sh./make.sh install
五、配置Tracker服务

上述安装成功后,在/etc/目录下会有一个fdfs的目录,进入它。会看到三个.sample后缀的文件,这是作者给我们的示例文件,我们需要把其中的tracker.conf.sample文件改为tracker.conf配置文件并修改它。看命令:

cp tracker.conf.sample tracker.confvim tracker.conf

打开tracker.conf文件,只需要找到你只需要该这两个参数就可以了。

# the base path to store data and log filesbase_path=/PPP/fastdfs/tracker # HTTP port on this tracker serverhttp.server_port=80
当然前提是你要有或先创建了/data/fastdfs目录。port=22122这个端口参数不建议修改,除非你已经占用它了。
修改完成保存并退出 vim ,这时候我们可以使用/usr/bin/fdfs_trackerd /etc/fdfs/tracker.conf start来启动 Tracker服务,但是这个命令不够优雅,怎么做呢?使用ln -s 建立软链接:

ln-s/usr/bin/fdfs_trackerd/usr/local/binln-s/usr/bin/stop.sh/usr/local/binln-s/usr/bin/restart.sh/usr/local/bin


这时候我们就可以使用service fdfs_trackerd start来启动 Tracker服务了。你也可以启动过服务看一下端口是否在监听,命令:

启动服务:service fdfs_trackerd start查看监听:netstat-unltp|grep fdfs


看到22122端口正常被监听后,这时候就算 Tracker服务安装成功啦!

六、配置 Storage 服务

开始配置,依然是进入/etc/fdfs的目录操作,首先进入它。会看到三个.sample后缀的文件,我们需要把其中的storage.conf.sample文件改为storage.conf配置文件并修改它。还看命令:

cp storage.conf.sample storage.confvim storage.conf
打开storage.conf文件后,找到这两个参数进行修改:
# the base path to store data and log filesbase_path=/PPP/fastdfs/storage# store_path#, based 0, if store_path0 not exists, it's value is base_path# the paths must be existstore_path0=/PPP/fastdfs/storage#store_path1=/home/yuqing/fastdfs2# tracker_server can ocur more than once, and tracker_server format is#  "host:port", host can be hostname or ip addresstracker_server=192.168.0.209:22122tracker_server=192.168.0.210:22122
当然你的/data/fastdfs目录下要有storage文件夹,没有就创建一个,不然会报错的,日志以及文件都会在这个下面,启动时候会自动生成许多文件夹。stroage的port=23000这个端口参数也不建议修改,默认就好,除非你已经占用它了。
修改完成保存并退出 vim ,这时候我们依然想优雅地启动 Storage服务,带目录的命令不够优雅,这里还是使用ln -s建立软链接:
ln -s /usr/bin/fdfs_storaged /usr/local/bin
执行命令启动服务:
service fdfs_storaged start
注意:如果相对应的路径没有建立,此处会报错
这次启动成功,没有错误了。查看一下监听:
netstat -unltp|grep fdfs
如果看到22122 和 23000端口都在监听了,这个时候你去/PPP/fastdfs/storage文件夹下看的话,会出现一大堆文件夹,而且进去还有一大堆,
这就是存放文件的.
以上就算完成安装配置并启动了 Tracker 和 Storage 服务。
两个服务是不是在通信呢?监视命令如下:
/usr/bin/fdfs_monitor /etc/fdfs/storage.conf
看到我红线处ACTIVE这样就 ok 啦!
但还要配置client客户端,否则上传会不好用
cd /etc/fdfscp client.conf.sample client.confvim client.conf
修改配置
tracker_server=192.168.0.209:22122tracker_server=192.168.0.210:22122

七、安装 Nginx 和 fastdfs-nginx-module

wget -c https://nginx.org/download/nginx-1.10.1.tar.gzwget https://github.com/happyfish100/fastdfs-nginx-module/archive/master.zipunzip master.ziptar -zxvf nginx-1.10.1.tar.gz
配置 nginx 安装,加入fastdfs-nginx-module模块。这是和普通 Nginx 安装不一样的地方,因为加载了模块。
./configure --add-module=../fastdfs-nginx-module-master/src/ 
注意:如果此处你没有安装gcc、 PCRE pcre-devel、 zlib、 OpenSSL这些,此处会报错
make 编译 (make的过程是把各种语言写的源码文件,变成可执行文件和各种库文件)make install 安装 (make install是把这些编译出来的可执行文件和库文件复制到合适的地方)

这时候,我们可以看一下 Nginx 下安装成功的版本及模块,命令:

/usr/local/nginx/sbin/nginx -V
八、配置 fastdfs-nginx-module 和 Nginx
1.配置mod-fastdfs.conf,并拷贝到/etc/fdfs文件目录下
cd /software/fastdfs-nginx-module-master/src/vim mod_fastdfs.conf
cp mod_fastdfs.conf /etc/fdfs
修改mod-fastdfs.conf配置只需要修改我标注的这三个地方就行了,其他不需要也不建议改变。
# FastDFS tracker_server can ocur more than once, and tracker_server format is#  "host:port", host can be hostname or ip address# valid only when load_fdfs_parameters_from_tracker is truetracker_server=192.168.0.209:22122 tracker_server=192.168.0.210:22122# if the url / uri including the group name# set to false when uri like /M00/00/00/xxx# set to true when uri like ${group_name}/M00/00/00/xxx, such as group1/M00/xxx# default value is falseurl_have_group_name = true# store_path#, based 0, if store_path0 not exists, it's value is base_path# the paths must be exist# must same as storage.confstore_path0=/data/fastdfs/storage#store_path1=/home/yuqing/fastdfs1
接着我们需要把fastdfs-5.05下面的配置中还没有存在/etc/fdfs中的拷贝进去
cd /software/fastdfs-5.05/confcp anti-steal.jpg http.conf mime.types /etc/fdfs/
2.配置 Nginx。编辑nginx.conf文件:
cd /usr/local/nginx/confvi nginx.conf
在配置文件中加入:
location /group1/M00 {    root /data/fastdfs/storage/;    ngx_fastdfs_module;}
由于我们配置了group1/M00的访问,我们需要建立一个group1文件夹,并建立M00到data的软链接。
mkdir /PPP/fastdfs/storage/data/group1ln -s /PPP/fastdfs/storage/data /PPP/fastdfs/storage/data/group1/M00
启动 Nginx ,会打印出fastdfs模块的pid,看看日志是否报错,正常不会报错的
/usr/local/nginx/sbin/nginx
注意:防火墙有没有开放端口号,如没有用如下命令:
vi /etc/sysconfig/iptables-A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT
重启防火墙,使设置生效:
service iptables restart

安装完成了。


210 的配置一样, nginx对应的ip为210, 启动nginx和fastdfs


上传测试
完成上面的步骤后,我们已经安装配置完成了全部工作,接下来就是测试了。因为执行文件全部在/usr/bin目录下,我们切换到这里,并新建一个test.txt文件,随便写一点什么,我写了This is a test file. by:mafly这句话在里边。然后测试上传:

cd /usr/binvim test.txt/usr/bin/fdfs_test /etc/fdfs/client.conf upload /usr/bin/test.txt


成功啦!!! 返回文件信息及上传后的文件 HTTP 地址,你打开浏览器访问一下试试


这样就算简单的搭建和使用完成!

参考地址:
http://blog.mayongfa.cn/192.html
https://my.oschina.net/harlanblog/blog/466487

0 0
原创粉丝点击