`
247687009
  • 浏览: 173220 次
  • 性别: 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  
能详细讲讲吗?

相关推荐

    FastDHT-分布式哈希系统

    分布式哈希系统(Distributed Hash Table,简称DHT)是一种用于大规模分布式环境的数据存储技术,其核心思想是将数据分散存储在多台独立的设备上,以实现高可用性、可扩展性和容错性。FastDHT是这样一个系统,它专注...

    FastDHT安装程序

    FastDFS和FastDHT是两种常见的开源文件系统,它们在处理大量数据存储和检索方面表现出色。本文将深入探讨这两个技术,并结合"FastDHT安装程序"的上下文,指导你如何进行安装与配置。 首先,FastDFS是一个轻量级的...

    分布式文件系统综述.pdf

    同时,分布式文件系统还需要高效的数据定位机制,比如通过分布式哈希表(Distributed Hash Table, DHT)等方式,快速定位存储节点,提升系统响应速度和吞吐量。 随着分布式存储技术的发展,对于存储系统的架构设计...

    分布式文件系统

    分布式文件系统(Distributed File System,简称DFS)是一种跨越多台计算机的文件管理系统,能够使这些计算机上的文件如同位于同一台机器上一样进行管理和访问。它通过网络将分散在不同地理位置的计算节点连接起来,...

    FastDHT相关安装包

    FastDFS是一个开源的、高性能的、轻量级的分布式文件系统,而FastDHT则是一种基于分布式哈希表(DHT)的数据存储服务,用于提供高可用性和可扩展性的键值对存储解决方案。下面我们将深入探讨这两个技术及其与...

    CCTC 2016 百度王耀-百度的分布式文件系统之路

    - 在分布式文件系统中,Master节点的元信息单点问题和单线程性能瓶颈是常见问题,百度通过将poll机制改为epoll和调整hash桶大小等技术手段改进了性能。 - 此外,使用fuse进行调参以提高系统的性能和稳定性也是百度...

    一种基于分布式文件云存储系统的设计与实现.pdf

    1. **文件访问客户端 (FAC)**:FAC是文件系统与应用程序之间的桥梁,提供通用的文件操作API(如Open、Close、Read、Write、Seek等),同时负责与文件访问服务器(FAS)和文件定位寄存器(FLR)的通信,实现数据的...

    分布式操作系统算法Demo

    分布式操作系统算法Demo是一种高级操作系统技术的实践展示,它涵盖了分布式系统和算法的核心概念。在现代计算机科学中,分布式操作系统是连接多台独立计算机,通过网络通信实现资源共享和协同工作的系统。这种系统...

    基于列存储的MapReduce分布式Hash连接算法.pdf

    本文是一篇关于大数据处理中的分布式哈希连接算法的研究论文,主要探讨了在大数据环境下,如何通过列存储和MapReduce框架来实现高效率的哈希连接操作,以解决传统关系型数据库在处理大数据时面临的性能和可扩展性...

    基于redis的分布式缓存系统架构分析_张威.pdf

    总结来说,基于Redis的分布式缓存系统通过Twemproxy实现了高效的分片和负载均衡,配合`redis-twemproxy-agent`,能够在主节点故障时快速恢复服务,保证系统的高可用性和稳定性。这样的设计适用于需要处理大量并发...

    Ceph分布式存储系统介绍.pdf

    Ceph分布式存储系统介绍 Ceph是一个开源的、可靠的、可扩展的分布式存储...Ceph是一个功能强大、可靠的分布式存储系统,提供了多种访问接口和高可扩展的架构,广泛应用于OpenStack、云计算和分布式文件系统等领域。

    分布式系统中Semi-Join算法的实现.pdf

    分布式系统是一种把数据、处理能力和用户需求分布到多个物理位置的计算模式。随着云计算技术的飞速发展,分布式系统的应用变得越来越广泛,它们在处理海量数据、提供高可用性和扩展性方面具有显著优势。分布式数据库...

    分布式块存储系统:HCBS实现机制.pdf

    HCBS还实现了卷元数据的隔离,即通过uuid和diskid两个ID来实现前端与后端的隔离,从而提供卷克隆和内部快照等功能。路由管理是分布式存储系统的核心,HCBS通过hash环进行路由管理,将路由项均匀分配到hash环的N个...

    Pegasus:一个分布式KV系统的设计过程.pdf

    根据提供的文件内容,我们可以归纳出以下关于分布式KV(键值)存储系统设计的相关知识点。 ## 分布式KV系统设计的背景与需求 分布式KV系统设计过程起源于对现有系统如HBase、HDFS、ZooKeeper等的深入理解与研究。...

    分布式缓存系统Memcached

     ASP.NET允许通过基于文件系统和数据库表的触发器来作废一个缓存。然而,这也存在问题,比如数据库触发器需要使用昂贵的轮询,以及触发器本身冗长的编程。但是,我们还是有其他的选择的。  不像ASP.NET内置的缓存...

    GlusterFS分布式文件系统

    GlusterFS是一种开源的分布式文件系统,其全称是Gluster File System。它采用了用户空间的设计理念,以简洁和遵循KISS(Keep It Simple, Stupid)原则著称。GlusterFS支持横向扩展,能管理数百个节点并处理数PB级别...

    FastDFS_fastdht

    FastDHT是一个基于键值对的高效分布式hash系统, 可以存储文件名和 file_id的映射表 、session数据、用户相关等 ,底层采用erkeley DB做数据库 来持久存储数据 持久存储数据 (也可以使用SSDB),数 据同步方式是使用...

    分布式缓存系统客户端关键技术研究.pdf

    分布式缓存系统作为一项关键技术,在支撑海量数据处理方面受到广泛的关注与应用。分布式缓存系统能够实现数据的分布式存储,具备高并发处理能力、低时延以及高可扩展性。在工程实践中,分布式缓存系统客户端的技术...

    分布式数据库系统中的并行分组聚合实现.pdf

    分布式数据库系统中的并行分组聚合实现涉及的主要知识点包括分布式数据库系统、数据分析、并行计算、哈希分组(Hash GroupBy)技术、分组聚合(GroupBy and Aggregation)操作、以及OceanBase数据库。以下是对这些...

    基于分布式存储系统的数据布局策略研究.pdf

    分布式存储系统的数据布局策略研究主要关注于如何高效、可靠地在分布式系统中存储和管理大数据。这项研究的核心目的是提升系统的性能,尤其是在响应时间、访问速度和负载均衡方面。为了实现这一目标,研究者对现有的...

Global site tag (gtag.js) - Google Analytics