FastDHT简介及安装配置

1.简介:

由于FastDFS本身不能对重复上传的文件进行去重,而FastDHT可以做到去重。FastDHT是一个高性能的分布式哈希系统,它是基于键值对存储的,而且它需要依赖于Berkeley DB作为数据存储的媒介,同时需要依赖于libfastcommon。

2.安装及配置:

    1.下载FastDHT,下载地址:

https://github.com/happyfish100

FastDHT:fastdht-master.zip

2.由于libfastcommon在安装FastDFS时已经安装过,不需再安装。

3.下载Berkeley DB,下载地址:

http://www.oracle.com/technetwork/database/database-technologies/berkeleydb/downloads/index.html 

Berkeley DB:db-6.0.30.tar.gz

4.安装Berkeley DB,将db-6.0.30.tar.gz拷贝到/usr/local目录下。

5.解压:

tar -zxvf db-6.0.30.tar.gz

6.进入build-unix目录:

cd /usr/local/db-6.0.30/build_unix/

7.执行命令:

../dist/configure --prefix=/usr/local/db-6.0.30-test

make

make install

8.DB安装完毕,会在/usr/local目录下生成目录db-6.0.30-test

9.安装FastDHT,将fastdht-master.zip拷贝到/usr/local目录下,解压:

unzip fastdht-master.zip

10.进入fastdht-master目录,修改make.sh文件,修改:

CFLAGS=’-Wall -D_FILE_OFFSET_BITS=64 -D_GNU_SOURCE -I/usr/local/db-6.0.30-test/include/ -L/usr/local/db-6.0.30-test/lib/

标红部分为要加入的内容。

11.进入fastdht-master目录,编译安装:

cd /usr/local/fastdht-master/

./make.sh

./make.sh install

13.安装成功后fastdht被安装在/etc/fdht目录下,生成3个配置文件

12.配置FastDHT,创建fastdht目录:

mkdir /opt/fastdht

13.修改/etc/fdht/目录下的配置文件fdht_client.conf,依次修改如下内容:

base_path=/opt/fastdht

keep_alive=1

#include /etc/fdht/fdht_servers.conf

14.修改/etc/fdht/目录下的配置文件fdht_servers.conf,依次修改如下内容:

group_count = 1

group0 = 10.10.2.119:11411

15.修改/etc/fdht/目录下的fdhtd.conf文件,依次修改如下内容:

port=11411

bash_path=/opt/fastdht (该目录必须是已经存在的)

#include /etc/fdht/fdht_servers.conf  -> (本行前有#表示打开,如果想关闭此选项,则应该为##开头)

16.配置/etc/fdfs/目录下的storage.conf文件,依次修改如下内容:

#是否检测上传文件已经存在。如果已经存在,则建立一个索引链接以节省磁盘空间

check_file_duplicate=1

#当上个参数设定为1时 , 在FastDHT中的命名空间

key_namespace=FastDFS

#长连接配置选项,如果为0则为短连接 1为长连接

keep_alive=1

#此处特别需要注意配置

#include /etc/fdht/fdht_servers.conf

17.执行如下命令:

cp /usr/local/db-6.0.30-test/lib/libdb-6.0.so /usr/lib/

cp /usr/local/db-6.0.30-test/lib/libdb-6.0.so /usr/lib64/

18.启动FastDHT:

fdhtd /etc/fdht/fdhtd.conf

19.测试,通过客户端命令测试上传:

 /usr/bin/fdfs_upload_file /etc/fdfs/client.conf /opt/test.png

20.上传成功后返回路径,查看storage存储对应存储路径,发现返回的为一个软链接,之后每次重复上传的haul都是返回一个指向第一次上传的文件的软链接。也就保证了文件只保存了一份。需要说明的是,FastDFS不会返回原始文件的索引,返回的全部都是软链接,当所有的软链接都被删除的时候,原始文件也会从FastDFS中被删除。

21.安装测试完毕。

你可能感兴趣的:(架构)