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 谢谢
我是严格按照上面的步骤进行的安装配置,出现两个问题:
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
请问这个怎么回事??????
在freebsd下编译,有些问题,db4的头文件和库路径对不上,需要手工改。依赖库都是通过pkg_add安装的。建议使用autoconf/automake完成不同平台的识别。 @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这个问题笔误我也查询了 没有发现该文件 回复 4# happyfishfans
OK ,我继续研究一下,谢谢~
继续请教几个问题
今天又认真安装了一次,仔细核对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谢谢! 鱼大,你好
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: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) 回复 8# hu198021688500
看日志文件啊! 回复 7# foxyuli
这个问题怎么解决的