前提准备
zookeeper集群
首先修改之前zookeeper部署的文件
cd /data/zookeeper-cluster
vi docker-compose.yml
将内容修改为如下内容
version: '3.2'
services:
zk1:
image: zookeeper:latest
hostname: zk1
container_name: zk1
ports:
- "2184:2181"
- "8081:8080"
environment:
ZOO_MY_ID: 1
ZOO_SERVERS: server.1=0.0.0.0:2888:3888;2181 server.2=zk2:2888:3888;2181 server.3=zk3:2888:3888;2181
volumes:
- ./zk1/data:/data
- ./zk1/datalog:/datalog
- /etc/localtime:/etc/localtime
networks:
- zk-net
zk2:
image: zookeeper:latest
hostname: zk2
container_name: zk2
ports:
- "2182:2181"
- "8082:8080"
environment:
ZOO_MY_ID: 2
ZOO_SERVERS: server.1=zk1:2888:3888;2181 server.2=0.0.0.0:2888:3888;2181 server.3=zk3:2888:3888;2181
volumes:
- ./zk2/data:/data
- ./zk2/datalog:/datalog
- /etc/localtime:/etc/localtime
networks:
- zk-net
zk3:
image: zookeeper:latest
hostname: zk3
container_name: zk3
ports:
- "2183:2181"
- "8083:8080"
environment:
ZOO_MY_ID: 3
ZOO_SERVERS: server.1=zk1:2888:3888;2181 server.2=zk2:2888:3888;2181 server.3=0.0.0.0:2888:3888;2181
volumes:
- ./zk3/data:/data
- ./zk3/datalog:/datalog
- /etc/localtime:/etc/localtime
networks:
- zk-net
# 给集群创建一个网络,名称自己随便定义,这里取名为 zk-net
networks:
zk-net:
driver: bridge
然后输入下面命令启动集群zookeeper集群
docker-compose up
下一步跳转到storm目录下
配置storm集群
cd /root/storm
这里千万要记得,提前编写storm.yaml文件内容如下,放在根目录下
storm.zookeeper.servers: [zk1,zk2,zk3]
nimbus.seeds: [nimbus1,nimbus2,nimbus3]
storm.log.dir: "/logs"
storm.local.dir: "/data"
编辑配置文件
vi docker-compose.yml
内容为
version: '3'
services:
nimbus1:
image: storm
restart: always
command: storm nimbus
container_name: nimbus1
environment:
STORM_ZOOKEEPER_SERVERS: "zk1:2181,zk2:2181,zk3:2181"
ports:
- "6627:6627"
networks:
- storm-network
- zookeeper-cluster_zk-net
volumes:
- /root/storm.yaml:/conf/storm.yaml
supervisor1:
image: storm
restart: always
command: storm supervisor
container_name: supervisor1
depends_on:
- nimbus1
environment:
STORM_ZOOKEEPER_SERVERS: "zk1:2181,zk2:2181,zk3:2181"
STORM_NIMBUS_HOST: "nimbus1"
links:
- nimbus1:nimbus1
ports:
- "6700:6700"
- "6701:6701"
- "6702:6702"
- "6703:6703"
- "8000:8000"
networks:
- storm-network
- zookeeper-cluster_zk-net
volumes:
- /root/storm.yaml:/conf/storm.yaml
ui1:
image: storm
restart: always
command: storm ui
container_name: ui1
depends_on:
- nimbus1
environment:
STORM_ZOOKEEPER_SERVERS: "zk1:2181,zk2:2181,zk3:2181"
STORM_NIMBUS_HOST: "nimbus1"
links:
- nimbus1:nimbus1
ports:
- "8088:8080"
networks:
- storm-network
- zookeeper-cluster_zk-net
volumes:
- /root/storm.yaml:/conf/storm.yaml
nimbus2:
image: storm
restart: always
command: storm nimbus
container_name: nimbus2
environment:
STORM_ZOOKEEPER_SERVERS: "zk1:2181,zk2:2181,zk3:2181"
STORM_NIMBUS_HOST: "nimbus1"
ports:
- "6628:6627"
networks:
- storm-network
- zookeeper-cluster_zk-net
volumes:
- /root/storm.yaml:/conf/storm.yaml
supervisor2:
image: storm
restart: always
command: storm supervisor
container_name: supervisor2
depends_on:
- nimbus2
environment:
STORM_ZOOKEEPER_SERVERS: "zk1:2181,zk2:2181,zk3:2181"
STORM_NIMBUS_HOST: "nimbus1"
links:
- nimbus2:nimbus2
ports:
- "6704:6700"
- "6705:6701"
- "6706:6702"
- "6707:6703"
- "8001:8000"
networks:
- storm-network
- zookeeper-cluster_zk-net
volumes:
- /root/storm.yaml:/conf/storm.yaml
nimbus3:
image: storm
restart: always
command: storm nimbus
container_name: nimbus3
environment:
STORM_ZOOKEEPER_SERVERS: "zk1:2181,zk2:2181,zk3:2181"
STORM_NIMBUS_HOST: "nimbus1"
ports:
- "6629:6627"
networks:
- storm-network
- zookeeper-cluster_zk-net
volumes:
- /root/storm.yaml:/conf/storm.yaml
supervisor3:
image: storm
restart: always
command: storm supervisor
container_name: supervisor3
depends_on:
- nimbus3
environment:
STORM_ZOOKEEPER_SERVERS: "zk1:2181,zk2:2181,zk3:2181"
STORM_NIMBUS_HOST: "nimbus1"
links:
- nimbus3:nimbus3
ports:
- "6708:6700"
- "6709:6701"
- "6710:6702"
- "6711:6703"
- "8002:8000"
networks:
- storm-network
- zookeeper-cluster_zk-net
volumes:
- /root/storm.yaml:/conf/storm.yaml
networks:
storm-network:
zookeeper-cluster_zk-net:
external: true
然后再输入命令docker-compose up 启动storm集群
然后访问页面192.168.74.110:8088,出现下面就成功了