1. 说明
本文档针对docker swarm操作。
针对的系统是以一个本地的测试系统为例。其中机器信息如下,172.16.1.13作为docker swarm的管理机。
本地测试的机器列表信息:
主机名 | 模拟的外网 | 内网IP | 要部署模块 |
---|---|---|---|
mini01 | 10.0.0.11 | 172.16.1.11 | tomcat、hadoop-datanode、hbase-regionserver |
mini02 | 10.0.0.12 | 172.16.1.12 | tomcat、hadoop-datanode、hbase-regionserver |
mini03 | 10.0.0.13 | 172.16.1.13 | spark、zookeeper、hadoop-namnode、hbase-master、visualizer【docker swarm 状态查看】 |
2. docker swarm初始化
根据规划在172.16.1.13这台机器上操作:
[root@mini03 ~]# docker swarm init # 针对机器只有一个IP的情况
Error response from daemon: could not choose an IP address to advertise since this system has multiple addresses on different interfaces (172.16.1.13 on eth0 and 10.0.0.13 on eth1) - specify one with --advertise-addr
[root@mini03 ~]# docker swarm init --advertise-addr 172.16.1.13 # 针对机器有多个IP的情况,需要指定一个IP,一般都是指定内网IP
Swarm initialized: current node (yo5f7qb28gf6g38ve4xhcis17) is now a manager.
To add a worker to this swarm, run the following command:
# 在其他机器上执行,这样可以加入该swarm管理
docker swarm join --token SWMTKN-1-4929ovxh6agko49u0yokrzustjf6yzt30iv1zvwqn8d3pndm92-0kuha3sa80u2u27yca6kzdbnb 172.16.1.13:2377
To add a manager to this swarm, run 'docker swarm join-token manager' and follow the instructions.
得到加入到该swarm的命令
[root@mini03 ~]# docker swarm join-token worker
To add a worker to this swarm, run the following command:
# 在其他机器上执行,这样可以加入该swarm管理
docker swarm join --token SWMTKN-1-4929ovxh6agko49u0yokrzustjf6yzt30iv1zvwqn8d3pndm92-0kuha3sa80u2u27yca6kzdbnb 172.16.1.13:2377
3. 初始化网络
初始化一个swarm网络,让系统组件使用这个指