Docker是一個開源的引擎,能夠輕鬆地爲任何應用建立一個輕量級的、可移植的、自給自足的容器。DolphinDB database 提供了基於docker的分佈式集羣部署包,能夠讓用戶方便快捷的部署DolphinDB分佈式集羣。node
本教程的目標是經過4個centos容器搭建一個5節點的多機集羣,最終搭建好的集羣狀況以下:git
部署分佈式集羣時,須要分別配置控制器節點(controller)、代理節點(agent)和數據節點(datanode)的網絡IP和端口。本教程提供的部署包,經過docker容器間構建虛擬子網,爲4個容器分別指定了從10.5.0.2到10.5.0.5 四個固定IP地址。包含這些信息的配置文件已經內置到部署包中,用戶無需再手工一一指定。內置的網絡IP及端口分配狀況以下:github
controller.cfg:web
localSite=10.5.0.5:8888:master
agent1.cfg:docker
mode=agent localSite=10.5.0.2:8710:P1-agent,agent controllerSite=10.5.0.5:8888:master
cluster.nodes:centos
localSite,mode 10.5.0.2:8710:P1-agent,agent 10.5.0.2:8711:P1-node1,datanode 10.5.0.2:8712:P1-node2,datanode 10.5.0.3:8810:P2-agent,agent 10.5.0.3:8811:P2-node1,datanode 10.5.0.3:8812:P2-node2,datanode 10.5.0.4:8910:P3-agent,agent 10.5.0.4:8911:P3-node1,datanode
因爲在docker虛擬網絡環境下UDP協議沒法正常運做,因此須要在agent.cfg和cluster.cfg中加上配置項lanCluster=0,此配置項在部署包中的配置文件中已默認添加。網絡
在部署集羣前,須要先搭建好docker環境,具體能夠參考docker安裝教程、docker-compose安裝教程。app
從https://github.com/dolphindb/Tutorials_CN/blob/master/docker/DolphinDB-Docker-Compose.zip下載DolphinDB docker部署包。分佈式
經過如下步驟獲得一個包含最新版本DolphinDB server的鏡像文件:ide
cd ./DolphinDB-Docker-Compose/Dockerbuild docker build -t ddb:latest ./
編譯完成後,使用docker images查看:
$ docker images REPOSITORY TAG IMAGE ID CREATED SIZE ddb latest 4268ac618977 5 seconds ago 420MB
社區版中的license文件沒法支持部署5個數據節點和1個控制節點,所以須要申請支持6個以上節點的企業版license,並將企業版license文件dolphindb.lic放到./cfg
文件目錄下。
容器中的默認啓動腳本會自動啓動控制節點和代理節點。
cd ./DolphinDB-Docker-Compose docker-compose up -d
執行後輸出的結果以下:
$ docker-compose up -d Creating network "20190121-dolphindb-docker-compose_dbnet" with driver "bridge" Creating ddbcontroller ... done Creating ddbagent2 ... done Creating ddbagent3 ... done Creating ddbagent1 ... done
經過上述步驟,已經完成了分佈式集羣的建立、啓動和初始化工做。訪問地址http://localhost:8888便可訪問集羣管理的web頁面。在Web中啓動全部數據節點,最終界面以下: