Ubuntu 安装 FastDFS 分布式文件系统(二)

在上一篇文章中对 FastDFS 做了内容简介。接下来我在 Ubuntu 服务器上做演示安装 FastDFS 环境。

接下来的几篇文章中,介绍在两台机器上部署 tracker 和 storage,本来也想连同集群的文章一块儿写完的,无奈电脑配置多台虚拟机不太给力,放弃了,网上相关文章很多,自行查询即可。

  • Tracker / Client 服务器:172.16.119.129

  • Storage 服务器:172.16.119.128

在配置完成 Tracker Server 和 Stroage Server 服务器之后,会演示如何使用自带的工具实现文件的上传、下载、监控、删除。

然后再介绍最后一步,如果使用 Java 来操作 FastDFS 实现文件的上传,下载。

一、安装 FastDFS

FastDFS的项目主页:https://github.com/happyfish100/fastdfs

1、安装 Git

fastdfs 依赖 libfastcommon,需要从 github 上 clone 到本地编译安装。因此首先需要安装 git

apt install git

修改 Git 的传输字节限制,避免 error: RPC failed(git缓存区不足)问题

git config --global http.postBuffer 524288000

2、下载安装 libfastcommon 库

新版的 FastDFS 同以前版本相比,将公共的一些函数等单独封装成了 libfastcommon 包,所以在安装FastDFS之前我们还必须安装 libfastcommon。

项目地址:https://github.com/happyfish100/libfastcommon

# 克隆项目
git clone https://github.com/happyfish100/libfastcommon.git

# 进入目录
cd libfastcommon/

# 编译
./make.sh

# 安装
sudo ./make.sh install

安装 libfastcommon 库

fastdfs-install-1.jpg

3、设置软链接

libfastcommon.so 默认安装到了 /usr/lib64/libfastcommon.so,但是 FastDFS 主程序设置的 lib 目录是 /usr/local/lib,所以此处需要重新设置软链接,实际上也相当于 windows 上的快捷方式。

ln -s /usr/lib64/libfastcommon.so /usr/local/lib/libfastcommon.so
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

设置软连接

fastdfs-install-2.jpg

4、下载安装 FastDFS

下载地址为:https://github.com/happyfish100/fastdfs/releases ,我这里版本选择最新 V5.11

# 下载
wget https://github.com/happyfish100/fastdfs/archive/V5.11.tar.gz

# 执行解压包命令:
tar -zxvf V5.11.tar.gz

# 进入目录
cd fastdfs-5.11/

# 编译
./make.sh

# 安装
sudo ./make.sh install

安装 fastDFS

fastdfs-install-3.jpg

至此,FasfDFS 就算安装完成了。

二、默认安装方式脚本文件说明

1、服务脚本

默认路径

/etc/init.d/fdfs_storaged
/etc/init.d/fdfs_trackerd

查看服务脚本

cd /etc/init.d/ && ls |grep fdfs

fastdfs-install-4.jpg

(1)fdfs_trackerd 脚本内容

liurenkui@ubuntu:/etc/init.d$ cat fdfs_trackerd
#!/bin/bash
#
# fdfs_trackerd Starts fdfs_trackerd
#
#
# chkconfig: 2345 99 01
# description: FastDFS tracker server
### BEGIN INIT INFO
# Provides: $fdfs_trackerd
### END INIT INFO

# Source function library.
if [ -f /etc/init.d/functions ]; then
. /etc/init.d/functions
fi

PRG=/usr/bin/fdfs_trackerd
CONF=/etc/fdfs/tracker.conf

if [ ! -f $PRG ]; then
echo "file $PRG does not exist!"
exit 2
fi

if [ ! -f $CONF ]; then
echo "file $CONF does not exist!"
exit 2
fi

CMD="$PRG $CONF"
RETVAL=0

start() {
   echo -n $"Starting FastDFS tracker server: "
    $CMD &
    RETVAL=$?
    echo
    return $RETVAL
}
stop() {
$CMD stop
    RETVAL=$?
    return $RETVAL
}
rhstatus() {
    status fdfs_trackerd
}
restart() {
$CMD restart &
}

case "$1" in
start)
  start
    ;;
stop)
  stop
    ;;
status)
  rhstatus
    ;;
restart|reload)
  restart
    ;;
condrestart)
  restart
    ;;
*)
    echo $"Usage: $0 {start|stop|status|restart|condrestart}"
    exit 1
esac

exit $?

(2)fdfs_storaged 脚本内容

liurenkui@ubuntu:/etc/init.d$ cat fdfs_storaged
#!/bin/bash
#
# fdfs_storaged Starts fdfs_storaged
#
#
# chkconfig: 2345 99 01
# description: FastDFS storage server
### BEGIN INIT INFO
# Provides: $fdfs_storaged
### END INIT INFO

# Source function library.
if [ -f /etc/init.d/functions ]; then
. /etc/init.d/functions
fi

PRG=/usr/bin/fdfs_storaged
CONF=/etc/fdfs/storage.conf

if [ ! -f $PRG ]; then
echo "file $PRG does not exist!"
exit 2
fi

if [ ! -f $CONF ]; then
echo "file $CONF does not exist!"
exit 2
fi

CMD="$PRG $CONF"
RETVAL=0

start() {
   echo -n "Starting FastDFS storage server: "
    $CMD &
    RETVAL=$?
    echo
    return $RETVAL
}
stop() {
$CMD stop
    RETVAL=$?
    return $RETVAL
}
rhstatus() {
    status fdfs_storaged
}
restart() {
$CMD restart &
}

case "$1" in
start)
  start
    ;;
stop)
  stop
    ;;
status)
  rhstatus
    ;;
restart|reload)
  restart
    ;;
condrestart)
  restart
    ;;
*)
    echo "Usage: $0 {start|stop|status|restart|condrestart}"
    exit 1
esac

exit $?

注意观察上面的脚本,有看到 CONF=/etc/fdfs/tracker.confCONF=/etc/fdfs/storage.conf 的代码段,而 tracker.confstorage.conf 两个文件默认是不存在的,接下来查看 /etc/fdfs 配置文件目录。

2、配置脚本

安装的 log 中会提示 FastDFS 安装到了 /etc/fdfs 目录下。此目录包含 4 个配置文件:

liurenkui@ubuntu:~/下载/fastdfs-5.11$ tree /etc/fdfs/
/etc/fdfs/
├── client.conf.sample
├── storage.conf.sample
├── storage_ids.conf.sample
└── tracker.conf.sample
0 directories, 4 files

3、命令行工具

#路径
/usr/bin/
#查看相关命令
ls /usr/bin/ | grep fdfs

FastDFS命令行工具

fastdfs-install-5.jpg

可以手动的通过 tracker 命令来操作 storage。后面的文章中会讲到。


未经允许请勿转载:程序喵 » Ubuntu 安装 FastDFS 分布式文件系统(二)

点  赞 (2) 打  赏
分享到: