应用场景: 三台服务器分别做三组存储,并且需要两台tracker地址做主备关系,当一台down机后需要另外一台可以提供正常的访问连接

#注:此处不考虑存储数据安全性,如果需要保障数据不丢失,可以分别每台存储配置两组group(相同group之间数据会自动备份) ,三台服务器group分别为:

第一台服务器:group1  group2

第二台服务器:group1 group3

第三台服务器:group2 group3

需求图如下:

aaarticlea/png;base64,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" alt="" />

一: 为三台服务器分别部署FASTDFS + Nginx-fastdfs模块

1. 安装所需依赖:

 1. 安装libfastcommon
cd /opt
yum install git xz gcc g++ gcc-c++ autoconf automake make unzip -y
git clone https://github.com/happyfish100/libfastcommon.git
cd libfastcommon/
./make.sh
./make.sh install #设置环境变量或创建软链接
export LD_LIBRARY_PATH=/usr/lib64/
ln -s /usr/lib64/libfastcommon.so /usr/local/lib/libfastcommon.so 2. 安装libevent
cd /opt
wget https://github.com/downloads/libevent/libevent/libevent-2.0.21-stable.tar.gz
tar zxvf libevent-2.0.21-stable.tar.gz
cd libevent-2.0.21-stable
./configure --prefix=/usr/local/
make clean
make && make install
ls –al /usr/lib | grep libevent(或ls –al /usr/local/lib | grep libevent)
#如果有返回结果则安装正常 ln -s /usr/local/lib/libevent-2.0.so.5 /usr/lib/libevent-2.0.so.5
ln -s /usr/local/lib/libevent-2.0.so.5 /usr/lib64/libevent-2.0.so.5

2. 安装配置FastDFS

 1.下载安装fastdfs
https://sourceforge.net/projects/fastdfs/files/?source=navbar(该网址下载所需版本FastDFS 此处使用4.0.6为例)
cd /opt
tar -zxvf FastDFS_4.06.tar.gz
cd FastDFS
./make.sh
./make.sh install 2. 创建文件存放路径
mkdir -p /home/fastdfs/tracker #创建tracker文件存放路径
mkdir -p /home/fastdfs/storage #创建storage 文件存放路径
mkdir -p /home/fastdfs/client #创建client 文件存放路径 cd /etc/fdfs/ #查看目录下文件是否齐全,应该有client.conf http.conf mime.types storage.conf tracker.conf 5个文件,如果没有,libevent 安装有问题 3. 修改配置文件(172.18.4.217-218 由于每台均作为tracker 所以需要全部配置,而172.18.4.219只作为存储服务器所以不需要配置tracker.conf ;每台服务器配置内容如组名,存放路径等按真实情况填入 ) vim /etc/fdfs/tracker.conf #编辑tracker配置文件
disabled=false #启用配置文件
bind_addr= #解析主机地址,空则解析所有主机
port=22122 #tracker服务端口
connect_timeout=30 #连接超时时间30S
network_timeout=60 #网络超时时间60S
base_path=/usr/share/fastdfs/tracker #tracker基础数据存储路径及日志存放路径
max_connections=256 #最大并发连接数
work_threads=4 #工作线程数,最好和cpu核数保持一致
store_lookup=0 #选择上传文件模式 0代表group轮询 1指定特定group 2选择空间最大的group
#store_group= #上传文件组,如果模式为1,则必须设置成核特定group一致的组名
store_server=0 #选择存储服务器上传文件 0代表轮询,1根据通过IP第的顺序 2通过优先级
store_path=0 #选择哪块存储盘上传文件 0代表轮询,2代表优先最大存储空间盘(路径)
download_server=0 #选择哪台存储服务器下载文件0代表轮询,1代表当前文件上传的源服务器
reserved_storage_space = 10% #系统保留存储空间10%
######其余都默认就好 vim /etc/fdfs/storage.conf #编辑存储配置文件
group_name=group1 #存储组名
client_bind=true #当连接其他服务器时解析该主机地址
port=23000 #storage端口 23000
base_path=/usr/share/fastdfs/storage #基础存储数据和日志文件
store_path0=/usr/share/fastdfs/storage #group 所占用的目录或硬盘,有几个写几个
tracker_server=172.18.4.217:22122 #指定tracker1服务器
tracker_server=172.18.4.218:22122 #指定tracker2服务器 vim /etc/fdfs/client.conf
base_path=/usr/share/fastdfs/client #基础数据和日志文件
tracker_server=172.18.4.217:22122 #tracker1服务器
tracker_server=172.18.4.218:22122 #tracker2服务器

  3. 下载安装nginx 及 nginx-fastdfs模块

 1. 下载安装配置fastdfs-nginx
https://sourceforge.net/projects/fastdfs/files/?source=navbar 下载nginx-fastdfs模块压缩包
cd /opt/
tar zxvf fastdfs-nginx-module-v1.16.tar.gz
cd fastdfs-nginx-module/src
cp mod_fastdfs.conf /etc/fdfs/ #将mod_fastdfs.conf 拷贝到fdfs下进行配置
vim /etc/fdfs/mod_fastdfs.conf
base_path=/home/fastdfs/storage #修改成和storage 存放路径一致
tracker_server=172.12.4.201:22122 #配置成tracker server 地址和端口
url_have_group_name = true #url 中是否包组名
store_path0=/home/fastdfs/storage #文件存放路径,与storage 一致
group_count = 0 #0代表单组,非零代表多组,一般设置几就为几组
group_count = 1
[group1]
group_name=group1
storage_server_port=23000
store_path_count=1
store_path0=/usr/share/fastdfs/storage 2. 下载所需依赖库
https://sourceforge.net/projects/pcre/files/ #下载所需PCRE
cd /opt
tar xf pcre-8.12.tar.gz
https://sourceforge.net/projects/zlib/ #下载zlib
tar xf zlib-1.2.8.tar.xz 3. 下载安装nginx
wget http://nginx.org/download/nginx-1.8.1.tar.gz #下载nginx
tar -zxvf ngin-1.8.1.tar.gz
cd nginx-1.8.1 ./configure --prefix=/usr/local/nginx --with-zlib=/opt/zlib-1.2.8 --with-pcre=/opt/pcre-8.12 --add-module=/opt/fastdfs-nginx-module/src
make && make install

  4. 配置nginx

  172.18.4.217  

 172.18.4.217 nginx配置

 vim /usr/local/nginx/conf/nginx.conf
user root;
worker_processes 4;
events {
worker_connections 40960;
use epoll;
}
error_log /usr/local/nginx/logs/error.log;
pid /usr/local/nginx/logs/nginx.pid; http {
server_names_hash_bucket_size 128;
client_header_buffer_size 32k;
large_client_header_buffers 4 32k;
client_max_body_size 300m;
sendfile on;
tcp_nopush on;
proxy_redirect off;
proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_connect_timeout 90;
proxy_send_timeout 90;
proxy_read_timeout 90;
proxy_buffer_size 16k;
proxy_buffers 4 64k;
proxy_busy_buffers_size 128k;
proxy_temp_file_write_size 128k; log_format main '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"'; access_log /usr/local/nginx/logs/access.log main; upstream fdfs_group1 {
server 172.18.4.217:8080 weight=1 max_fails=2 fail_timeout=30s;
} upstream fdfs_group2 {
server 172.18.4.218:8080 weight=1 max_fails=2 fail_timeout=30s;
} upstream fdfs_group3 {
server 172.18.4.219:8080 weight=1 max_fails=2 fail_timeout=30s; }
include /usr/local/nginx/conf.d/*.conf;
}
 172.18.4.217 tracker.conf 配置
vim /usr/local/nginx/conf.d/tracker.conf server {
listen 80;
server_name 172.18.4.217; location ~ /group1/M00 {
proxy_next_upstream http_502 http_504 error timeout invalid_header;
proxy_pass http://fdfs_group1;
expires 30d;
} location ~ /group2/M00 {
proxy_next_upstream http_502 http_504 error timeout invalid_header;
proxy_pass http://fdfs_group2;
expires 30d;
} location ~ /group3/M00 {
proxy_next_upstream http_502 http_504 error timeout invalid_header;
proxy_pass http://fdfs_group3;
expires 30d;
}
}
 172.18.4.217 storage.conf配置
server {
listen 8080;
server_name 172.18.4.217; location ~ /group1/M00 {
root /usr/share/fastdfs/storage/data;
index index.html index.htm;
ngx_fastdfs_module;
}
}

    172.18.4.218

 vim /usr/local/nginx/conf/nginx.conf

 user root;
worker_processes 4;
events {
worker_connections 40960;
use epoll;
}
error_log /usr/local/nginx/logs/error.log;
pid /usr/local/nginx/logs/nginx.pid; http {
server_names_hash_bucket_size 128;
client_header_buffer_size 32k;
large_client_header_buffers 4 32k;
client_max_body_size 300m;
sendfile on;
tcp_nopush on;
proxy_redirect off;
proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_connect_timeout 90;
proxy_send_timeout 90;
proxy_read_timeout 90;
proxy_buffer_size 16k;
proxy_buffers 4 64k;
proxy_busy_buffers_size 128k;
proxy_temp_file_write_size 128k; log_format main '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"'; access_log /usr/local/nginx/logs/access.log main; upstream fdfs_group1 {
server 172.18.4.217:8080 weight=1 max_fails=2 fail_timeout=30s;
} upstream fdfs_group2 {
server 172.18.4.218:8080 weight=1 max_fails=2 fail_timeout=30s;
} upstream fdfs_group3 {
server 172.18.4.219:8080 weight=1 max_fails=2 fail_timeout=30s; }
include /usr/local/nginx/conf.d/*.conf;
}
 vim /usr/local/nginx/conf.d/tracker.conf

 server {
listen 80;
server_name 172.18.4.218; location ~ /group1/M00 {
proxy_next_upstream http_502 http_504 error timeout invalid_header;
proxy_pass http://fdfs_group1;
expires 30d;
} location ~ /group2/M00 {
proxy_next_upstream http_502 http_504 error timeout invalid_header;
proxy_pass http://fdfs_group2;
expires 30d;
} location ~ /group3/M00 {
proxy_next_upstream http_502 http_504 error timeout invalid_header;
proxy_pass http://fdfs_group3;
expires 30d;
}
}
 vim /usr/local/nginx/conf.d/storage.conf

 server {
listen 8080;
server_name 172.18.4.218; location ~ /group2/M00 {
root /usr/share/fastdfs/storage/data;
index index.html index.htm;
ngx_fastdfs_module;
}
}

    172.18.4.219

 vim /usr/local/nginx.conf
user root;
worker_processes 4; events {
worker_connections 40960;
} http {
include mime.types;
default_type application/octet-stream; sendfile on;
keepalive_timeout 65; server {
listen 8080;
server_name 172.18.4.219; location / {
root html;
index index.html index.htm;
} location ~ /group3/M00 {
root /usr/share/fastdfs/storage/data;
index index.html index.htm;
ngx_fastdfs_module;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
}

#配置完成,接下来启动服务并测试:

172.18.4.217-218 三个进程全启动,172.18.4.219 只需要启动storage 和nginx 即可

usr/local/bin/fdfs_trackerd /etc/fdfs/tracker.conf

/usr/local/bin/fdfs_storaged /etc/fdfs/storage.conf

/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf

检查是否启动成功:

ps aux |grep fdfs

netstat -ntpl |grep fdfs

ps aux |grep nginx

netstat -ngpl |grep nginx

fdfs_monitor /etc/fdfs/client.conf 查看状态是否正常

  1. 编辑3个文件: echo “1111” >>/opt/1.txt && echo “2222” >>/opt/2.txt && echo “3333” >>/opt/3.txt
  2. 上传文件:

      /usr/local/bin/fdfs_test /etc/fdfs/client.conf upload 1.txt
      /usr/local/bin/fdfs_test /etc/fdfs/client.conf upload 2.txt
      /usr/local/bin/fdfs_test /etc/fdfs/client.conf upload 3.txt

      #返回结果中会把上传完成的url 打印出来,看三个上传的url group是否轮询变化,如果停掉172.18.4.217 的tracker 返回url是不是地址变成172.18.4.218,

如都成功则 复制URL在浏览器中打开看是否正常

FastDFS 双tracker负载均衡 及多组存储配置的更多相关文章

  1. Ubuntu 10.04下实现双网卡负载均衡

    摘要:本文主要介绍和配置 在Ubuntu下 实现 bonding,双网卡负载,bonding模式为0,好处是负载平衡,另一网卡断了,也能工作. 什么是bonding Linux bonding 驱动提 ...

  2. Nginx+keepalived构建双主负载均衡代理服务器

    引言 Nginx是一个高性能的代理服务器,单台Nginx容易出现单点故障,使用keepalived可以实现Nginx的故障转移,保证了网站的高可用性 一.使用Nginx+keepalived的两种方案 ...

  3. Keepalived+Nginx实现高可用和双主节点负载均衡

    简介 Nginx可以实现高并发反向代理,lvs集群可以实现负载均衡,但是他们都有一个共同的弊端,就是Nginx,lvs架构中Director是单点故障,有没有一个好的方案解决这个问题呢?答案是有.通过 ...

  4. Tomcat+nginx+keepalived+memcached实现双VIP负载均衡及Session会话保持

    准备好tomcat 第一台 tar vxf apache-tomcat-7.0.54.tar.gz mv apache-tomcat-7.0.54 /usr/local/tomcat tar vxf ...

  5. Windows 2008 Server R2双网卡负载均衡

    源文档 <http://blog.sina.com.cn/s/blog_6025f5690101apwd.html>

  6. HAProxy(二):HAProxy的ACL规则实现智能负载均衡详解与示例

    一.HAProxy的ACL的功能 ACL(Access Control List)访问控制列表,HAProxy中的ACL的匹配条件和控制条件有许多种,功能很强大,可以通过源地址.源端口.目标地址.目标 ...

  7. 从零开始入门 | Kubernetes 中的服务发现与负载均衡

    作者 | 阿里巴巴技术专家  溪恒 一.需求来源 为什么需要服务发现 在 K8s 集群里面会通过 pod 去部署应用,与传统的应用部署不同,传统应用部署在给定的机器上面去部署,我们知道怎么去调用别的机 ...

  8. Kubernetes 中的服务发现与负载均衡

    原文:https://www.infoq.cn/article/rEzx9X598W60svbli9aK (本文转载自阿里巴巴云原生微信公众号(ID:Alicloudnative)) 一.需求来源 为 ...

  9. 干货 | 京东云应用负载均衡(ALB)多功能实操

    应用负载均衡(Application Load Balancer,简称ALB)是京东云自主研发的一款七层负载均衡产品,主要面向HTTP和HTTPS流量的WEB应用程序,提供灵活的功能配置.应用负载均衡 ...

随机推荐

  1. Voice Commands (VCD) Cortana 微软小娜示例

    Cortana 样品 您可以创建自定义功能Cortana使用Cortana技能装备或遗留的声音命令(VCD)平台. 在这里,你可以找到相关的样品: Cortana技能装备 目前Cortana技巧是建立 ...

  2. Install Visual Studio Tools for Apache Cordova

    Install Visual Studio Tools for Apache Cordova Visual Studio 2013   This article refers to the Visua ...

  3. javascript - return

    return 使用,建议使用vsCode编译器. /** * return:中断语句运行. * * 1.return;和return false是一样的 * 2.return只能返回一个参数,可以是值 ...

  4. 从错误中学python(2)————字符串转浮点数

    题目 自己编写函数:利用map和reduce编写一个str2float函数,把字符串'123.456'转换成浮点数123.456: 题目来源--致敬廖雪峰 解决过程 初步的解决方法 def str2f ...

  5. Android高效异步图片加载框架

    概述 Android高效异步图片加载框架:一个高效的异步加载显示的图片加载框架,同时具备图片压缩,缓存机制等特性. 详细 代码下载:http://www.demodashi.com/demo/1214 ...

  6. Linux下查看磁盘挂载的三种方法

    Linux下查看磁盘挂载的三种方法 2009-06-05 23:17 好久没有更新日志了,呵呵.不是没有要写的东东.实在抽不出时间来写,要准备公司的考试呢,C++考试.已经有七个月没有写C++代码了, ...

  7. 如何用原生js或jquery设置select的值

    1.原生js设置select值的方法 (1)有时可能需要隐藏select,但是还得需要更改select所传递的值.(select的默认选中之为第一个,即下标为0的选项值) var gd2=docume ...

  8. EMQ 学习---MQTT消息QoS

    MQTT发布消息QoS保证不是端到端的,是客户端与服务器之间的.订阅者收到MQTT消息的QoS级别,最终取决于发布消息的QoS和主题订阅的QoS. 客户端连接: 客户端完成TCP三次握手之后,还需要发 ...

  9. scanf深究

    例子: #include <stdio.h>#include <string.h> main(){ char buffer[1024]; scanf("%s" ...

  10. android:hint属性对TextView的影响

    近期看到同事写的一段代码,非常easy吧就是: <LinearLayout android:layout_width="wrap_content" android:layou ...