美文网首页
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