JavaEE:FastDSF分布式文件服务器搭建

说明:
FastDSF适合存储小文件,不对文件分块处理。
由Tracker群和Storage群组成
Tracker端:客户端访问Tracker端,根据策略返回Storage端主机地址进行文件上传/下载。
Storage端:内部分组,每组都是一个集群,同组的每台机器上存的都是相同的文件。

一、创建2个虚拟机(或真机器),系统为centos7,分别为Tracker01和Storage01:

(1)Tracker01配置IP:

192.168.233.133

(2)Storage01配置IP:

192.168.233.134

二、FastDSF依赖环境与库安装(Tracker01主机和Storage01主机上安装):

1.安装依赖库:

[root@localhost ~]# yum -y install zlib zlib-devel pcre pcre-devel gcc gcc-c++ openssl openssl-devel libevent libevent-devel perl unzip net-tools wget

2.安装libfastcommon基础库:

(1)下载libfastcommon-1.0.43.tar.gz,并用Xftp上传到/usr/local/目录:

https://github.com/happyfish100/libfastcommon/releases

(2)解压:

[root@localhost local]# tar -zxvf libfastcommon-1.0.43.tar.gz

(3)编译安装(cd到/usr/local/libfastcommon-1.0.43目录):

[root@localhost libfastcommon-1.0.43]# ./make.sh
[root@localhost libfastcommon-1.0.43]# ./make.sh install

(4)默认/usr/lib目录下会有libfastcommon.so,如果没有,则将libfastcommon.so库文件拷贝至/usr/lib下(cd到/usr/lib64目录):

[root@localhost lib64]# cp libfastcommon.so /usr/lib

三、FastDSF-Tracker端安装(此处为Tracker01主机,可以配2台Tracker端或更多):

1.下载fastdfs-6.06.tar.gz,并用Xftp上传到/usr/local/目录:

https://github.com/happyfish100/fastdfs/releases

2.解压:

[root@localhost local]# tar -zxvf fastdfs-6.06.tar.gz

3.编译安装(cd到/usr/local/fastdfs-6.06目录):

[root@localhost fastdfs-6.06]# ./make.sh
[root@localhost fastdfs-6.06]# ./make.sh install

4.将client.conf、http.conf、storage.conf、storage_ids.conf、tracker.conf库文件拷贝至/etc/fdfs下(cd到/usr/local/fastdfs-6.06/conf目录):

[root@localhost conf]# cp client.conf http.conf storage.conf storage_ids.conf tracker.conf /etc/fdfs

5.配置tracker.conf(cd到/etc/fdfs目录):

[root@localhost fdfs]# vi tracker.conf

修改内容如下:

base_path = /home/fastdfs  #数据存储目录,需要手动创建fastdfs目录
http.server_port = 80      #配置http端口
port = 22122               #给客户端访问的端口

#0:轮循,依次给第1组store到最后1组store的地址。    
#1: 假如有2组store,指定给第1组store或第2组store的地址。不推荐使用
#2:根据负载均衡算法,给空闲组的地址,推荐使用
store_lookup=2  #配置给客户端store组地址的策略

6.启动tracker:

[root@localhost fdfs]# /usr/bin/fdfs_trackerd /etc/fdfs/tracker.conf restart

四、FastDSF-Storage端安装(此处为Storage01主机,可以配多台Storage端):

1-4.同FastDSF-Tracker端安装。

5.配置storage.conf(cd到/etc/fdfs目录):

[root@localhost fdfs]# vi storage.conf

修改内容如下:

group_name = group1
base_path = /home/fastdfs                #数据存储目录,需要手动创建fastdfs目录
store_path0 = /home/fastdfs              #有多个磁盘时,配置store_path1、store_path2...
tracker_server = 192.168.233.133:22122   #配置Tracker端地址,此处为Tracker01主机地址
#tracker_server = 192.168.233.135:22122  #有多个Tracker端时,配置多行
http.server_port=80                      #配置http端口,与nginx.conf中server.listen一致

6.启动storage:

[root@localhost fdfs]# /usr/bin/fdfs_storaged /etc/fdfs/storage.conf restart

五、使用fdfs_test测试效果():

1.配置client.conf:

[root@localhost fdfs]# vi /etc/fdfs/client.conf

修改内容如下:

base_path = /home/fastdfs              #数据存储目录,需要手动创建fastdfs目录
tracker_server=192.168.233.133:22122 #配置tracker服务器地址此处为Tracker01主机

2.上传文件到FastDSF服务器:

[root@localhost fdfs]# /usr/bin/fdfs_test /etc/fdfs/client.conf upload /root/file.PNG

六、每个Storage端安装nginx,支持HTTP访问(此处Storage01主机上安装nginx):

1.安装配置fastdfs-nginx-module:

(1)下载fastdfs-nginx-module-1.22.tar.gz,并用Xftp上传到/usr/local目录:

https://github.com/happyfish100/fastdfs-nginx-module/releases

(2)解压:

[root@localhost local]# tar -zxvf fastdfs-nginx-module-1.22.tar.gz

(3)配置config文件(cd到/usr/local/fastdfs-nginx-module-1.22/src目录):

[root@localhost src]# vi config

修改内容如下:

ngx_module_incs="/usr/include/fastdfs /usr/include/fastcommon/"
CORE_INCS="$CORE_INCS /usr/include/fastdfs /usr/include/fastcommon/"

(4)拷贝mod_fastdfs.conf到/etc/fdfs目录下(cd到/usr/local/fastdfs-nginx-module-1.22/src目录):

[root@localhost src]# cp mod_fastdfs.conf /etc/fdfs/

(5)配置mod_fastdfs.conf文件(cd到/etc/fdfs目录):

[root@localhost fdfs]# vi mod_fastdfs.conf

修改内容如下:

base_path=/home/fastdfs                #数据存储目录,需要手动创建fastdfs目录
tracker_server=192.168.233.133:22122   #配置tracker服务器地址此处为Tracker01主机
url_have_group_name=true               #url中带group名称
store_path0=/home/fastdfs              #指定文件存储路径,多个时配置store_path1,store_path2等

(6)拷贝libfdfsclient.so到/usr/lib/目录下(cd到/usr/lib64目录):

[root@localhost lib64]# cp libfdfsclient.so /usr/lib/

2.安装配置nginx:

(1)下载nginx-1.18.0.tar.gz,并用Xftp上传到/usr/local目录:

http://nginx.org/en/download.html

(2)解压nginx(cd到/root目录):

[root@localhost local]# tar zxf nginx-1.18.0.tar.gz

(3)创建/var/temp/nginx/client目录:

[root@localhost local]# mkdir -p /var/temp/nginx/client

(4)用configure创建makeFile文件(cd到/usr/local/nginx-1.18.0目录):

[root@localhost nginx-1.18.0]# ./configure \
--prefix=/usr/local/nginx \
--pid-path=/var/run/nginx/nginx.pid \
--lock-path=/var/lock/nginx.lock \
--error-log-path=/var/log/nginx/error.log \
--http-log-path=/var/log/nginx/access.log \
--with-http_gzip_static_module \
--http-client-body-temp-path=/var/temp/nginx/client \
--http-proxy-temp-path=/var/temp/nginx/proxy \
--http-fastcgi-temp-path=/var/temp/nginx/fastcgi \
--http-uwsgi-temp-path=/var/temp/nginx/uwsgi \
--http-scgi-temp-path=/var/temp/nginx/scgi \
--add-module=/usr/local/fastdfs-nginx-module-1.22/src  #表示添加fastdfs-nginx-module模块

(5)编译源码,并安装:

[root@localhost nginx-1.18.0]# make
[root@localhost nginx-1.18.0]# make install

(6)添加虚拟主机(cd到/usr/local/nginx/conf目录):

[root@www conf]# vi nginx.conf

修改内容如下:

server {
        listen       80;  #端口,与storage.conf中http.server_port一致
        server_name  192.168.233.134;  #本机IP或者用域名
        location /group1/M00/{  #group1为Storage端分组名,M00对应store_path0配置
        #location ~/group[0-9]/ { #官方文档示例
            root /home/fastdfs/fdfs_storage/data;
            ngx_fastdfs_module;
        }
}

(7)启动nginx(cd到usr/local/nginx/sbin目录):

[root@localhost sbin]# ./nginx

七、搭建nginx代理机:

1.创建1个虚拟机(或真机器),系统为centos7,IP为:

192.168.233.135

2.按上面一样的方式安装安装nginx。

3.配置nginx代理:

upstream storage_server_group1{ #storage群group1组
       server 192.168.233.133:80 weight=10;
}
server {
        listen       80;
        server_name  192.168.233.135;
        location /group1{
            proxy_redirect off;
            proxy_set_header Host $host;
            proxy_set_header X-Real-IP $remote_addr;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
            proxy_pass http://192.168.233.133:80;
        }

}

4.启动。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值