ctjdfs分布式存储系统v1.0

 2019-01-04 05:56:58  开源项目  蔡陶军
 (2288)  (0)

介绍

    ctjdfs是由java语言开发的一个开源的轻量级分布式文件系统,它对文件进行管理,功能包括:文件存储、文件访问(文件上传、文件下载)等,解决了大容量存储和负载均衡的问题。

ctjdfs

下载地址

    http://res.caitaojun.com/ctjdfs-server.jar

配置文件

    配置文件放入到properties文件中,例子如下:

#服务器角色 tracker、storage

ctjdfs.role=tracker

#tracker 2688   storage 2689

ctjdfs.port=2688

#tracker 地址、端口

ctjdfs.tracker=127.0.0.1:2688

#storage想tracker发送心跳间隔秒

ctjdfs.heartbeat.interval=10

#storage地址端口

ctjdfs.storage=127.0.0.1:2689

#storage上传文件存储路径

ctjdfs.storage.file.path=c:/ctjdfs

#tracker数据文件存放路径

ctjdfs.tracker.data.path=c:/ctjdfs_tracker

#storage文件存储块大小(MB)

ctjdfs.storage.block.size=20

环境需要    

    需要安装jre环境

服务运行

    服务有2个,一个tracker负责接收storage的心跳管理维护,以及负责对客户端的请求调度。

    可以根据上面配置文件的列子,为2个服务分别配置两个properties文件

    列子:

    tracker.properties

#服务器角色 tracker、storage

ctjdfs.role=tracker

#tracker 2688   storage 2689

ctjdfs.port=2688

#tracker数据文件存放路径

ctjdfs.tracker.data.path=c:/ctjdfs_tracker

#storage文件存储块大小(MB)

ctjdfs.storage.block.size=20

    storage.properties

#服务器角色 tracker、storage

ctjdfs.role=storage

#tracker 2688   storage 2689

ctjdfs.port=2689

#tracker 地址、端口

ctjdfs.tracker=127.0.0.1:2688

#storage想tracker发送心跳间隔秒

ctjdfs.heartbeat.interval=10

#storage地址端口

ctjdfs.storage=127.0.0.1:2689

#storage上传文件存储路径

ctjdfs.storage.file.path=c:/ctjdfs

启动服务

    上面下载了ctjdfs-server.jar服务程序,以及配置好配置文件后,然后我们分别来运行tracker服务和storage服务。

    首先打开命令窗口,切换到ctjdfs-server.jar所在的目录

    启动tracker服务

    tracker

    启动storage服务

    storage

客户端应用程序调用服务

    客户端需要引入ctjdfs的客户端jar包到工程中,然后调用方法来实现对文件的上传,下载

<dependency>
    <groupId>com.caitaojun.ctjdfsgroupId>
    <artifactId>ctjdfs-clientartifactId>
    <version>1.0version>
dependency>

@Test

public void testUpload() throws Exception {

    CtjDfsClient.init("127.0.0.1",2688);

    File file = new File("c:/dog.jpg");

    Map metaData = new HashMap<>();

    metaData.put("author","ctj");

    String fileId = CtjDfsClient.upload(file, metaData);

    System.out.println(fileId);

}

@Test

public void testDownload() throws Exception {

    CtjDfsClient.init("127.0.0.1",2688);

    String fileid = "c7637c97eed3bde8b64dd321c917aa89";

    DownloadFile downloadFile = CtjDfsClient.download(fileid);

    String fileName = downloadFile.getStorageFileInfo().getName();

    FileInputStream fileInputStream = downloadFile.getFileInputStream();

    FileUtils.copyInputStreamToFile(fileInputStream,new File("c:/"+fileName));

}

@Test

public void testDelete() throws Exception {

    CtjDfsClient.init("127.0.0.1",2688);

    String fileid = "904d7ab95fe603eeabb45640a2cb6427";

    boolean delete = CtjDfsClient.delete(fileid);

    System.out.println(delete);

}


打赏, 我要小额赞助,鼓励作者写出更好的文章
<< 上一篇:搭建直播服务器
>> 下一篇:UEditor学习(一)

评论列表



您还没有登录,登录后才能发表评论,请【登录】