美文网首页
fastdfs tracker-fdht安装

fastdfs tracker-fdht安装

作者: 宇晨棒棒的 | 来源:发表于2024-01-24 10:48 被阅读0次

1.安装libfastcommon

libfastcommon是从 FastDFS 和 FastDHT 中提取出来的公共 C 函数库,基础环境,安装即可 。

① 下载libfastcommon

# wget https://github.com/happyfish100/libfastcommon/archive/V1.0.7.tar.gz

② 解压

# tar -zxvf V1.0.7.tar.gz

# cd libfastcommon-1.0.7

③ 编译、安装

# ./make.sh

# ./make.sh install

④ libfastcommon.so 安装到了/usr/lib64/libfastcommon.so,但是FastDFS主程序设置的lib目录是/usr/local/lib,所以需要创建软链接。

# ln -s /usr/lib64/libfastcommon.so /usr/local/lib/libfastcommon.so

# ln -s /usr/lib64/libfastcommon.so /usr/lib/libfastcommon.so

# ln -s /usr/lib64/libfdfsclient.so /usr/local/lib/libfdfsclient.so

# ln -s /usr/lib64/libfdfsclient.so /usr/lib/libfdfsclient.so

2.安装fastdfs

① 下载FastDFS

# wget https://github.com/happyfish100/fastdfs/archive/V5.05.tar.gz

② 解压

# tar -zxvf V5.05.tar.gz

# cd fastdfs-5.05

③ 编译、安装

# ./make.sh

# ./make.sh install

④ 默认安装方式安装后的相应文件与目录

A.启动命令:/etc/init.d/{fdfs_storaged,fdfs_trackerd}

B.默认配置文件:/etc/fdfs/{client.conf.sample,storage.conf.sample,tracker.conf.sample}

c.命令工具在 /usr/bin/ 目录中:

但是 FastDFS 服务启动脚本(/etc/init.d/{fdfs_storaged,fdfs_trackerd})设置的 bin 目录是 /usr/local/bin, 但实际命令安装在 /usr/bin/ 下,需要添加软链接:

 ln -s /usr/bin/fdfs_trackerd /usr/local/bin

 ln -s /usr/bin/fdfs_storaged  /usr/local/bin

 ln -s /usr/bin/stop.sh        /usr/local/bin

 ln -s /usr/bin/restart.sh      /usr/local/bin

3.添加tracker配置信息

① cp    /etc/fdfs/client.conf.sample      /etc/fdfs/client.conf

修改配置文件:

disabled=false

bind_addr=

port=22122

connect_timeout=30

network_timeout=60

base_path=/app/fastdfs/tracker

max_connections=256

accept_threads=1

work_threads=16

store_lookup=0

store_group=G1

store_server=1

store_path=0

download_server=0

reserved_storage_space = 10%

log_level=info

run_by_group=

run_by_user=

allow_hosts=*

sync_log_buff_interval = 10

check_active_interval = 120

thread_stack_size = 64KB

storage_ip_changed_auto_adjust = true

storage_sync_file_max_delay = 86400

storage_sync_file_max_time = 300

use_trunk_file = false

slot_min_size = 256

slot_max_size = 16MB

trunk_file_size = 64MB

trunk_create_file_advance = false

trunk_create_file_time_base = 02:00

trunk_create_file_interval = 86400

trunk_create_file_space_threshold = 20G

trunk_init_check_occupying = false

trunk_init_reload_from_binlog = false

trunk_compress_binlog_min_interval = 0

use_storage_id = false

storage_ids_filename = storage_ids.conf

id_type_in_filename = ip

store_slave_file_use_link = false

rotate_error_log = false

error_log_rotate_time=00:00

rotate_error_log_size = 0

log_file_keep_days = 0

use_connection_pool = false

connection_pool_max_idle_time = 3600

http.server_port=8080

http.check_alive_interval=30

http.check_alive_type=tcp

http.check_alive_uri=/status.html

② 创建tracker基础数据目录,即base_path对应的目录:  

mkdir  -pv   /app/fastdfs/tracker

③ 启动tracker

/usr/bin/fdfs_trackerd  /etc/fdfs/tracker     start

④查看 FastDFS Tracker 是否已成功启动 ,22122端口正在被监听,则算是Tracker服务安装成功。

# netstat -unltp|grep  22122

关闭Tracker命令:

/usr/bin/fdfs_trackerd  /etc/fdfs/tracker     stop

⑦tracker server 目录及文件结构

Tracker服务启动成功后,会在base_path下创建data、logs两个目录。

3.fastDHT安装

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

2.安装及配置:

1)下载FastDHT

FastDHT:FastDHT_v1.23.tar.gz

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

3)下载Berkeley DB,最新版本下载地址:

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

Berkeley DB:db-6.1.19.tar.gz

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

5)解压:

tar -zxvf db-6.1.19.tar.gz

6)进入build-unix目录:

cd /usr/local/6.1.19/build_unix/

7)执行命令:

../dist/configure --prefix=/usr/local/db-6.1.19

make

make install

8)DB安装完毕,会在/usr/local目录下生成目录db-6.1.19

安装过程可能报错:

报错截图

解决方法: yum  install  libevent*  -y        重新编译

9)安装FastDHT,将FastDHT_v1.23.tar.gz拷贝到/usr/local目录下,解压:

tar  xf  FastDHT_v1.23.tar.gz

10)进入 FastDHT_v1.23目录,修改make.sh文件,修改:

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

字体加黑部分为要加入的内容。

11)进入 FastDHT_v1.23目录,编译安装:

cd /usr/local/ FastDHT_v1.23r/

./make.sh

./make.sh install

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

fdht_client.conf 

 fdhtd.conf 

 fdht_servers.conf

13)配置FastDHT,创建fastdht目录:

mkdir /opt/fastdht

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

connect_timeout=3

network_timeout=60

keep_alive=1

base_path=/opt/fastdht

log_level=info

use_proxy=0

proxy_addr=127.0.0.1

proxy_port=12200

#include /etc/fdht/fdht_servers.conf

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

group_count = 1

group0 = 192.168.150.46:11411     #fdht安装ip的地址

group0 = 192.168.150.47:11411     #fdht安装ip的地址

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

disabled=false

bind_addr=

port=11411

network_timeout=60

base_path=/opt/fastdht      #目录需手动创建

max_connections=256

max_threads=32

max_pkg_size=64KB

min_buff_size=64KB

store_type = BDB

cache_size = 64MB

db_prefix = db

page_size = 4096

db_type = btree

mpool_init_capacity = 10000

mpool_load_factor = 0.75

mpool_clear_min_interval = 30

log_level=debug

run_by_group=

run_by_user=

allow_hosts=*

sync_log_buff_interval=10

sync_db_time_base=00:00

sync_db_interval=86400

write_to_binlog=1

sync_binlog_buff_interval=60

clear_expired_time_base=04:00

clear_expired_interval=86400

db_dead_lock_detect_interval=1000

compress_binlog_time_base=02:00

compress_binlog_interval=86400

thread_stack_size=1MB

if_alias_prefix=

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

17)配置/etc/fdfs/目录下的storage.conf文件,依次修改如下内容-----(后续安装strage的时候需要修改):

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

check_file_duplicate=1

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

key_namespace=FastDFS

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

keep_alive=1

#此处特别需要注意配置

#include /etc/fdht/fdht_servers.conf        此处是strage配置文件配置信息

18).执行如下命令:

cp /usr/local/db-6.1.19/lib/libdb-6.0.so /usr/lib/

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

19.启动FastDHT:

fdhtd /etc/fdht/fdhtd.conf

验证时需要安装完成strage才能配合测试!

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

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

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

目前位置安装完成:tracker和fdhtd,下面需要安装strage!

相关文章

网友评论

      本文标题:fastdfs tracker-fdht安装

      本文链接:https://www.haomeiwen.com/subject/tzpysrtx.html