蜻蜓Dragonfly是阿里开源基于P2P的智能文件分发系统,旨在解决大规模文件分发场景中低效率,低成功率,浪费网络带宽等问题。
这里client部署采用源码部署
1、下载源码
git clone https://github.com/alibaba/Dragonfly.git
2、进入Dragonfly目录
cd Dragonfly
3、执行构建脚本
./build/build.sh client
这里编译的时候遇到一些问题,比如golint问题,比如config_test.go问题,比如resiter.go,downloader.go,p2pdownloader.go的日志参数问题,参数的问题按照提示修改就行,或者简单点就直接注释掉。
golint问题
需要在go的安装目录下src/golang.org/x,如果没有目录,手动创建一个
在x目录下执行git clone https://github.com/golang/tools下载tools(安装golint依赖tools)
执行 go get -u -v github.com/golang/lint/golint获取golint
执行 go install github.com/golang/lint/golint
如果go get下载不了golint,试试 git clone https://github.com/golang/lint
然后go install golang.org/x/lint/golint
config_test.go问题
直接执行 gofmt -s -w ./dfget/config/config_test.go 即可
日志参数问题
直接去提示出错的文件中找到对应的日志注释掉即可
以上问题解决后重新执行 ./build/build.sh client
最后提示
BUILD: dfdaemon
BUILD: dfget-go
BUILD(dfdaemon&dfget): SUCCESS
4 、执行安装脚本
./build/build.sh install
会看到如下提示,其中/opt/dragonfly/df-client为安装目录,同时创建一个连接到/usr/local/bin目录下
=====================================================================
BUILD(install client): install dfdaemon and dfget...
INSTALL: /opt/dragonfly/df-client
create link /usr/local/bin/dfdaemon to /opt/dragonfly/df-client/dfdaemon
create link /usr/local/bin/dfget to /opt/dragonfly/df-client/dfget-go
delete /tmp/dragonfly/build
BUILD(install client): SUCCESS
5、设置环境变量
export PATH=$HOME/.dragonfly/df-client:$PATH
可以将该行内容写入到/etc/profile中,执行source /etc/profile生效
至此,客户端部署完毕。