分布式文件系统 - FastDFS 在UBUNTU下安装

2023-10-29

分布式文件系统 - FastDFS 在 CentOS 下配置安装部署

按照该博主的介绍,大部分安装操作正常,只是在创建软连接的时候报错。

所以只好用笨办法启动和关闭:

启动tracker:

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

启动storage:

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

关闭  stop    重启  restart。

查看启动状态:

root@VM-0-17-ubuntu:/usr/local/bin# /usr/bin/fdfs_monitor /etc/fdfs/storage.conf
[2018-04-22 14:58:14] DEBUG - base_path=/data/fastdfs/storage, connect_timeout=30, network_timeout=60, tracker_server_count=1, anti_steal_token=0, anti_steal_secret_key length=0, use_connection_pool=0, g_connection_pool_max_idle_time=3600s, use_storage_id=0, storage server id count: 0

server_count=1, server_index=0

tracker server is 111.231.73.14:22122

group count: 1

Group 1:
group name = group1
disk total space = 50267 MB
disk free space = 44322 MB
trunk free space = 0 MB
storage server count = 1
active server count = 1
storage server port = 23000
storage HTTP port = 8888
store path count = 1
subdir count per path = 256
current write server index = 0
current trunk file id = 0

        Storage 1:
                id = 111.231.73.14
                ip_addr = 111.231.73.14  ACTIVE
                http domain =
                version = 5.05
                join time = 2018-04-22 14:57:29
                up time = 2018-04-22 14:57:29
                total storage = 50267 MB
                free storage = 44322 MB
                upload priority = 10
                store_path_count = 1
                subdir_count_per_path = 256
                storage_port = 23000
                storage_http_port = 8888
                current_write_path = 0
                source storage id =
                if_trunk_server = 0
                connection.alloc_count = 256
                connection.current_count = 1
                connection.max_count = 1
                total_upload_count = 0
                success_upload_count = 0
                total_append_count = 0
                success_append_count = 0
                total_modify_count = 0
                success_modify_count = 0
                total_truncate_count = 0
                success_truncate_count = 0
                total_set_meta_count = 0
                success_set_meta_count = 0
                total_delete_count = 0
                success_delete_count = 0
                total_download_count = 0
                success_download_count = 0
                total_get_meta_count = 0
                success_get_meta_count = 0
                total_create_link_count = 0
                success_create_link_count = 0
                total_delete_link_count = 0
                success_delete_link_count = 0
                total_upload_bytes = 0
                success_upload_bytes = 0
                total_append_bytes = 0
                success_append_bytes = 0
                total_modify_bytes = 0
                success_modify_bytes = 0
                stotal_download_bytes = 0
                success_download_bytes = 0
                total_sync_in_bytes = 0
                success_sync_in_bytes = 0
                total_sync_out_bytes = 0
                success_sync_out_bytes = 0
                total_file_open_count = 0
                success_file_open_count = 0
                total_file_read_count = 0
                success_file_read_count = 0
                total_file_write_count = 0
                success_file_write_count = 0
                last_heart_beat_time = 2018-04-22 14:58:07
                last_source_update = 1970-01-01 08:00:00
                last_sync_update = 1970-01-01 08:00:00

测试,上传一个图片:

/usr/bin/fdfs_test /etc/fdfs/client.conf upload /home/apache-tomcat-8.5.28/webapps/myinvoice/11.jpg

上传结果:

 http://111.231.73.14/group1/M00/00/00/rBEAEVrcMrGAAWbeAAEK0T_vltA970_big.jpg

然后是安装nginx,分布式文件系统 - FastDFS 配置 Nginx 模块及上传测试

有几处需要注意的地方:

1.下载fastdfs-nginx-module,按照博主的方式下载下来在make 操作nginx时报错:所以我下了linux版本的压缩包,

    https://download.csdn.net/download/zgf19930504/9574275,在解压缩之后,记得要修改(你的保存路径)/src下的config文件内容为:

ngx_addon_name=ngx_http_fastdfs_module
HTTP_MODULES="$HTTP_MODULES ngx_http_fastdfs_module"
NGX_ADDON_SRCS="$NGX_ADDON_SRCS $ngx_addon_dir/ngx_http_fastdfs_module.c"
CORE_INCS="$CORE_INCS /usr/include/fastdfs /usr/include/fastcommon/"
CORE_LIBS="$CORE_LIBS -L/usr/local/lib -lfastcommon -lfdfsclient"
CFLAGS="$CFLAGS -D_FILE_OFFSET_BITS=64 -DFDFS_OUTPUT_CHUNK_SIZE='256*1024' -DFDFS_MOD_CONF_FILENAME='\"/etc/fdfs/mod_fastdfs.conf\"'"

2.在启动nginx时报错:/usr/local/nginx/sbin/nginx: error while loading shared libraries: libfastcommon.so: cannot open shared object file: No such file or directory.

可以创建软连接http://blog.itpub.net/7734666/viewspace-1292485/,或者直接拷贝/usr/lib64下的libfastcommon.so文件和

libfdfsclient.so文件到/usr/local/lib和/usr/lib目录下。然后再次启动nginx,如果现实PID则正常:

ngx_http_fastdfs_set pid=18468

可是我在访问nginx却打不开欢迎页。。。

找到nginx日志位置:

/usr/local/nginx/logs

查看错误日志:

fastdfs_process_init pid=24318
[2018-04-22 19:32:02] ERROR - file: shared_func.c, line: 960, open file /etc/fdfs/mod_fastdfs.conf fail, errno: 13, error info: Permission denied
[2018-04-22 19:32:02] ERROR - file: ../fastdfs-nginx-module/src//common.c, line: 155, load conf file "/etc/fdfs/mod_fastdfs.conf" fail, ret code: 13
2018/04/22 19:32:02 [alert] 24317#0: worker process 24318 exited with fatal code 2 and cannot be 

意思是说没有权限操作:/etc/fdfs/mod_fastdfs.conf

执行:

 chmod 777 mod_fastdfs.conf

重启nginx,可以正常登陆欢迎页!

nginx正常启动后,尝试保存图片:

/usr/bin/fdfs_test /etc/fdfs/client.conf upload /home/apache-tomcat-8.5.28/webapps/myinvoice/11.jpg

保存结果:

This is FastDFS client test program v5.05

Copyright (C) 2008, Happy Fish / YuQing

FastDFS may be copied only under the terms of the GNU General
Public License V3, which may be found in the FastDFS source kit.
Please visit the FastDFS Home Page http://www.csource.org/
for more detail.

[2018-04-24 10:50:57] DEBUG - base_path=/data/fastdfs, connect_timeout=30, network_timeout=60, tracker_server_count=1, anti_steal_token=0, anti_steal_secret_key length=0, use_connection_pool=0, g_connection_pool_max_idle_time=3600s, use_storage_id=0, storage server id count: 0

tracker_query_storage_store_list_without_group:
        server 1. group_name=, ip_addr=111.231.73.14, port=23000

group_name=group1, ip_addr=111.231.73.14, port=23000
storage_upload_by_filename
group_name=group1, remote_filename=M00/00/00/rBEAEVrem5GAfYlSAAEK0T_vltA102.jpg
source ip address: 172.17.0.17
file timestamp=2018-04-24 10:50:57
file size=68305
file crc32=1072666320
example file url: http://111.231.73.14/group1/M00/00/00/rBEAEVrem5GAfYlSAAEK0T_vltA102.jpg
storage_upload_slave_by_filename
group_name=group1, remote_filename=M00/00/00/rBEAEVrem5GAfYlSAAEK0T_vltA102_big.jpg
source ip address: 172.17.0.17
file timestamp=2018-04-24 10:50:57
file size=68305
file crc32=1072666320
example file url: http://111.231.73.14/group1/M00/00/00/rBEAEVrem5GAfYlSAAEK0T_vltA102_big.jpg

但是在浏览器上打开生成的url,报404.。。

找到nginx的日志:

/usr/local/nginx/logs

发现错误原因为:

ERROR - file: ../fastdfs-nginx-module/src//common.c, line: 877, 
stat file: /data/fastdfs/storage/data/00/00/rBEAEVrdUnmAf3GgAAEK0T_vltA352_big.jpg fail,
 errno: 13, error info: Permission denied

解决方式:

找到nginx的安装路径:

/usr/local/nginx/conf

修改nginx.conf,在开始位置加上:

user root;

保存,重启nginx,再次访问url地址,可以正常访问!

如果是在云服务器上测试,在安全组内把80,22122,23000,9000这些端口都要打开

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

分布式文件系统 - FastDFS 在UBUNTU下安装 的相关文章

  • 在Linux上编译C# + WPF以便在Windows上运行

    我有一个 C 应用程序 其中某些部分是使用 WPF 编写的 Mono 不支持 可以在 Linux 上编译这个应用程序吗 最终 该应用程序将在 Windows 上运行 但它是更大框架的一部分 并且我们的整个构建过程在 Linux 上运行 因此
  • Bash 解析和 shell 扩展

    我对 bash 解析输入和执行扩展的方式感到困惑 对于输入来说 hello world 作为 bash 中的参数传递给显示其输入内容的脚本 我不太确定 Bash 如何解析它 Example var hello world displaywh
  • 无法加载 JavaHL 库。- linux/eclipse

    在尝试安装 Subversion 插件时 当 Eclipse 启动时出现此错误 Failed to load JavaHL Library These are the errors that were encountered no libs
  • 跟踪 Linux 程序中活跃使用的内存

    我想跟踪各种程序在特定状态下接触了多少内存 例如 假设我有一个图形程序 最小化时 它可能会使用更少的内存 因为它不会重新绘制窗口 这需要读取图像和字体并执行大量库函数 这些对象仍然可以在内存中访问 但实际上并没有被使用 类似的工具top它们
  • 如何检测并找出程序是否陷入死锁?

    这是一道面试题 如何检测并确定程序是否陷入死锁 是否有一些工具可用于在 Linux Unix 系统上执行此操作 我的想法 如果程序没有任何进展并且其状态为运行 则为死锁 但是 其他原因也可能导致此问题 开源工具有valgrind halgr
  • 应用程序无缘无故地被杀死。怀疑 BSS 高。如何调试呢?

    我已经在CentOs6 6中成功运行我的应用程序 最近 硬件 主板和内存 更新了 我的应用程序现在毫无理由地被杀死 root localhost PktBlaster PktBlaster Killed 文件和 ldd 输出 root lo
  • 如何在 shell 脚本中并行运行多个实例以提高时间效率[重复]

    这个问题在这里已经有答案了 我正在使用 shell 脚本 它读取 16000 行的输入文件 运行该脚本需要8个多小时 我需要减少它 所以我将其划分为 8 个实例并读取数据 其中我使用 for 循环迭代 8 个文件 并在其中使用 while
  • 如何查明CONFIG_FANOTIFY_ACCESS_PERMISSIONS是否启用?

    我想利用fanotify 7 http man7 org linux man pages man7 fanotify 7 html我遇到的问题是在某些内核上CONFIG FANOTIFY ACCESS PERMISSIONS不起作用 虽然C
  • chown:不允许操作

    我有问题 我需要通过 php 脚本为系统中的不同用户设置文件所有者权限 所以我通过以下命令执行此操作 其中 1002 是系统的用户 ID file put contents filename content system chown 100
  • 在哪里可以找到并安装 pygame 的依赖项?

    我对 Linux 比较陌生 正在尝试安装 python 的 pygame 开发环境 当我运行 setup py 时 它说我需要安装以下依赖项 我找到并安装了其中之一 SDL 然而 其他人则更加难以捉摸 Hunting dependencie
  • fopen 不返回

    我在 C 程序中使用 fopen 以只读模式 r 打开文件 但就我而言 我观察到 fopen 调用没有返回 它不返回 NULL 或有效指针 执行在 fopen 调用时被阻止 文件补丁绝对正确 我已经验证过 并且不存在与权限相关的问题 任何人
  • Linux 中的动态环境变量?

    Linux 中是否可以通过某种方式拥有动态环境变量 我有一个网络服务器 网站遵循以下布局 site qa production 我想要一个环境变量 例如 APPLICATION ENV 当我在 qa 目录中时设置为 qa 当我在生产目录中时
  • linux perf:如何解释和查找热点

    我尝试了linux perf https perf wiki kernel org index php Main Page今天很实用 但在解释其结果时遇到了困难 我习惯了 valgrind 的 callgrind 这当然是与基于采样的 pe
  • Discord.net 无法在 Linux 上运行

    我正在尝试让在 Linux VPS 上运行的 Discord net 中编码的不和谐机器人 我通过单声道运行 但我不断收到此错误 Unhandled Exception System Exception Connection lost at
  • 无法使用 wget 在 CentOS 机器上安装 oracle jdk

    我想在CentOS上安装oracle java jdk 8 我无法安装 java jdk 因为当我尝试使用命令安装 java jdk 时 root ADARSH PROD1 wget no cookies no check certific
  • 如何在apache 2.4.6上安装apxs模块

    我刚刚用过apt get update我的 apache 已更新为2 4 6 我想安装 apxs 来编译模块 但收到此错误 The following packages have unmet dependencies apache2 pre
  • 安装J语言的JQt IDE,出现错误

    我一直按照这里的说明进行操作 http code jsoftware com wiki System Installation Linux http code jsoftware com wiki System Installation L
  • 在 Linux 上使用多处理时,TKinter 窗口不会出现

    我想生成另一个进程来异步显示错误消息 同时应用程序的其余部分继续 我正在使用multiprocessingPython 2 6 中的模块来创建进程 我试图用以下命令显示窗口TKinter 这段代码在Windows上运行良好 但在Linux上
  • jpegtran 优化而不更改文件名

    我需要优化一些图像 但不更改它们的名称 jpegtran copy none optimize image jpg gt image jpg 但是 这似乎创建了 0 的文件大小 当我对不同的文件名执行此操作时 大小仍然完全相同 怎么样 jp
  • ubuntu:升级软件(cmake)-版本消歧(本地编译)[关闭]

    Closed 这个问题是无关 help closed questions 目前不接受答案 我的机器上安装了 cmake 2 8 0 来自 ubuntu 软件包 二进制文件放置在 usr bin cmake 中 我需要将 cmake 版本至少

随机推荐

  • 详解停车位检测论文:Attentional Graph Neural Network for Parking-slot Detection

    本文介绍一篇注意力图神经网络用于停车位检测论文 论文已收录于 RA L2021 在之前的基于卷积神经网络的停车位检测方法中 很少考虑停车位标记点之间的关联信息 从而导致需要复杂的后处理 在本文中 作者将环视图中的标记点看作图结构数据 使用图
  • Pyspark案例综合(数据计算)

    数据计算 map方法 map算子 map算子 成员方法 接受一个处理函数 可用lambda快速编写 对RDD内的元素一一处理 返回RDD对象 链式调用 对于返回值是新的RDD的算子 可以通过链式调用的方式多次调用算子 演示RDD的map成员
  • IE命令行参数

    Windows Internet Explorer includes several command line options that enable you to troubleshoot and configure the browse
  • Chrome开发者工具详解(一)

    Chrome开发者工具详解 一 前言 一 打开开发者工具方法 二 面板常用方法 1 Elements面板 2 Network 面板 总结 前言 Chrome浏览器中内置了一套强大的开发者工具 学会使用Chrome开发者工具对web网站进行静
  • window10下conda使用报错:An unexpected error has occurred. Conda has prepared the above report.

    在我使用anaconda3创建环境 跑实验时 把镜像三搞两搞 搞出了问题 卡死了 An unexpected error has occurred Conda has prepared the above report 网上找了好多方法都没
  • 百度2015年系统工程师笔试题:设计一个小程序来判断当前机器的字节序怕【详解】

    目录 设计思路 代码实现 设计思路 首先 我们要了解需要判断的东西是什么 这就需要我们了解大小端的概念 大端 存储 模式 是指数据的低位保存在内存的高地址中 而数据的高位 保存在内存的低地址 中 小端 存储 模式 是指数据的低位保存在内存的
  • linux globbing文件通配符

    在linux中使用ls cp mv rm等命令时可以使用文件通配符匹配操作多个文件 匹配模式 匹配任意长度的任意字符 匹配任意单个字符 匹配指定范围内的任意单个字符 文件通配不区分字母的大小写 匹配非制定范围内的任意单个字符 特殊格式 up
  • 使用jsoup爬取小说

    1 开局扯犊子 最近正在学习Java爬虫技术 于是乎接触到了jsoup这个东西 继爬取美女图片后的第二个小项目 爬取笔趣阁小说 2 页面分析 首先我们进入笔趣阁选择一本喜欢的小说 f12后拿到他的title与每一章的地址 然后我们继续分析进
  • 【Hive】Hive元数据库介绍及信息查看

    转载 dabokele 在安装Hive时 需要在hive site xml文件中配置元数据相关信息 与传统关系型数据库不同的是 hive表中的数据都是保存的HDFS上 也就是说hive中的数据库 表 分区等都可以在HDFS找到对应的文件 这
  • 冒泡排序 例题:给出一组数将这组数按从小到大的顺序输出出来

    冒泡排序 例题 给出一组数将这组数按从小到大的顺序输出出来 学习笔记 方便自己日后复习 也可供大家参考学习 冒泡排序百度上是这样定义的 冒泡排序 它重复的走访过要排序的元素列 依次比较两个相邻元素 如果他们的顺序 如从大到小 首字母从A到Z
  • 进程和线程的区别和联系

    一 简介 进程 进程是操作系统资源分配的基本单位 进程是指正在运行的程序实例 每个进程都有自己的内存空间 代码 数据和资源 操作系统通过管理进程来控制计算机的资源分配 每个进程都有一个唯一的标识符 称为进程 ID 以便操作系统可以识别和管理
  • NCCL error in: , unhandled system error

    今天pytorch分布式跑代码的时候出现 RuntimeError NCCL error in opt conda conda bld pytorch 1614378083779 work torch lib c10d ProcessGro
  • Vue脚手架的创建

    首先创建脚手架 初始化脚手架 Vue脚手架 是Vue官方提供的标准化开发工具 开发平台 Vue CLI 1 配置npm 2 全局安装 vue cli npm install g vue cli 3 切换到创建项目的目录 使用命令创建项目 v
  • Open3D 点云DBSCAN密度聚类并保存聚类结果

    目录 一 算法原理 1 密度聚类 2 主要函数 3 参考文献 二 代码实现 三 结果展示 1 保存聚类 2 可视化 一 算法原理 1 密度聚类 密度聚类是将簇定义为密度相连的点的最大集合 能够把具有足够高密度的区域划分为簇 并可在噪声的空间
  • 并行编程OpenCL-矩阵相加

    并行编程OpenCL 矩阵相加 1 host端代码 include
  • springboot之mybatis进阶

    springboot之mybatis进阶 简介 CRUD标签 select insert update delete resultMap sql片段 动态sql if choose when otherwise where 和set for
  • 关于使用SSM框架搭建的项目的运行方法

    目录 运行环境配置 1 安装 IDEA 开发工具 中文版设置 JDK直接下载 2 安装 MYSQL 数据库 2 1 下载安装 2 2 配置环境变量 2 4 安装 MySQL 2 4 进入 MySQL 2 5 常见问题 3 安装Tomcat
  • java日期之间的比较【项目日常】

    一 String类中提供了compareTo方法 原理是将字符串转成char 从char 0 开始进行比较 如果两值不相等 则返回相减的结果 一般将结果与0相比 进行判断 并不关心返回的具体值 String s1 2022 09 22 St
  • 蓝桥杯每日练习2

    文章目录 一 Fibonacci斐波那契数列 1 题目 2 样例 3 解析 4 Python代码 二 求圆的面积 1 题目 2 样例 3 解析 4 Python代码 三 N以内累加求和 1 题目 2 样例 3 解析 4 Python代码 四
  • 分布式文件系统 - FastDFS 在UBUNTU下安装

    分布式文件系统 FastDFS 在 CentOS 下配置安装部署 按照该博主的介绍 大部分安装操作正常 只是在创建软连接的时候报错 所以只好用笨办法启动和关闭 启动tracker usr bin fdfs trackerd etc fdfs