分布式存储fastdfs安装使用

简介: 分布式存储fastdfs安装使用

1.下载地址https://github.com/happyfish100/fastdfs
https://github.com/happyfish100/fastdfs/wiki安装辅助说明文档
2.安装编译环境
yum install git gcc gcc-c++ make automake autoconf libtool pcre pcre-devel zlib zlib-devel openssl-devel wget vim -y
三台主机:
172.18.224.100(tracker,client)
172.18.224.101(storage)
172.18.224.100(storage)
3.创建数据存储目录
mkdir /dfs
4.安装libfatscommon
git clone https://github.com/happyfish100/libfastcommon.git --depth 1
cd libfastcommon/
./make.sh && ./make.sh install #编译安装
1
5.安装FastDFS
git clone https://github.com/happyfish100/fastdfs.git --depth 1
./make.sh && ./make.sh install #编译安装
cd fastdfs/conf
2
6.复制两个nginx访问时使用到的配置文件
cp http.conf /etc/fdfs/
cp mime.types /etc/fdfs/
7.
cp /etc/fdfs/tracker.conf.sample /etc/fdfs/tracker.conf
cp /etc/fdfs/storage.conf.sample /etc/fdfs/storage.conf
cp /etc/fdfs/client.conf.sample /etc/fdfs/client.conf #客户端文件,测试用
8.172.18.224.100编辑/etc/fdfs/tracker.conf:
base_path=/dfs/tracker ###自己定义的tracker目录
mkdir /dfs/tracker start
/etc/init.d/fdfs_trackerd start
9.172.18.224.101,172.18.224.102 编辑/etc/fdfs/storage.conf
base_path=/dfs/storage ###storage主目录
store_path0=/dfs/storage/0 ###存贮目录
tracker_server=172.18.224.100:22122
http.server_port=8080 ##与tracker文件保持一致
/etc/init.d/fdfs_storaged start ##启动storaged
3
10.查看fdfs是否安装成功:
fdfs_monitor /etc/fdfs/storage.conf4
11.编辑client端配置文件:
vim /etc/fdfs/client.conf
base_path=/dfs/client
mkdir -pv /dfs/clinet
12.上传文件:
fdfs_upload_file
5
fdfs_upload_file /etc/fdfs/client.conf /etc/fstab
查看文件信息fdfs_file_info /etc/fdfs/client.conf group1/M00/00/00/rBLgZVwwaiqAFIG_AAABOWqC2ow1549165
13.下载文件
fdfs_download_file /etc/fdfs/client.conf group1/M00/00/00/rBLgZVwwaiqAFIG_AAABOWqC2ow1549165 /tmp/fs
14.172.18.224.101,102安装fastdfs-nginx-module
git clone https://github.com/happyfish100/fastdfs-nginx-module.git
/root/fastdfs-nginx-module/src
cp mod_fastdfs.conf /etc/fdfs/
15.安装nginx:
yum install pcre-devel openssl-devel ##安装依赖包
wget http://nginx.org/download/nginx-1.15.4.tar.gz ##下载nginx
./configure --add-module=/usr/local/src/fastdfs-nginx-module/src/ #添加fastdfs-nginx-module模块
make && make install #编译安装
16.配置nginx:
vim /etc/fdfs/mod_fastdfs.conf

需要修改的内容如下

tracker_server=192.168.52.1:22122 #tracker服务器IP和端口
url_have_group_name=true
store_path0=/home/dfs

配置nginx.config

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

添加如下配置

server {

listen       8888;    ## 该端口为storage.conf中的http.server_port相同
server_name  localhost;
location ~/group[0-9]/ {
    ngx_fastdfs_module;
}

}
如果服务器存在多个nginx:
/usr/local/nginx/sbin/nginx -c /usr/local/src/nginx-1.15.4/conf/nginc.conf

注意,必须要保证已经从fastdfs/conf复制了http.conf与mime.types文件至/etc/fdfs/

6
17.使用curl命令验证fastdfs存储的文件是否可以通过http协议访问:
先随便上传一个文件 fdfs_upload_file /etc/fdfs/client.conf /etc/fstab

curl http://172.18.224.101:8888/group1/M00/00/00/rBLgZlwwd9OAWZztAAABOWqC2ow7681129
7
验证成功。

目录
相关文章
|
Python Windows
微软开源分布式高性能GB框架LightGBM安装使用——Python
最近写了一篇关于“微软开源分布式高性能GB框架LightGBM安装使用”的文章,有小伙伴安装Python环境遇到了问题。我个人也尝试安装了一下,确实遇到了很多问题。 先看遇到的坑 (Linux环境解决起来可能简单一些,Windows用户相对比较麻烦): pip官网国外镜像站无法访问 python2.
1328 0
|
算法 C++
微软开源分布式高性能GB框架LightGBM安装使用
LightGBM(Light Gradient Boosting Machine)是一个基于决策树算法的快速的、分布式的、高性能 gradient boosting(GBDT、GBRT、GBM 或 MART)框架,可被用于排行、分类以及其他许多机器学习任务中。
1854 0
|
24天前
|
NoSQL Redis
基于Redis的高可用分布式锁——RedLock
这篇文章介绍了基于Redis的高可用分布式锁RedLock的概念、工作流程、获取和释放锁的方法,以及RedLock相比单机锁在高可用性上的优势,同时指出了其在某些特殊场景下的不足,并提到了ZooKeeper作为另一种实现分布式锁的方案。
60 2
基于Redis的高可用分布式锁——RedLock
|
1月前
|
缓存 NoSQL Java
SpringBoot整合Redis、以及缓存穿透、缓存雪崩、缓存击穿的理解分布式情况下如何添加分布式锁 【续篇】
这篇文章是关于如何在SpringBoot应用中整合Redis并处理分布式场景下的缓存问题,包括缓存穿透、缓存雪崩和缓存击穿。文章详细讨论了在分布式情况下如何添加分布式锁来解决缓存击穿问题,提供了加锁和解锁的实现过程,并展示了使用JMeter进行压力测试来验证锁机制有效性的方法。
SpringBoot整合Redis、以及缓存穿透、缓存雪崩、缓存击穿的理解分布式情况下如何添加分布式锁 【续篇】
|
2月前
|
存储 缓存 NoSQL
Redis常见面试题(二):redis分布式锁、redisson、主从一致性、Redlock红锁;Redis集群、主从复制,哨兵模式,分片集群;Redis为什么这么快,I/O多路复用模型
redis分布式锁、redisson、可重入、主从一致性、WatchDog、Redlock红锁、zookeeper;Redis集群、主从复制,全量同步、增量同步;哨兵,分片集群,Redis为什么这么快,I/O多路复用模型——用户空间和内核空间、阻塞IO、非阻塞IO、IO多路复用,Redis网络模型
Redis常见面试题(二):redis分布式锁、redisson、主从一致性、Redlock红锁;Redis集群、主从复制,哨兵模式,分片集群;Redis为什么这么快,I/O多路复用模型
|
2月前
|
NoSQL Java Redis
分布式锁实现原理问题之使用Redis的setNx命令来实现分布式锁问题如何解决
分布式锁实现原理问题之使用Redis的setNx命令来实现分布式锁问题如何解决
|
7天前
|
存储 NoSQL Redis
SpringCloud基础7——Redis分布式缓存,RDB,AOF持久化+主从+哨兵+分片集群
Redis持久化、RDB和AOF方案、Redis主从集群、哨兵、分片集群、散列插槽、自动手动故障转移
SpringCloud基础7——Redis分布式缓存,RDB,AOF持久化+主从+哨兵+分片集群
|
1月前
|
缓存 NoSQL Java
SpringBoot整合Redis、以及缓存穿透、缓存雪崩、缓存击穿的理解、如何添加锁解决缓存击穿问题?分布式情况下如何添加分布式锁
这篇文章介绍了如何在SpringBoot项目中整合Redis,并探讨了缓存穿透、缓存雪崩和缓存击穿的问题以及解决方法。文章还提供了解决缓存击穿问题的加锁示例代码,包括存在问题和问题解决后的版本,并指出了本地锁在分布式情况下的局限性,引出了分布式锁的概念。
SpringBoot整合Redis、以及缓存穿透、缓存雪崩、缓存击穿的理解、如何添加锁解决缓存击穿问题?分布式情况下如何添加分布式锁
|
1月前
|
NoSQL 安全 Java
nicelock--一个注解即可使用Redis分布式锁!
Nicelock的引入为分布式系统中的资源同步访问提供了一个简单高效和可靠的解决方案。通过注解的方式,简化了锁的实现和使用,使开发人员可以将更多精力专注于业务逻辑的实现,而不是锁的管理。此外,Nicelock在保持简单易用的同时,也提供了足够的灵活性和可靠性,满足了不同应用场景下对分布式锁的需求。
30 1
|
2月前
|
canal 缓存 NoSQL
Redis常见面试题(一):Redis使用场景,缓存、分布式锁;缓存穿透、缓存击穿、缓存雪崩;双写一致,Canal,Redis持久化,数据过期策略,数据淘汰策略
Redis使用场景,缓存、分布式锁;缓存穿透、缓存击穿、缓存雪崩;先删除缓存还是先修改数据库,双写一致,Canal,Redis持久化,数据过期策略,数据淘汰策略
Redis常见面试题(一):Redis使用场景,缓存、分布式锁;缓存穿透、缓存击穿、缓存雪崩;双写一致,Canal,Redis持久化,数据过期策略,数据淘汰策略