一、先在Mac上安装Docker
由于docker本身底层是基于linux内核和文件系统的,mac上想要运行docker就需要安装docker官方提供的适配程序,下载安装到本地电脑后启动,即在本地有了docker的运行环境,可在terminal执行运行 docker ps等命令。请按照官方教程进行本次操作,此处不再赘述。
二、下载Druid的docker镜像文件
apache官方提供了构建druid docker镜像的配置文件:github.com/apache/drui…
先将工程clone到本地:
git clone https://github.com/apache/druid.git
进入根目录:
cd druid/
三、本地构建docker镜像
若需要自定义配置,进入./distribution/docker/下修改environment文件,如果只是想自己测试本地玩玩,可不修改保持默认,修改后保存, 执行build命令构建本地image
docker build -t apache/druid:tag -f distribution/docker/Dockerfile .
build过程较慢,需要耐心等待。
四、运行docker容器
执行以下命令运行容器:
docker-compose -f distribution/docker/docker-compose.yml up
五、开始使用
第三步build过程会下载druid、pgsql、zk三个服务所需的docker文件,run时通过docker-compose.yml指定启动参数,于是这三个服务的启动端口也可在该配置文件中查看,或终端执行docker ps查看。
zookeeper启动端口为:2181
druid会同时启动五个节点:
coordinator(8081:8081)
broker(8082:8082)
historical(8083:8083)
middlemanager(8091:8091,8100-8105:8100-8105)
router(8888:8888)
若启动失败,提示port already used 类似错误,请检查docker-compose.yml文件中相关端口是否已经被占用,修改后重新run即可。
如果一切顺利,打开本地浏览器,访问:http://localhost:8888 即可查看Druid的管理页面,执行数据摄取等操作。
六、可能遇到的问题
执行完第四步之后,可在Mac桌面端docker管理软件界面上看到已下载的容器和运行情况:
若内存设置不合理,可能会出现如上图所示的错误:部分节点挂掉。
从日志中也可以看出类似日志:
coordinator exited with code 137
broker exited with code 137
可在Docker桌面客户端上设置内存大小:
修改后保存并重启即可。