fastdfs tracker-fdht安装

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!

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 206,968评论 6 482
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 88,601评论 2 382
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 153,220评论 0 344
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 55,416评论 1 279
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 64,425评论 5 374
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,144评论 1 285
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,432评论 3 401
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,088评论 0 261
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 43,586评论 1 300
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,028评论 2 325
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,137评论 1 334
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,783评论 4 324
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,343评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,333评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,559评论 1 262
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,595评论 2 355
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,901评论 2 345

推荐阅读更多精彩内容