`
247687009
  • 浏览: 171222 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

FastDHT(分布式hash系统)安装和与FastDFS整合实现自定义文件ID

阅读更多
由于项目需要自定义文件的路径名称,而Fastdfs天生就是不支持自定义名称的,所以只能使用映射的方式来做,找了半天资料,发现余大已经实现了。经过半天的折腾总算是完成了

一简介
• 分布式hash系统,存储Key Value Pair
• 支持两种存储方式
– 缓存方式的MPOOL
– 持久存储方式的BDB
• Key包括三部分:
– Namespace
– ObjectID
– Key
• Key可设置过期时间,自动清除过期数据
• Server端划分group,同group数据互相备份,并且可自动压缩binlog
服务端可使用单线程,多线程模式
• 虚拟farm,便于扩容
• 分布式算法client端实现,不需要中心服务器
• 二进制通信协议,支持Proxy
• 使用libevent,异步IO方式,支持大并发
• 自动failover
• 支持长连接

拷贝自作者的ppt.
二 安装
这里安装使用的机器是Centos5.10 64位
准备安装源码
下载DBD这里使用最新版6.0.30 http://download.oracle.com/berkeley-db/db-6.0.30.tar.gz
下载FastDHT 最新版2.0 同FastDFS5.x版本一样,必不需要依赖libevent了.
http://ftp.jaist.ac.jp/pub/sourceforge/f/fa/fastdht/FastDHT%20server%20and%20php%20ext/FastDHT%20Server%20Source%20Code%20V2.00/FastDHT_v2.00.tar.gz
编译安装DBD
tar xf db-6.0.30.tat.gz
cd db-6.0.30/build_unix
../dist/configure –prefix=/usr
make    // DB我这里使编译好好久呢.
make install
安装FastDHT
tar xf FastDHT_v2.00.tar.gz
cd FastDHT
./make.sh clean
./make.sh
./make.sh install
三 配置
首先执行下面的替换掉libdb的so
cp /usr/lib/libdb-6.0.so /lib64/libdb-4.3.so
新建文件夹存放DHT的数据
mkdir –p /data/fs/fdht

修改配置文件
vi /etc/fdht/fdht_servers.config
group0=你自己的IP地址 不能用localhost和127.0.0.1

vi /etc/fdht/fdhtd.conf
base_path=/data/fdht

启动DHT
/usr/local/bin/fdhtd /etc/fdht/fdhtd.conf
执行 netstat –ntlp
看到11411 说明安装成功了
vi /etc/fdhtd/fdht_client.conf
keep_alive=1  --> (本选项关联 storaged.conf文件)
bash_path=/data/fdht
# include /etc/fdhtd/fdht_servers.conf

配置storaged.conf文件
vi  storaged.conf (默认位置: /etc/fdfs/storaged.conf)
check_file_duplicate=1
key_namespace=FastDFS
keep_alive=1
# include /etc/fdht/fdht_servers.conf

最后自定义生成ID 需要配合my-fastdfs-client
分享到:
评论
2 楼 lobin 2016-12-15  
为什么我启动的时候,能启动, 但报如下错误呢?

[2016-12-15 20:39:30] ERROR - file: ../common/shared_func.c, line: 1275, call setrlimit fail, resource=4, value=268435456, errno: 22, error info: Invalid argument
[2016-12-15 20:39:30] WARNING - file: ../common/shared_func.c, line: 462, set max core dump file size to 256 MB fail, errno: 22, error info: Invalid argument
[2016-12-15 20:39:30] INFO - local_host_ip_count: 2,  127.0.0.1  192.168.1.136

还有用fdht_test测试的时候,也有报错:
[root@192 bin]# /opt/local/FastDHT_v2.00/bin/fdht_test   /opt/local/FastDHT_v2.00/conf/fdht_client.conf
This is FastDHT client test program v2.00

Copyright (C) 2008, Happy Fish / YuQing

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

fdht_get_sub_keys fail, errno: 95, error info: Operation not supported
original value=967984828(9)
value_len: 9
value: 967984928
value_len: 9
value: 967984928

server 192.168.1.136:11411
server=192.168.1.136:11411
version=2.00
uptime=186
curr_time=1481805791
max_connections=256
curr_connections=1
total_set_count=2
success_set_count=2
total_inc_count=1
success_inc_count=1
total_delete_count=0
success_delete_count=0
total_get_count=1
success_get_count=1

fdht_get_sub_keys fail, errno: 95, error info: Operation not supported
1 楼 bo_hai 2015-07-07  
能详细讲讲吗?

相关推荐

Global site tag (gtag.js) - Google Analytics