Docker使用FastDFS分布式文件系统

1. 什么是FastDFS

FastDFS 是用 c 语言编写的一款开源的分布式文件系统。FastDFS 为互联网量身定制, 充分考虑了冗余备份、负载均衡、线性扩容等机制,并注重高可用、高性能等指标,使用 FastDFS 很容易搭建一套高性能的文件服务器集群提供文件上传、下载等服务。

FastDFS 架构包括 Tracker server 和 Storage server。客户端请求 Tracker server 进行文 件上传、下载,通过 Tracker server 调度最终由 Storage server 完成文件上传和下载。

  • Tracker server 作用是负载均衡和调度,通过 Tracker server 在文件上传时可以根据一些 策略找到 Storage server 提供文件上传服务。可以将 tracker 称为追踪服务器调度服务器

  • Storage server 作用是文件存储,客户端上传的文件最终存储在 Storage 服务器上, Storageserver 没有实现自己的文件系统而是利用操作系统 的文件系统来管理文件。可以将 storage 称为存储服务器

服务端两个角色:

  • Tracker: 管理集群,tracker 也可以实现集群。每个 tracker 节点地位平等。收集 Storage 集群的状态。
  • Storage: 实际保存文件, Storage 分为多个组,每个组之间保存的文件是不同的。每 个组内部可以有多个成员,组成员内部保存的内容是一样的,组成员的地位是一致的,没有 主从的概念。

. 在Ubuntu中安装Docker

更新ubuntu的apt源索引

sudo apt-get update

安装包允许apt通过HTTPS使用仓库

sudo apt-get install \
    apt-transport-https \
    ca-certificates \
    curl \
    software-properties-common

添加Docker官方GPG key

curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -

设置Docker稳定版仓库

sudo add-apt-repository \
   "deb [arch=amd64] https://download.docker.com/linux/ubuntu \
   $(lsb_release -cs) \
   stable"

添加仓库后,更新apt源索引

sudo apt-get update

安装最新版Docker CE(社区版)

sudo apt-get install docker-ce

检查Docker CE是否安装正确

sudo docker run hello-world

为了避免每次命令都输入sudo,可以设置用户权限,注意执行后须注销重新登录

sudo usermod -a -G docker $USER

2. 启动与停止

安装完成Docker后,默认已经启动了docker服务,如需手动控制docker服务的启停,可执行如下命令

# 启动docker
sudo service docker start

# 停止docker
sudo service docker stop

# 重启docker
sudo service docker restart

列出镜像

docker image ls

拉取镜像

docker image pull library/hello-world

删除镜像

docker image rm 镜像名或镜像id

4. Docker 容器操作

创建容器

docker run [option] 镜像名 [向启动容器中传入的命令]

查看容器

# 列出本机正在运行的容器
docker container ls

# 列出本机所有容器,包括已经终止运行的
docker container ls --all

停止与启动容器

# 停止一个已经在运行的容器
docker container stop 容器名或容器id

# 启动一个已经停止的容器
docker container start 容器名或容器id

# kill掉一个已经在运行的容器
docker container kill 容器名或容器id

删除容器

docker container rm 容器名或容器id

使用Docker安装FastDFS

1. 获取镜像

可以利用已有的FastDFS Docker镜像来运行FastDFS。

获取镜像可以通过下载

docker image pull delron/fastdfs

也可是直接使用提供给大家的镜像备份文件

docker load -i 文件路径/fastdfs_docker.tar

加载好镜像后,就可以开启运行FastDFS的tracker和storage了。

2. 运行tracker

执行如下命令开启tracker 服务

docker run -dti --network=host --name tracker -v /var/fdfs/tracker:/var/fdfs delron/fastdfs tracker
  • 我们将fastDFS tracker运行目录映射到本机的 /var/fdfs/tracker目录中。

执行如下命令查看tracker是否运行起来

docker container ls

如果想停止tracker服务,可以执行如下命令

docker container stop tracker

停止后,重新运行tracker,可以执行如下命令

docker container start tracker

3. 运行storage

执行如下命令开启storage服务

docker run -dti --network=host --name storage -e TRACKER_SERVER=10.211.55.5:22122 -v /var/fdfs/storage:/var/fdfs delron/fastdfs storage
  • TRACKER_SERVER=本机的ip地址:22122 本机ip地址不要使用127.0.0.1
  • 我们将fastDFS storage运行目录映射到本机的/var/fdfs/storage目录中

执行如下命令查看storage是否运行起来

docker container ls

如果想停止storage服务,可以执行如下命令

docker container stop storage

停止后,重新运行storage,可以执行如下命令

docker container start storage

注意:如果无法重新运行,可以删除/var/fdfs/storage/data目录下的fdfs_storaged.pid 文件,然后重新运行storage。

 

 

 

 

 

 

你可能感兴趣的:(FastDFS)