分布式文件服务ambry
分布式文件服务ambry是国外著名社交软件公司 linkedin 的开源项目,ambry官网地址:
https://github.com/linkedin/ambry, 可以自行查看github介绍
如何使用docker容器化部署ambry
ambry官方并没有相关镜像,所以自己制作ambry镜像进行部署,下面进行介绍:
ambry分为服务段和前端,所以制作了2个镜像, 镜像dockerHub地址:
https://hub.docker.com/r/wdnmdcyka/ambry-client, https://hub.docker.com/r/wdnmdcyka/ambry-server
[root@izwz94ymqw967redc0vyeoz ~]# docker search ambry
NAME DESCRIPTION STARS OFFICIAL AUTOMATED
amimimor/ambry Ambry Docker Image 0
civicknowledge/ambry Public data ETL framework 0 [OK]
sandinh/ambry dockerize for linkedin [ambry] 0 [OK]
sivabalan/ambry Adding docker support for ambry 0 [OK]
sivabalan/ambryfe Ambry FE using in memory router factory 0 [OK]
sandinh/ambry-import-xenforo import xenforo avatars, attachments to ambry 0
maciejbak85/ambry Distributed object store https://github.com 0
civicknowledge/ambry-base 0
gnkr8/ambry 0
ktimothy/ambry 0
wdnmdcyka/ambry-server linkedin/ambry server image 0
wdnmdcyka/ambry-client linkedin/ambry fronted image 0
需要下载 wdnmdcyka/ambry-server、wdnmdcyka/ambry-client
[root@izwz94ymqw967redc0vyeoz ~]# docker pull wdnmdcyka/ambry-server:1.0
[root@izwz94ymqw967redc0vyeoz ~]# docker pull wdnmdcyka/ambry-client:1.0
部署方式
按照官网传统部署方式,需要部署ambry的服务端和ambry的前端,前端不负责存储,所有的文件都是在服务端存储,前端只是
负责转发请求和组织服务端存储
首先部署ambry-server:
docker run -d -v ${your config dir}:/app/config
-v ${your tmp dir}:/tmp
-v ${your logs dir}:/app/logs
-p 6667:6667
-p 16503:16503
--restart always
--name ambry-server
wdnmdcyka/ambry-server:tagname
说明:其中挂载出来的目录有ambry的配置文件目录,/tmp为服务端存储文件的目录,/app/logs为ambry生成日志存储的目录
暴露的端口6667为server和client通信的端口
部署ambry-client:
docker run -d -v ${your config dir}:/app/config
-v ${your logs dir}:/app/logs
-p 1174:1174
--restart always
--name ambry-client
wdnmdcyka/ambry-client:tagname
说明:由于client端不负责存储,所以没有挂载/tmp目录,1174端口是ambry暴露的rest接口所使用的端口
配置文件获取地址:https://github.com/linkedin/ambry/tree/master/config
测试
如果配置无误,直接请求 http://localhost:1174/healthCheck ,如果返回 GOOD 则部署成功!