centos7配置fastdfs集群(5.09)

2017年03月10日 23:34:26 带鱼兄 阅读数 1564
 
 版权声明:本文为博主原创文章,转载请注明出处。 https://blog.csdn.net/daiyudong2020/article/details/61210303

简介:

FastDFS是一个开源的轻量级分布式文件系统,它的特性在这里略过几千字。

基础环境准备:

centos7虚拟机2台,暂时关闭机器的防火墙,iptables -F。

机器A: 192.168.1.106

机器B: 192.168.1.107

目标:使用两台机,组成一个fastdfs集群,含有1组存储服务

1.安装依赖库libfastcommon

下载:https://github.com/happyfish100/libfastcommon (master分支)

unzip libfastcommon-master.zip
cd libfastcommon-master
./make.sh
./make.sh install

2.安装fastdfs

下载:https://github.com/happyfish100/fastdfs(5.09版本)

unzip fastdfs-5.09.zip
cd fastdfs-5.09
./make.sh
./make.sh install
cp conf/http.conf /etc/fdfs/
cp conf/mime.types /etc/fdfs/

a)如果全程没报错,则安装成功,在这里必须拷贝conf下的两个文件,否则运行报错。

b)安装完毕后,执行进程默认都在/usr/bin目录中,可以通过ls /usr/bin/fdfs_*查看。

c)安装完毕后,启动的配置文件默认都在/etc/fdfs中。

3.安装nginx fastdfs moudel(用于下载文件)

下载module:https://github.com/happyfish100/fastdfs-nginx-module(master分支)
下载nginx:http://nginx.org/en/download.html (选个最新稳定版,在这里我选择了1.10.3)

tar -xzvf nginx-1.10.3.tar.gz
unzip fastdfs-nginx-module-master.zip
mkdir /usr/local/nginx-1.10.3
cd nginx-1.10.3
./configure --prefix=/usr/local/nginx-1.10.3 --add-module=/home/daiyu/soft/fastdfs-nginx-module-master/src
make
make install

a)fastdfs的文件名包含了下载路径,所以可以通过nginx模块进行静态下载,而不需要通过tracker服务。

b)接下来还需要把fastdfs-nginx-module安装目录中src目录下的mod_fastdfs.conf也拷贝到/etc/fdfs目录下

cp fastdfs-nginx-module-master/src/mod_fastdfs.conf /etc/fdfs/

4.启动fastdfs前的一些目录准备

mkdir /fdfs0 #文件存储路径0
mkdir /fdfs1 #文件存储路径1 mkdir /fastdfs/tracker #tracker服务的日志和一些数据存储
mkdir /fastdfs/storage #storage服务的日志和一些数据存储(非文件数据) mkdir /fastdfs/mod_fastdfs #fastdfs nginx模块
mkdir /fastdfs/mod_fastdfs/logs #fastdfs nginx模块日志 mkdir /fastdfs/client #测试客户端的日志,备用

配置文件简单介绍

tracker.conf     #tracker服务依赖的配置
storage_ids.conf #tracker服务依赖的配置
storage.conf #storage服务依赖的配置
http.conf #nginx模块依赖的配置
mime.types #nginx模块依赖的配置
mod_fastdfs.conf #nginx模块依赖的配置
client.conf #测试客户依赖的配置

5.配置tracker的配置,并启动服务

cp tracker.conf.sample tracker.conf
vim tracker.conf
#修改配置项如下(A/B机器只需要更换bind_addr)
bind_addr=192.168.1.106
port=22122
base_path=/fastdfs/tracker
use_storage_id = true
storage_ids_filename = /etc/fdfs/storage_ids.conf
id_type_in_filename = id cp storage_ids.conf.sample storage_ids.conf
vim storage_ids.conf
#修改配置项如下(A/B机器一致)
# <id> <group_name> <ip_or_hostname>
100001 G001 192.168.1.106
100002 G001 192.168.1.107

启动服务:fdfs_trackerd /etc/fdfs/tracker.conf start

重启服务:fdfs_trackerd /etc/fdfs/tracker.conf restart

停止服务:fdfs_trackerd /etc/fdfs/tracker.conf stop

6.配置storage的配置,并启动服务

cp storage.conf.sample storage.conf
vim storage.conf
#修改配置项如下(A/B机器只需要更换bind_addr)
group_name=G001
bind_addr=192.168.1.106
port=23000
base_path=/fastdfs/storage
store_path_count=2
store_path0=/fdfs0
store_path1=/fdfs1
tracker_server=192.168.1.106:22122
tracker_server=192.168.1.107:22122

启动服务:fdfs_storaged /etc/fdfs/storage.conf start

重启服务:fdfs_storaged /etc/fdfs/storage.conf restart

停止服务:fdfs_storaged /etc/fdfs/storage.conf stop

做完这一步,集群已经启动,可以通过命令观测集群是否都处于ACTIVE状态

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

7.配置nginx fastdfs的配置

vim mod_fastdfs.conf
#修改配置项如下
base_path=/fastdfs/mod_fastdfs
load_fdfs_parameters_from_tracker=true
use_storage_id = true
storage_ids_filename = /etc/fdfs/storage_ids.conf
tracker_server=192.168.1.106:22122
tracker_server=192.168.1.107:22122
group_name=G001
url_have_group_name = true
store_path_count=2
store_path0=/fdfs0
store_path1=/fdfs1
log_filename=/fastdfs/mod_fastdfs/logs/mod_fastdfs.log
response_mode=proxy
group_count = 0

8.配置nginx,并启动

mkdir /fastdfs/nginx
mkdir /fastdfs/nginx/conf
mkdir /fastdfs/nginx/logs cd /fastdfs/nginx
vim fastdfs.proxy.conf
#修改配置项如下 user root root;
worker_processes 1; events {
worker_connections 1024;
} http {
log_format main '$msec $status $request $request_time '
'$http_referer $remote_addr [ $time_local ] '
'$upstream_response_time $host $bytes_sent '
'$request_length $upstream_addr'; server {
listen 8080; location / {
ngx_fastdfs_module;
}
}
}

a) 配置好nginx的执行文件搜索路径/etc/profile

b) 上家伙

测试配置:nginx -p `pwd` -c conf/fastdfs.proxy.conf -t

启动:nginx -p `pwd` -c conf/fastdfs.proxy.conf

9.测试上传

cp client.conf.sample client.conf
vim client.conf
#修改配置项如下
base_path=/fastdfs/client
tracker_server=192.168.1.106:22122
tracker_server=192.168.1.107:22122
load_fdfs_parameters_from_tracker=true
use_storage_id = true
storage_ids_filename = /etc/fdfs/storage_ids.conf

echo "hello world" > t.txt

fdfs_upload_file /etc/fdfs/client.conf t.txt

根据文件名,可以找到文件在这个目录中,同时到B机器检测这个文件是否已经同步成功:

ls /fdfs0/data/00/0F/

10.测试下载

curl -i "127.0.0.1:8080/G001/M00/00/0F/oYYBAFjCxnSAbU63AAAADFmwwCQ201.txt"

小结:

至此,基本的安装配置流程就结束了,实际线上部署还会有很多优化配置,这里就不一一展开了,有兴趣可以私下交流。

原文出自:http://blog.csdn.net/daiyudong2020/article/details/61210303

End;

centos7配置fastdfs集群(5.09)的更多相关文章

  1. Centos7配置TiDB集群

    一:各模块属性 模块名称 状态 建议实例数 功能 负载均衡组件 TiDB 无状态 2 接收SQL请求,处理SQL相关逻辑,并通过PB找到存储数据的TiKV地址 LVS.HAProxy.F5 PB 集群 ...

  2. CentOS7配置crate集群

    一:编辑配置文件: 1.1配置文件: vim /etc/crate/crate.yml 1.2编辑crate.yml 的集群名称在166行附近: cluster.name: crate-xxx 1.3 ...

  3. centos7配置hadoop集群

    一:测试环境搭建规划: 主机名称 IP 用户 HDFS YARN hadoop11 192.168.1.101 hadoop NameNode,DataNode NodeManager hadoop1 ...

  4. centos7配置Hadoop集群环境

    参考: https://blog.csdn.net/pucao_cug/article/details/71698903 设置免密登陆后,必须重启ssh服务 systermctl restart ss ...

  5. Dubbo入门到精通学习笔记(十七):FastDFS集群的安装、FastDFS集群的配置

    文章目录 FastDFS集群的安装 FastDFS 介绍(参考:http://www.oschina.net/p/fastdfs) FastDFS 上传文件交互过程: FastDFS 下载文件交互过程 ...

  6. FastDFS 集群 安装 配置

    这篇文章介绍如何搭建FastDFS 集群 FastDFS是一个开源的轻量级分布式文件系统,它对文件进行管理,功能包括:文件存储.文件同步.文件访问(文件上传.文件下载)等,解决了大容量存储和负载均衡的 ...

  7. FastDFS集群部署

    之前介绍过关于FastDFS单机部署,详见博文:FastDFS+Nginx(单点部署)事例 下面来玩下FastDFS集群部署,实现高可用(HA) 服务器规划: 跟踪服务器1[主机](Tracker S ...

  8. FastDFS集群部署(转载 写的比较好)

    FastDFS集群部署   之前介绍过关于FastDFS单机部署,详见博文:FastDFS+Nginx(单点部署)事例 下面来玩下FastDFS集群部署,实现高可用(HA) 服务器规划: 跟踪服务器1 ...

  9. Fastdfs集群部署以及基本操作

    FastDFS引言 本地存储与分布式文件系统 本地存储的缺点: 是否有备份? 没有 成本角度? 贵 ​ 服务器 :用于计算 ---- cpu/内存 ​ 用于存储 ---- 硬盘大 存储瓶颈? 容量有限 ...

随机推荐

  1. crontab 常见 /dev/null 2>&1 详解

    大部分在 crontab 计划任务中都会年到未尾带 >/dev/null 2>&1,是什么意思呢? > 是重定向 /dev/null 代表空设备文件 1 表示stdout标准 ...

  2. java 调用腾讯云短信api

    依赖: <!--腾讯短信依赖--> <dependency> <groupId>com.github.qcloudsms</groupId> <a ...

  3. 上传本地文件到linux

    Linux 命令行上传文件 Linux服务器,硬盘坏了,更换硬盘后,重装了好像是Foreda v22的操作系统,我在/var/www/html/目录下新建了我的个人文件夹 kma,然后我在此kma文件 ...

  4. 第九周总结&实验报告七

    小结:这周请了一天的假,所以回来的时候有些知识点跟不上,不过在第二节课学到了关于IO的知识很重要,对于这次的实验也有些吃力,这周的知识点主要集中在书上,在各种不同条件下学习运用什么样的代码.   一. ...

  5. 关于慕课网《使用vue2.0实现购物车和地址选配功能》的总结

    视频学习网址:http://www.imooc.com/learn/796 源码打包:https://codeload.github.com/fachaoshao/Vue-ShoppingCart/z ...

  6. directshow播放摄像头卡死问题

    最近遇到一个坑,directshow显示摄像头的时候,使用无窗口模式结果在浏览器插件里面界面卡死,但是控制台下面的句柄传过去却能正常播放 刚开始以为是调用的参数问题,琢磨了几天硬是搞不定,最后想到插件 ...

  7. Python2.x与Python3.x的主要区别(转)

    python2.x和python3.x版本有很大的差异,除了依赖包的名称变化很大外,其主要差异总结如下: 1)print函数 Python3中,print函数的括号是必须的,Python2是可选的. ...

  8. Android 客户端应用开发结构框架

    本文算是一篇漫谈,谈一谈关于android开发中工程初始化的时候如何在初期我们就能搭建一个好的架构.关于android架构,因为手机的限制,目前我觉得也确实没什么大谈特谈的,但是从开发的角度,看到整齐 ...

  9. 内网每一台电脑的外网ip是一样吗

    内网每一台电脑上网的IP地址是一样的,因为公网地址的稀缺性,所以内部上网是通过映射或者说叫端口复用将内部私有地址转换为公有地址进行上网的. 公有地址就是网关设备出口的地址,也可以说是路由器的出口地址, ...

  10. Reactjs之实现js跳转路由

    1.新增知识 /* 实现js跳转路由:https://reacttraining.com/react-router/web/example/auth-workflow 1.要引入Redirect im ...