Java开发环境系列: FastDFS分布式文件系统构建(linux)

电脑杂谈  发布时间:2020-04-18 16:18:12  来源:网络整理

小文件分布式存储_分布式海量数据存储_java 分布式文件存储

1. 安装所需的依赖包

2. 下载并安装libfastcommon

3. 下载并安装FastDFS

4. 配置FastDFS跟踪器(Tracker)

5. 配置FastDFS存储(存储)

6. 文件上传测试

7. 安装NGINX

FastDFS是一种开源高性能分布式文件系统(DFS). 它的主要功能包括: 文件存储,文件同步和文件访问,以及高容量和负载平衡. 它主要解决了海量数据存储的问题java 分布式文件存储,特别适用于使用中小型文件(建议范围: 4KB

FastDFS系统具有三个角色:

Tracker服务器,存储服务器和客户端.

Tracker服务器:

跟踪服务器主要用于调度,起着平衡的作用. 它负责管理所有存储服务器和组. 启动后,每个存储都将连接到Tracker,将其自身告知组和其他信息,并保持定期的心跳.

存储服务器:

存储服务器,主要提供容量和备份服务;以组为单位,每个组中可以有多个存储服务器,并且相互备份数据.

客户:

客户端,即上载和下载数据的服务器,这是部署我们自己的项目的服务器.

阿里云服务器安装过程: 所有文件都放在/ home / fastdfs /目录中

1. 安装所需的依赖包

yum install make cmake gcc gcc-c ++

2. 下载并安装libfastcommon

libfastcommon是从FastDFS和FastDHT提取的公共C函数库. 基本环境可以安装.

①下载libfastcommon

cd / home / fastdfs

wget

②解压缩

tar -zxvf V1.0.7.ta​​r.gz

cd libfastcommon-1.0.7

③编译并安装

./ make.sh

./ make.sh安装

④libfastcommon.so已安装到/usr/lib64/libfastcommon.so,但是FastDFS主程序设置的lib目录是/ usr / local / lib,因此您需要创建一个软链接.

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

3. 下载并安装FastDFS

①下载FastDFS

wget

②解压缩

小文件分布式存储_java 分布式文件存储_分布式海量数据存储

cd / home / fastdfs

tar -zxvf V5.05.tar.gz

cd fastdfs-5.05

③编译并安装

./ make.sh

./ make.sh安装

其他说明: 安装后默认安装方法对应的文件和目录(只需看一下即可)

A. 服务脚本:

/etc/init.d/fdfs_storaged

/etc/init.d/fdfs_tracker

B. 配置文件(这三个是作者提供的示例配置文件):

/etc/fdfs/client.conf.sample

/etc/fdfs/storage.conf.sample

/etc/fdfs/tracker.conf.sample

C. 命令工具位于/ usr / bin /目录中:

fdfs_appender_test

fdfs_appender_test1

fdfs_append_file

fdfs_crc32

fdfs_delete_file

fdfs_download_file

fdfs_file_info

fdfs_monitor

fdfs_storaged

fdfs_test

fdfs_test1

fdfs_trackerd

fdfs_upload_appender

fdfs_upload_file

stop.sh

restart.sh

由FastDFS服务脚本设置的bin目录是/ usr / local / bin,但是实际命令安装在/ usr / bin /下. 两种方式:

1: 修改FastDFS服务脚本中的相应命令路径,即将/etc/init.d/fdfs_storaged和/etc/init.d/fdfs_trackerd脚本中的/ usr / local / bin修改为/ usr / bin

#vi /etc/init.d/fdfs_storaged

使用replace命令进行统一修改(进入命令行模式: %s + / usr / local / bin + / usr / bin)

#vi /etc/init.d/fdfs_trackerd

使用replace命令进行统一修改(进入命令行模式: %s + / usr / local / bin + / usr / bin)

2: 创建从/ usr / bin到/ usr / local / bin的软链接(这次是这样)

#ln -s / usr / bin / fdfs_trackerd / usr / local / bin

小文件分布式存储_java 分布式文件存储_分布式海量数据存储

#ln -s / usr / bin / fdfs_storaged / usr / local / bin

#ln -s /usr/bin/stop.sh / usr / local / bin

#ln -s /usr/bin/restart.sh / usr / local / bin

4. 配置FastDFS跟踪器(Tracker)

请参阅配置文件的详细说明: FastDFS配置文件的详细说明

①转到/ etc / fdfs,复制FastDFS跟踪器示例配置文件tracker.conf.sample,并将其重命名为tracker.conf.

cd / etc / fdfs

cp tracker.conf.sample tracker.conf

vi tracker.conf

②编辑tracker.conf,其他默认设置就足够了.

disabled = false

端口= 22122

base_path = / home / fastdfs / tracker

http.server_port = 8087

注意: http.server_port不能与其他软件使用的端口冲突,默认值为80,否则以下启动将不会报告错误,但是找不到该进程

#配置文件是否无效,false是否有效

disabled = false

#个提供服务的端口

端口= 22122

#Tracker数据和日志目录地址(根目录必须存在,子目录将自动创建)

base_path = / home / fastdfs / tracker

#HTTP服务端口

http.server_port = 8087

③创建跟踪器基本数据目录,即与base_path对应的目录

mkdir -p /主页/ fastdfs /跟踪器

④打开防火墙中的跟踪端口(默认为22122). 注意: 如果使用阿里云,则不需要此配置. 您需要在安全组中打开端口. 如果使用Pagoda面板,则需要在“安全性”中释放端口号.

vi / etc / sysconfig / iptables

添加以下端口行:

-A输入-m状态-状态新-m tcp -p tcp --dport 22122 -j接受

重新启动防火墙:

服务iptables重新启动

⑤启动跟踪器

对于第一次成功启动,将在/ home / fdfsdfs / tracker /(配置的base_path)下创建两个目录java 分布式文件存储,即数据和日志.

您可以以此方式开始

#/etc/init.d/fdfs_trackerd开始

如果上面已创建软链接,并且稍后使用此方法,您也可以使用此方法来启动

#service fdfs_trackerd start

其他命令:

检查FastDFS Tracker是否已成功启动以及是否正在监视22122端口,则Tracker服务安装成功.

分布式海量数据存储_小文件分布式存储_java 分布式文件存储

netstat -unltp | grep fdfs

关闭跟踪器命令:

服务fdfs_trackerd停止

⑥将Tracker设置为启动

#chkconfig fdfs_trackerd上

或者:

#vi /etc/rc.d/rc.local

加入配置:

/etc/init.d/fdfs_trackerd开始

⑦跟踪器服务器目录和文件结构

Tracker服务成功启动后,将在base_path下创建两个目录(数据和日志). 目录结构如下:

$ {base_path}

| __data

| | __storage_groups.dat: 存储组信息

| | __storage_servers.dat: 存储服务器列表

| __logs

| | __trackerd.log: 跟踪服务器日志文件

5. 配置FastDFS存储(存储)

①进入/ etc / fdfs目录,复制FastDFS存储示例配置文件storage.conf.sample,并将其重命名为storage.conf

#cd / etc / fdfs

#cp storage.conf.sample storage.conf

#vi storage.conf

②编辑storage.conf并修改以下配置:

base_path = /主页/ fastdfs /存储空间

store_path0 = /主页/ fastdfs /文件

tracker_server = 172.19.124.141: 22122

http.server_port = 8087

1,http.server_port不能与其他软件使用的端口冲突,默认值为80,否则以下内容将不会启动,不会报告错误,并且找不到进程

2,tracker_server = 47.103.33.187: 22122使用公共网络IP

详细的配置和说明:

#配置文件是否无效,false是否有效

disabled = false

#指定此存储服务器所在的组(卷)

group_name = group1

#个存储服务器服务端口

端口= 23000

#心跳间隔时间,单位为秒(此处表示正在向跟踪服务器主动发送心跳)

heart_beat_interval = 30

#存储数据和日志目录地址(根目录必须存在,子目录将自动生成)

分布式海量数据存储_java 分布式文件存储_小文件分布式存储

base_path = / home / fastdfs / storage-需要修改,默认值也可用-

#存储服务器在存储文件时支持多个路径. 此处配置了用于存储文件的基本路径数,通常只提供一个目录.

store_path_count = 1

#逐一配置store_path_count路径,索引号基于0.

#如果未配置store_path0,则它与base_path对应的路径相同.

store_path0 = / home / fastdfs /需要修改的文件,默认值也可用-

#FastDFS在存储文件时使用两级目录. 在此处配置用于存储文件的目录数.

#如果此参数仅为N(例如256),则存储服务器将在首次运行时自动创建N * N个子目录以将文件存储在store_path下.

subdir_count_per_path = 256

#tracker_server列表,将主动连接tracker_server

#如果有多个跟踪器服务器,请为每个跟踪器服务器写一行

tracker_server = 47.103.33.187: 22122-需要修改-

sync_start_time = 00:00

sync_end_time = 23: 59

#浏览器访问端口

http.server_port = 8087-需要修改,与tracker配置的http端口相对应-

③创建与上述配置文件配置的目录相对应的存储基本数据目录

#这是配置的base_path路径

#mkdir -p /主页/ fastdfs /存储

#这是已配置的store_path0路径

#mkdir -p /主页/ fastdfs /文件

④打开防火墙中的存储端口(默认23000)

#vi / etc / sysconfig / iptables

添加以下端口行:

-A输入-m状态-状态新-m tcp -p tcp --dport 23000 -j接受

重新启动防火墙:

#服务iptables重新启动

⑤开始存储

在启动存储之前,请确保先启动Tracker. 初始启动成功后,在/ home / fastdfs / storage目录下创建了两个目录,即数据和日志.

您可以以此方式开始

#/etc/init.d/fdfs_storaged开始

您也可以使用此方法,稍后将使用所有方法

#service fdfs_storaged start

检查是否已成功启动存储,即使存储已成功启动,也正在监视端口23000.

#netstat -unltp | grep fdfs

通常应该有两个服务:

关闭存储命令:

#服务fdfs_storaged停止

检查Storage和Tracker是否正在通信:

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


本文来自电脑杂谈,转载请注明本文网址:
https://www.pc-fly.com/a/jisuanjixue/article-180176-1.html

    相关阅读
      发表评论  请自觉遵守互联网相关的政策法规,严禁发布、暴力、反动的言论

      • 肖盼盼
        肖盼盼

        质检总局是怕人家说他们只拿钱不干活儿

      热点图片
      拼命载入中...