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:/ ...
随机推荐
- ELK报错及解决方案
ELK报错及解决方案 1.jdk版本问题 报错如下: future versions of Elasticsearch will require Java 11; your Java version ...
- Nginx配置https兼容http
现象 如果一个https站点里面有引用一些http的静态资源,图片可以正常加载,但是js文件.css文件就会加载失败,如下图: 原因 为了解释这个问题,首先要理解一下Mixed Content的概念: ...
- mobilenetV3
1.MobilenetV3是通过NAS得到的,结合了v1,v2和MnasNet的结构,包括v1的dw,v2的linear bottleneck和逆残差结构, MnasNet的se结构(接在部分line ...
- delphi 10.3 IOS中英文错位
delphi 每回升级都会遇到各种问题, 在安卓和windows下正常,ios遇到排版问题. 解决办法:将附件文件放至程序目录下. 百度网盘下载附件 链接: https://pan.baidu.com ...
- IDEA提交代码到github
GIT客户端安装及idea配置github账号并提交代码到GIT参考资料:https://blog.csdn.net/qq_31405633/article/details/88193119 1. 选 ...
- Eclipse设置类和方法的注释模板
一.打开设置模板的窗口:Window->Preference->Java->Code Style->Code Template展开Comments,最常用的就是类和方法的注释, ...
- input 的type类型值
input有很多属性,我们先来说一下最原始的,也就是HTML5之前的 1)text: 定义单行的输入字段,可扎起其中输入文本 2)password:定义密码字段,会显示自符掩码 3)file: 定义输 ...
- 20180827(02)- Java发送邮件
Java 发送邮件 使用Java应用程序发送E-mail十分简单,但是首先你应该在你的机器上安装JavaMail API 和Java Activation Framework (JAF) . 你可以在 ...
- 20180827-Java网络编程
Java 网络编程 网络编程是指编写运行在多个设备(计算机)的程序,这些设备都通过网络连接起来. java.net包中J2SE的API包含有类和接口,它们提供低层次的通信细节.你可以直接使用这些类和接 ...
- [BZOJ3199][SDOI2013]escape:半平面交
分析 好像叫V图什么的. 容易发现,对于每个点,其监视的范围就是这个点与其它所有点的垂直平分线分割平面后的半平面交.由于数据范围很小,所以我们可以直接枚举每个点,使用双端队列求出其监视的范围.若两个点 ...