happyfishfans 发表于 2012-02-16 16:41

FastDHT安装步骤完善

本帖最后由 happyfishfans 于 2012-03-09 11:56 编辑

FastDHT 安装步骤完善

需要的依赖库文件: libevent-1.4.so.2 , libdb-4.7.so
依赖库文件存在于以下依赖包:libevent-1.4.14-stableBerkley DB-4.7.25

下载链接: libevent-1.4.14-stable : http://www.monkey.org/~provos/libevent-1.4.14-stable.tar.gz
               db-4.7.25.tar.gz         : http://download.oracle.com/berkeley-db/db-4.7.25.tar.gz
               FastDHT V1.18.tar.gz : http://fastdht.googlecode.com/files/FastDHT_v1.18.tar.gz

一. 安装步骤:
(请按照顺序进行安装)

1. installlibevent-1.4.14-stable.tar.gz

tar xzf libevent-1.4.14-stable.tar.gz
cd libevent-1.4.14-stable
./configure --prefix=/usr
make && make install

2. install Berkley DB-4.7.25

tar xzf db-4.7.25.tar.gz
cd db-4.7.25/build_unix
../dist/configure --prefix=/usr
make && make install

3. install FastDHT V1.18

tar xzf FastDHT_v1.18.tar.gz
cd FastDHT
./make.clean
./make.sh
./make.sh install
(确保存在 fdhtd.conffdht_servers.conffdht_client.conf 在服务器上)

二. 修改配置文件

创建目录: mkdir /etc/fdhtd (目录权限 : 755所属者: root)

cp fdhtd.conf /etc/fdhtd/            (文件权限 : 644所属者: root)
cp fdht_servers.conf /etc/fdhtd/    (文件权限 : 644所属者: root)
cp fdht_client.conf /etc/fdhtd/       (文件权限 : 644所属者: root)

vi /etc/fdhtd/fdhtd.conf
port=11411
bash_path=<自定义目录 例如: /fdht>
cache_size = 32MB
#include /etc/fdhtd/fdht_servers.conf-> (本行前有#表示打开,如果想关闭此选项,则应该为##开头)

vi /etc/fdhtd/fdht_server.conf
group_count = 2   (数字可自定义)
group0 = <ipaddress>:<port>
group0 = <ipaddress>:<port>
group1 = <ipaddress>:<port>
group1 = <ipaddress>:<port>
依次类推

vi /etc/fdhtd/fdht_client.conf
keep_alive=1--> (本选项关联 storaged.conf文件)
bash_path=<自定义目录 例如: /fdht>
# include /etc/fdhtd/fdht_servers.conf

配置storaged.conf文件
vistoraged.conf (默认位置: /etc/fdfs/storaged.conf)

line 189:check_file_duplicate=1
本配置项解释: 是否检测上传文件已经存在。如果已经存在,则不存在文件内容,建立一个索引链接以节省磁盘空间
line 193:  key_namespace=FastDFS
本配置项解释: 当上个参数设定为1时 , 在FastDHT中的命名空间
line 197:keep_alive=1
本配置项解释: 长连接配置选项,如果为0则为短连接 1为长连接
line 204:# include /etc/fdhtd/fdht_servers.conf
本配置项解释: 可以通过 #include filename 方式来加载 FastDHT servers  的配置

三. 判断排错

1.fdht文件应该存在于 /etc/fdhtd/文件夹下
2./etc/fdfs/storaged.conf && /etc/fdfs/fdhtd.conf 2个配置文件中应开启如下配置项
# include /etc/fdhtd/fdht_servers.conf
3.cache_size 应 > 32M及以上
4.ulimit -c unlimited 即可

四. 启动FastDHT

/usr/local/bin/fdhtd /etc/fdhtd/fdhtd.conf
若出现段错误,则按照如下步骤排查,若没有出现任何报错则直接使用命令 netstat -an | grep 11411来查看端口是否启动

段错误排错步骤:
1. ldd /usr/local/bin/fdhtd 查看是否所有动态链接库全链接完毕
ldd的结果应包含如下2条:
(X86_64)
libevent-1.4.so.2 => /lib64/libevent-1.4.so.2 (0x00000000.....)
libdb-4.7.so => /lib64/tls/libdb-4.7.so (0x00000000....)
(i386)
libevent-1.4.so.2 => /lib/libevent-1.4.so.2 (0x00000000.....)
libdb-4.7.so => /lib/tls/libdb-4.7.so (0x00000000....)

2. 若ldd的结果为 libdb-4.2.so => /lib64/tls/libdb-4.2.so (0x00000000....)
则应该进行如下替换操作:
find / -name libdb-4.7.so
cp {$path}/libdb-4.7.so/lib64/tls/libdb-4.2.so

3. 若结果没有错误,则检查对应安装软件版本
libevent-1.4.8以上版本
Berkeley-db-4.7.25以上版本
FastDHT V1.0以上版本

即可启动完成

若转载 请保持原地址连接 原作者姓名 happyfishfans 谢谢

zerongLi 发表于 2012-03-07 20:05

我是严格按照上面的步骤进行的安装配置,出现两个问题:
Q1.在执行 3. install FastDHT V1.18时,执行
./make.clean提示没有make.clean,我ls了一下,确实没有这个文件

Q2. 上面的现象被我直接忽视了,继续往下执行,结果发现最后执行/usr/local/bin/fdhtd /etc/fdhtd/fdhtd.conf启动FastDHT时,系统提示无法找到 /usr/local/bin/fdhtd

请问这个怎么回事??????

mirnshi 发表于 2012-03-07 22:35

在freebsd下编译,有些问题,db4的头文件和库路径对不上,需要手工改。依赖库都是通过pkg_add安装的。建议使用autoconf/automake完成不同平台的识别。

happyfishfans 发表于 2012-03-09 11:53

@2楼

可以在全局 安装好fastDHT之后,执行如下命令查看 fdhtd的文件位置:
find / -name "fdhtd"
并将执行文件放置到 任意位置,也就是在文档中所说的 /usr/local/bin/fdhtd
启动的时候,执行 /usr/local/bin/fdhtd /etc/fdhtd/fdhtd.conf

注意点:
1. fdhtd要有执行权限
2. 启动的格式是:执行文件 【空格】 配置文件 的方式。 例如:/usr/local/bin/fdhtd /etc/fdhtd/fdhtd.conf

make clean这个问题笔误我也查询了 没有发现该文件

zerongLi 发表于 2012-03-14 08:31

回复 4# happyfishfans



OK ,我继续研究一下,谢谢~


   

zerongLi 发表于 2012-03-19 20:59

继续请教几个问题
今天又认真安装了一次,仔细核对happyfishfans的过程,发现几点不同:

1. 在“二、修改配置文件”中,
    原文
“vi /etc/fdhtd/fdht_client.conf
    bash_path=<自定义目录 例如: /fdht>”
   实际上应该是base_path=/fdht,而且/fdht这个目录或文件必须存在

   原文“vi /etc/fdhtd/fdht_client.conf ”中也一样,不是bash_path而是base_path

2. 原文“配置storaged.conf文件” ,这里我也没有找到storaged.conf文件,只有storage.conf。

3. 原文“ vi /etc/fdhtd/fdht_server.conf”,我找到的以及实际编辑的是 /etc/fdhtd/fdht_servers.conf文件。

在我原原本本认认真真的将我能找到的配置文件按happyfishfans的配置完成后,终于执行/usr/local/bin/fdhtd /etc/fdhtd/fdhtd.conf没有错误提示了,可是悲催的使用netstat -an | grep 11411来查看端口是否启动时,发现端口没启动。
    执行ldd /usr/local/bin/fdhtd 查看是否所有动态链接库全链接完毕的结果为

linux-vdso.so.1 =>(0x00007fffcf499000)
      libevent-2.0.so.5 => /usr/lib/libevent-2.0.so.5 (0x00007f1d9f038000)
      libdb-4.7.so => /usr/lib/libdb-4.7.so (0x00007f1d9ecd9000)
      libpthread.so.0 => /lib/libpthread.so.0 (0x00007f1d9eabc000)
      libc.so.6 => /lib/libc.so.6 (0x00007f1d9e75a000)
      librt.so.1 => /lib/librt.so.1 (0x00007f1d9e552000)
      /lib64/ld-linux-x86-64.so.2 (0x00007f1d9f281000)

由于最近几天一直在反复排错安装,所以发现的问题有点多,希望能得到答复,O(∩_∩)O谢谢!

foxyuli 发表于 2012-06-14 11:04

鱼大,你好
FastDHT 1.19 安装问题
安装完成后,测试有问题
INFO - file: fdht_client.c, line: 144, base_path=/home/fox/fastdht, connect_timeout=3s, network_timeout=60s, keep_alive=1, use_proxy=0, group_count=1, server_count=1
fdht_get_sub_keys fail, errno: 2, error info: No such file or directory
original value=1229959555(10)
value_len: 10
value: 1229959655
value_len: 10
value: 1229959655

server 192.168.1.160:11411
server=192.168.1.160:11411
version=1.19
uptime=10
curr_time=1339642201
max_connections=256
curr_connections=1
total_set_count=23
success_set_count=23
total_inc_count=9
success_inc_count=9
total_delete_count=0
success_delete_count=0
total_get_count=12
success_get_count=8

sub keys: reg
能否予以指点

hu198021688500 发表于 2012-06-27 16:36

本帖最后由 hu198021688500 于 2012-06-27 16:37 编辑

我也按happyfishfans的配置完成后
执行 /usr/local/application/fastdht-1.19/bin/fdhtd /usr/local/application/fastdht-1.19/conf/fdhtd.conf 没有错误提示了
悲催的使用netstat -an | grep 11411来查看端口是否启动时,发现端口没启动。
执行ldd /usr/local/bin/fdhtd 查看是否所有动态链接库全链接完毕的结果为
/usr/local/application/fastdht-1.19/bin/fdhtd:
        libevent-1.4.so.4 => /usr/local/lib/libevent-1.4.so.4 (0x280b8000)
        libdb-5.3.so => /usr/local/lib/libdb-5.3.so (0x280ce000)
        libthr.so.3 => /lib/libthr.so.3 (0x28261000)
        libc.so.7 => /lib/libc.so.7 (0x28282000)

happy_fish100 发表于 2012-06-27 17:28

回复 8# hu198021688500

看日志文件啊!

hanking123 发表于 2012-09-17 16:02

回复 7# foxyuli


    这个问题怎么解决的
页: [1] 2 3 4 5 6 7 8 9 10
查看完整版本: FastDHT安装步骤完善