fastdfs集群安装过程_学习笔记
最终效果


初始化为6个节点

在/usr/local/software 目录下上传需要用到tar包,分别在各个节点上传

使用scp 将本地software目录复制到其他节点上

73、74为 tracker集群,其他为storage集群
其中13对应15,16
其中14对应17,18

------------------------------------------------------------------------------------------------------
一、安装软件部分,6台机器同时进行安装
1.安装 gcc :yum install make cmake gcc gcc-c
2.安装libfastcommon 包
上传libfastcommon-master.zip到/usr/local/software下
unzip libfastcommon-master.zip -d /usr/local/fast/
cd /usr/local/fast/libfastcomon-master/ 进行安装编译
./make.sh
./make.sh install

FastDFS主程序设置的目录为/usr/local/lib/,所以我们需要创建/usr/lib64/下的一些核心执行程序的软连接文件。
mkdir /usr/local/lib
ln -s /usr/lib64/libfastcommon.so /usr/lib/libfastcommon.so
ln -s /usr/lib64/libfdfsclient.so /usr/local/lib/libfdfsclient.so
ln -s /usr/lib64/libfdfsclient.so /usr/lib/libfdfsclient.so
3.安装FastDFS系统
cd /usr/local/software 解压 FastDFS_v5.05.tar.gz 文件
cd /usr/local/software
tar -zxvf FastDFS_v5.05.tar.gz -C /usr/local/fast
解压后进行安装编译
cd /usr/local/fast/FastDFS
./make.sh
./make.sh install

fastDFS的配置文件在 /etc/fdfs/ 目录下 其中有三个文件 客户端,storaged以及tracker文件
因为FastDFS服务脚本设置的bin目录为 /usr/local/bin下,实际安装如上图在 /usr/bin下,所以修改
FastDFS配置文件中的路径,需要修改两个配置文件 /etc/init.d/fdfs_storaged 和 fdfs_trackerd文件
vim打开两个配置文件 执行 %s+/usr/local/bin+/usr/bin,其中所有节点都进行此项操作

二、进行两个 tracker 的配置 两个tracker服务器同时进行
1.进入到etc目录下的fastdfs配置文件夹中,共有三个文件
cd /etc/fdfs

2.修改tracker配置文件,修改conf文件
cp tracker.conf.sample tracker.conf
vim tracker.conf
修改属性 base_path=/fastdfs/tracker
store_lookup = 0
0 轮询上传文件
1 固定上传1个group 为 store_group 指定group
2 负载均衡上传,谁空闲大上传谁
3.启动跟踪器
mkdier -p /fastdfs/tracker 对应上面配置的 base_path
cd /fastdfs/tracker/ && ll
没有文件 total 0
/etc/init.d/fdfs_trackerd start 启动命令 / stop 停止命令
/etc/init.d/fdfs_tracker
查看进程
ps -ef | grep fdfs / netstat -tunp | grep fdfs
查看log后100行数据
tail -f n 100 /fastdfs/tracker/logs/trackerd.log
三、四台机器分别配置存储节点storaged
1.修改storage.conf文件
cd /etc/fdfs
cp storage.conf.sample storage.conf
vim storage.conf
115,116为1组 group1, 117和118为1组 group2 编辑文件内容如下:
disabled=false 启用配置文件
group_name=group1 组名 第一组group1 第二组group2
Port=23000 storage 端口号 同一个storage端口号必须相同
base_path=/fastdfs/storage 设置log存储路径
store_path_count=1 设置存储路径个数
store_path0=/fastdfs/storage 设置存储路径
tracker_server=tracker1IP:22122 tracker服务器ip地址和端口号
tracker_server=tracker2IP:22122 多个tracker直接添加多个配置
Http.server_port=8888 设置端口号 -》 nginx.conf 设置 listen 8888 对应
同步文件到其余3个storage服务器中
其中117,118服务器storage.cnf 修改group_name,其余不用修改
group_name=group2
2.创建storage存放数据目录
mkdir -p /fastdfs/storage
3.启动storage服务
启动服务: /etc/init.d/fdfs_storaged start
查看日志: tail -f /fastdfs/storage/logs/storaged.log
注意:启动服务时候先启动 173 174 tracker 跟踪器节点,然后分别启动第一组存储节点(175,176)节点,通过日志可以知道谁是leader节点,如下图:175节点log, tracker leader 是174节点,最后一句 75成功连接 76 服务同为 group1组

4.如果174 leader 节点down了,则服务自动切换成 173 为leader 节点
5.在usr/bin 下有好多命令,通过fdfs_monitor 命令监控当前storage存储状态

/usr/binfdfs_monitor /etc/fdfs/storage.conf 会显示集群所有节点信息
6.进行服务测试,通过client 服务测试
cd /etc/fastdfs/ 进行测试
cp client.conf.sample client.conf
vim client.conf 修改测试客户信息
base_path=/fastdfs/tracker
tracker_server=trackerIP1:22122
tracker_server=trackerIP2:22122
cd /usr/local
长传文件到storage上
/usr/bin/fdfs_upload_file /etc/fdfs/client.conf /usr/local/software/xxxxx.file
返回 group1/M00/00/00/xxxxxxxxx.file
查看75,76文件data,都有上传文件,77,78没有文件
/usr/bin/fdfs_upload_file /etc/fdfs/client.conf /usr/local/software/ssss.file
返回 group2/M00/00/00/ssss.file
查看75,76 没有文件, 77 ,78 data目录下有文件
(在 store_lookup=0 设置 轮询上传)
------------------------------------------------------fastdfs集群部署完成--------------------------------------------------------
四.fastdfs配置ngnix
(在storage节点上安装)
1.添加 fastdfs-nginx-modue模块,
cd /usr/local/software
tar -zxvf fastdfs-nginx-module_v1.16.tar.gz -C /usr/local/fast
2.安装fastdfs-nginx-modue之前,对配置文件进行修改
cd fastdfs-nginx-module/src/
vim config
去除local文件层次 四个节点同时操作

3.四个存储节点安装nginx依赖包,安装nginx,添加fastdfs和nginx的整合模块
(1).安装nginx依赖包
yum install pcre
yum install pcre-devel
yum install zlib
yum install zlib-devel
(2).安装nginx,加入fastdfs-nginx-module
cd /usr/local/software
tar -zxvf nginx-1.6.2.tar.gz -C /usr/local
cd /usr/local/nginx-1.6.2/
./configure --add-module=/usr/local/fast/fastdfs-nginx-module/src
make && make install
(3).复制fastdfs-nginx-module中的配置文件到 /etc/fdfs 目录下
cd /usr/local/fast/fastdfs-nginx-module/src
cp mod_fastdfs.conf /etc/fdfs/
vim /etc/fdfs/mod_fastdfs.conf 修改连接超时时间。追踪器路径,url的group配置等
第一组 175 176 和 第二组 177 178 节点修改内容 只有组名称不同
[115]
connect_timeout=10
tracker_server=trackerIP1:22122
tracker_server=trackerIP2:22122
storage_server_port=23000
url_have_group_name=true
store_path0=/fastdfs/storage
group_name=group1 / group2 第一组(115 116)为group1 第二组(117 118)为 group2
group_count=2
(4).复制FastDFS中的 2 个文件到 /etc/fdfs 目录中 所有节点
cd /usr/local/fast/FastDFS/conf
cp http.conf mime.types /etc/fdfs/
(5).创建一个软连接,在 /fastdfs/storage 文件存储目录下创建, 将其连接到实际存放数据的目录
源文件 连接文件 M00 指向 data
ln -s /fastdfs/storage/data /fastdfs/storage/data/M00
(6).配置 nginx 配置文件
cd /usr/local/nginx/conf
vim nginx.conf
访问 group [0-9] ,直接访问 M00软连接,执行 ngx_fastdfs_module模块
listen 8888为 storage http.server_port=8888 配置对应

(7).检查防火墙,启动 nginx
/usr/local/nginx/sbin/nginx 启动服务
/usr/local/nginx/sbin/nginx stop 停止服务
/usr/local/nginx/sbin/nginx -s stop 重启服务
(8).可以通过 tracler 节点 client 上传文件 然后使用http url访问图片了
/usr/bin/fdfs_upload_file /etc/fdfs/client.conf /usr/local/software/xxxxxx.file
http://ClientIP:8888/group1/M00/00/00/xxxxxx.file -》ClientID 75 76 77 78
其中 75 76 数据相同 77 78 数据相同 不能跨域访问
------------------------------------------------------nginx fastdfs 整合完成--------------------------------------------------------
五.追踪器上提那家nginx,提供反向代理服务(使用一个ip向外部提供服务)
1.上传ngx_cache_purge-2.3.tar.gz 文件到 /usr/local/software 目录下
2.上传tar -zxvf ngx_cache_purge-2.3.tar.gz -C /usr/local/fast 并且进行解压
3.cd /usr/local/fast/ ll 查看目录下文件 新增缓存模块

4.配置nginx,添加nginx依赖包等
yum install pcre
yum install pcre-devel
yum install zlib
yum install zlib-devel
5.解压nginx 并且加入 ngx_cache_pureg (缓存模块)
cd /usr/local/software
tar -zxvf nginx-1.6.2.tar.gz -C /usr/local
cd /usr/local/nginx-1.6.2
添加ngx_cache_pureg模块,之前加入 fastdfs 模块
./configure --add-module=/usr/local/fast/ngx_catch_purge-2.3
make && make install
6.配置nginx 负载均衡和缓存 (173 174 节点配置一致) /usr/local/nginx/conf/nginx.conf
(1).设置缓存信息

(2).负载均衡 fdfs_group1 两个服务对应 tracker 173,fdfs_group2 对应 tracker174

(3).设定服务,对外提供统一端口 8000 ,其中 173 174 服务配置参数完全相同
服务访问 /group1/M00 则对应访问 fdfs_group1 服务 对应上面图片中 fdfs_group1 集群服务
服务访问 /group2/M00 则对应访问 fdfs_group2 服务 对应上面图片中 fdfs_group2 集群服务



(4).添加创建缓存的使用文件夹 上面 3 中配置缓存路径
mkdir -p /fastdfs/cache/nginx/proxy_cache
mkdir -p /fastdfs/cache/nginx/proxy_cache/tmp
(5).开放8000 端口, 修改 /etc/sysconfig/iptables 文件 添加 8000端口号
service iptables restart
(6).client 上传文件 通过 8000端口进行访问
73 上传文件 /usr/bin/fdfs_upload_file /etc/fdfs/client.conf /usr/local/software/xxxxx.file
通过 tracker ip:8000 访问文件
http://192.168.1.173:8000/group1/M00/00/00/xxxxxx.file
73 代理 75 76 storage
73 上传文件 /usr/bin/fdfs_upload_file /etc/fdfs/client.conf /usr/local/software/xxxxx.file
http://192.168.1.174:8000/group2/M00/00/00/xxxxxx.file
74 代理 77 78 storage
7.在 tracker (73 74) 安装nginx后,可以对 group1 和 group2 进行访问(反向代理),最后虚拟一个keepalived,虚拟出一个VIP对两台tracker做高可用配置
nginx + keepalived ???学习


修改后需要把 nginx.conf 配置文件传送到 带有 keepalived 的节点上 (114 115)
114,115 两节点代理 73 74 两节点 修改配置文件后需要重启 nginx,
/usr/local/nginx/sbin/nginx -s reload
在 73 上传文件 通过 110 (115 114 代理)进行访问
192.168.1.110/fastdfs/group1/M00/00/00/xxxx.file fastdfs 对应 上面配置 location
(可以将 173 174 结合keepalived 做出高可用 虚拟IP访问)
8.关闭集群步骤

fastdfs集群安装过程_学习笔记的更多相关文章
- hadoop1.2.1+zk-3.4.5+hbase-0.94.1集群安装过程详解
hadoop1.2.1+zk-3.4.5+hbase-0.94.1集群安装过程详解 一,环境: 1,主机规划: 集群中包括3个节点:hadoop01为Master,其余为Salve,节点之间局域网连接 ...
- Kubernetes全栈架构师(二进制高可用安装k8s集群扩展篇)--学习笔记
目录 二进制Metrics&Dashboard安装 二进制高可用集群可用性验证 生产环境k8s集群关键性配置 Bootstrapping: Kubelet启动过程 Bootstrapping: ...
- FastDFS 集群 安装 配置
这篇文章介绍如何搭建FastDFS 集群 FastDFS是一个开源的轻量级分布式文件系统,它对文件进行管理,功能包括:文件存储.文件同步.文件访问(文件上传.文件下载)等,解决了大容量存储和负载均衡的 ...
- FastDFS集群安装
集群安装1.FastDFS安装 Tracker,nginx 192.168.56.113 192.168.56.114 storage group1 192.168.56.115 ...
- Kubernetes全栈架构师(二进制高可用安装k8s集群部署篇)--学习笔记
目录 二进制高可用基本配置 二进制系统和内核升级 二进制基本组件安装 二进制生成证书详解 二进制高可用及etcd配置 二进制K8s组件配置 二进制使用Bootstrapping自动颁发证书 二进制No ...
- FastDFS集群-安装说明
一.简介 FastDFS是一个开源的轻量级分布式文件系统,它对文件进行管理,功能包括:文件存储.文件同步.文件访问(文件上传.文件下载)等,解决了大容量存储和负载均衡的问题.特别适合以文件为载体的在线 ...
- Hadoop之——分布式集群安装过程简化版
转载请注明出处:http://blog.csdn.net/l1028386804/article/details/46352315 1.hadoop的分布式安装过程 1.1 分布结构 主节点(1个,是 ...
- RabbitMQ 集群安装过程详解
一.安装Erlang 1.rabbitMQ是基于erlang的,所以首先必须配置erlang环境. 从erlang官网下载 otp 18.3.下载链接:http://erlang.org/downlo ...
- ALSA声卡07_分析调用过程_学习笔记
1.编译新的strace工具分析aplay和amixer应用程序对声卡的调用过程 (1)因为旧的strace工具不能识别不能识别alsa声卡驱动程序里面的ioctrl. (2)编译过程参考http:/ ...
随机推荐
- Nginx中配置https中引用http的问题
Nginx中配置https中引用http的问题 遇到问题: 今天公司要在后台增加直播入口,使用腾讯云的实时音视频,要求是必须使用https,在配置完强制跳转https候,发现后台无法上传图片,在浏览器 ...
- mesg - 调节用户终端的写访问权
总览 (SYNOPSIS) mesg [y|n] 描述 (DESCRIPTION) Mesg 控制 其他用户 对 你的终端 的 访问能力. 典型用途 是 允许 或 禁止 其他用户向 你的终端 输出 数 ...
- 使用Python发送企业微信消息
准备工作: 到企业微信官网,注册一个企业:登录企业微信后台,创建一个“自建”应用, 获取企业ID.agentid.secret这3个必要的参数:在企业微信的通讯录中,创建多个测试账号:在手机端安装“企 ...
- [转]0day零距离
前言: 想起这个话题,还要从早年网上的一则新闻说起--"美国联邦官员于2001年12月11日宣布,已破获一起以因特网为犯罪手段的特大软件盗版案--盗版软件的总价值至少高达10亿美元.据悉,该 ...
- 磁盘IO性能优化-实践
RAID卡缓存策略调整 原因详解 操作实例 I/O 调度算法 文件系统journal 磁盘挂载参数 操作实例 性能数据对比 RAID卡缓存策略调整 可以将RAID卡缓存策略由No Write Cach ...
- 1134. Vertex Cover (25)
A vertex cover of a graph is a set of vertices such that each edge of the graph is incident to at le ...
- gperftools尝试
最近在找windows下比较好用的函数时间统计的库,听同事说gperftools是跨平台的,就下载下来尝试了一把.发现它确实实现了windows上可以调用的dll库文件(tcmalloc_minima ...
- NTC电阻Rt与温度T关系
NTC电阻Rt与温度T公式如下: Rt=10000*exp(3950*(1/(273.15+T)-1/(273.15+25))). 例:0摄氏度时,电阻为33620.6037214357 欧姆 Rt= ...
- BAT面试必问题系列:深入详解JVM 内存区域及内存溢出分析
前言 在JVM的管控下,Java程序员不再需要管理内存的分配与释放,这和在C和C++的世界是完全不一样的.所以,在JVM的帮助下,Java程序员很少会关注内存泄露和内存溢出的问题.但是,一旦JVM发生 ...
- redis数据库的set去重操作
一:业务需求 用户名存储之前进行去重判断 方法一:使用redis的set集合进行去重判断 keys * 查看所有的键 type 键名 查看对应的数据类型 sadd set a b c 往set集合里 ...