FastDFS安装

  • Post author:
  • Post category:其他




FastDFS安装环境搭建



机器分布

在实际使用过程中,有多台Tracker Server(跟踪服务器),并且有多台Storage Server(存储服务器)成组,以及多个Client(客户端)。但是在学习的过程中,简化学习过程,重视思路,在这里只搭建一台Tracker Server,一台Storage Server,Client搭建在Tracker Server上。

IP 角色

192.168.205.101

Tracker Server

192.168.205.102

Storage Server


安装依赖

FastDFS由C语言开发,安装必须基于C的环境。

yum install -y make cmake gcc gcc-c++



安装公共函数库

上传资源

libfastcommon-master.zip

至服务器解压,解压后进入

libfastcommon-master

编译安装

./make.sh && ./make.sh install



安装FastDFS

上传资源

fastdfs-master.zip

直服务器并且解压,解压后进入

fastdfs-master

编译安装

./make.sh && ./make.sh install


fastdfs

默认安装在以下位置:


  • /usr/bin

    :可执行文件

  • /etc/fdfs

    :配置文件

  • /etc/init.d

    :主程序代码

  • /usr/include/fastdfs

    :插件组


分割线*******************************************************以上两台服务器相同的,以下的为不同的文件配置



启动Tracker

tracker和storage都是faftdfs,通过不同的配置文件运行则行使着不同的作用。

查看

/etc/fdfs

下的目录文件

[root@localhost ~]# ls /etc/fdfs/
client.conf.sample  storage.conf.sample  storage_ids.conf.sample  tracker.conf.sample

复制

tracker.conf.sample

文件在同目录下名为

tracker.conf


cp /etc/fdfs/tracker.conf.sample /etc/fdfs/tracker.conf

编辑配置文件


vim /etc/fdfs/tracker.conf

# 允许访问 tracker 服务器的 IP 地址,为空则表示不受限制

bind_addr =

# tracker 服务监听端口

port = 22122

# tracker 服务器的运行数据和日志的存储父路径(需要提前创建好)

base_path = /fastdfs/tracker

# tracker 服务器 HTTP 协议下暴露的端口

http.server_port = 8080

启动tracker服务

# 创建 tracker 服务器的运行数据和日志的存储父路径

mkdir -p /fastdfs/tracker

# 启动 tracker 服务

service fdfs_trackerd start

# 查看 tracker 服务状态

service fdfs_trackerd status

# 重启 tracker 服务

service fdfs_trackerd restart

# 停止 tracker 服务

service fdfs_trackerd stop



启动Storage

编辑配置文件

同目录下复制文件


cp /etc/fdfs/storage.conf.sample /etc/fdfs/storage.conf

编辑配置文件


vim /etc/fdfs/storage.conf

文件配置

# storage 组名/卷名,默认为 group1
group_name = group1

# 允许访问 storage 服务器的 IP 地址,为空则表示不受限制
bind_addr =

# storage 服务器的运行数据和日志的存储父路径(需要提前创建好)
base_path = /fastdfs/storage/base

# storage 服务器中客户端上传的文件的存储父路径(需要提前创建好)
store_path0 = /fastdfs/storage/store

# storage 服务器 HTTP 协议下暴露的端口
http.server_port = 8888

# tracker 服务器的 IP 和端口
tracker_server = 192.168.205.101:22122

启动服务

# 创建 storage 服务器的运行数据和日志的存储父路径
mkdir -p /fastdfs/storage/base
# 创建 storage 服务器中客户端上传的文件的存储父路径
mkdir -p /fastdfs/storage/store
# 启动 storage 服务
service fdfs_storaged start
# 查看 storage 服务状态
service fdfs_storaged status
# 重启 storage 服务
service fdfs_storaged restart
# 停止 storage 服务
service fdfs_storaged stop

查看

/fastdfs/storage/store

目录可以看到 Storage 服务器创建了

65536

个文件夹用于存储客户端上传的文件



Client操作

在 Tracker 服务器的机器上编辑

tracker.conf

配置文件。

# 拷贝文件 client.conf.sample 并重命名为 client.conf
cp /etc/fdfs/client.conf.sample /etc/fdfs/client.conf
# 编辑 client.conf 配置文件
vi /etc/fdfs/client.conf

修改配置文件中以下两处内容即可

# client 客户端的运行数据和日志的存储父路径(需要提前创建好)
base_path = /fastdfs/client

# tracker 服务器的 IP 和端口
tracker_server = 192.168.205.101:22122


mkdir -p /fastdfs/client

创建 Client 目录



上传文件时报错

[2021-10-12 07:33:52] ERROR - file: tracker_proto.c, line: 50, server: 192.168.205.102:23000, response status 2 != 0

[2021-10-12 07:33:52] ERROR - file: ../client/storage_client.c, line: 990, fdfs_recv_response fail, result: 2
upload file fail, error no: 2, 

error info: No such file or directory




解决方法


kill关于fdfs进程后重启服务


pkill -9 fdfs


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


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



原因


因为storage服务多开,kill程序重启后解决





版权声明:本文为weixin_43785887原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。