Storm安装部署手册
本文将指导您如何在Docker环境中进行Storm的安装和部署。
1、配置网络
首先,需要创建一个名为zk-net
的Docker网络。执行以下命令:
docker network create zk-net
2、创建相关文件目录
接下来,需要创建一些相关的文件目录。执行以下命令:
# 创建zookeeper集群目录
cd /data/docker/datas
mkdir -p zookeeper/zk1/data
mkdir -p zookeeper/zk1/log
mkdir -p zookeeper/zk2/data
mkdir -p zookeeper/zk2/log
mkdir -p zookeeper/zk3/data
mkdir -p zookeeper/zk3/log
# 创建storm相关目录
mkdir storm/conf
mkdir storm/data/super1
mkdir storm/data/super2
mkdir storm/data/super3
mkdir storm/logs/super1
mkdir storm/logs/super2
mkdir storm/logs/super3
3、创建相关配置文件
接下来,需要创建一些相关的配置文件。执行以下命令:
创建zookeeper相关配置文件
cd $DOCKER_HOME/datas/zookeeper
vim zk1/zoo.cfg
将以下内容复制到zoo.cfg
文件中:
dataDir=/data
clientPort=2181
dataLogDir=/datalog
tickTime=2000
initLimit=5
syncLimit=2
autopurge.snapRetainCount=3
autopurge.purgeInterval=0
maxClientCnxns=60
server.100=zk1:2888:3888
server.200=zk2:2888:3888
server.300=zk3:2888:3888
然后,将配置文件复制到其他目录:
cp zk1/zoo.cfg zk2/
cp zk1/zoo.cfg zk3/
创建storm相关配置文件
cd $DOCKER_HOME/datas/storm
vim conf/storm.yaml
将以下内容复制到storm.yaml
文件中:
storm.zookeeper.servers:
- "zk1"
- "zk2"
- "zk3"
storm.log.dir: "/logs"
storm.local.dir: "/data"
nimbus.seeds: ["nimbus"]
supervisor.slots.ports:
- 6700
- 6701
- 6702
- 6703
4、配置docker-compose启动文件
接下来,需要配置docker-compose
启动文件。执行以下命令:
cd $DOCKER_HOME/datas/storm
vim storm.yml
将以下内容复制到storm.yml
文件中:
version: '3'
services:
zk1:
image: zookeeper
restart: always
container_name: zk1
hostname: zk1
volumes:
- /data/docker/datas/zookeeper/zk1/data:/data
- /data/docker/datas/zookeeper/zk1/log:/datalog
- /data/docker/datas/zookeeper/zk1/zoo.cfg:/conf/zoo.cfg
environment:
- SERVER_ID=100
zk2:
image: zookeeper
restart: always
container_name: zk2
hostname: zk2
volumes:
- /data/docker/datas/zookeeper/zk2/data:/data
- /data/docker/datas/zookeeper/zk2/log:/datalog
- /data/docker/datas/zookeeper/zk2/zoo.cfg:/conf/zoo.cfg
environment:
- SERVER_ID=200
zk3:
image: zookeeper
restart: always
container_name: zk3
hostname: zk3
volumes:
- /data/docker/datas/zookeeper/zk3/data:/data
- /data/docker/datas/zookeeper/zk3/log:/datalog
- /data/docker/datas/zookeeper/zk3/zoo.cfg:/conf/zoo.cfg
environment:
- SERVER_ID=300
ui:
image: storm
command: storm ui
restart: always
container_name: ui
ports:
- 6680:8080
volumes:
- /data/docker/datas/storm/data:/data
- /data/docker/datas/storm/logs:/logs
- /data/docker/datas/storm/conf/storm.yaml:/conf/storm.yaml
depends_on:
- zk1
- zk2
- zk3
- nimbus
nimbus:
image: storm
command: storm nimbus
restart: always
container_name: nimbus
hostname: nimbus
ports:
- 6627:6627
depends_on:
- zk1
- zk2
- zk3
volumes:
- /data/docker/datas/storm/data:/data
- /data/docker/datas/storm/logs:/logs
- /data/docker/datas/storm/conf/storm.yaml:/conf/storm.yaml
supervisor1:
image: storm
command: storm supervisor
restart: always
environment:
- affinity:role!=supervisor
- supervisor.slots.ports=[6700,6701,6702,6703]
depends_on:
- zk1
- zk2
- zk3
- nimbus
volumes:
- /data/docker/datas/storm/data/super1:/data
- /data/docker/datas/storm/logs/super1:/logs
- /data/docker/datas/storm/conf/storm.yaml:/conf/storm.yaml
supervisor2:
image: storm
command: storm supervisor
restart: always
environment:
- affinity:role!=supervisor
- supervisor.slots.ports=[6700,6701,6702,6703]
depends_on:
- zk1
- zk2
- zk3
- nimbus
volumes:
- /data/docker/datas/storm/data/super2:/data
- /data/docker/datas/storm/logs/super2:/logs
- /data/docker/datas/storm/conf/storm.yaml:/conf/storm.yaml
supervisor3:
image: storm
command: storm supervisor
restart: always
environment:
- affinity:role!=supervisor
- supervisor.slots.ports=[6700,6701,6702,6703]
depends_on:
- zk1
- zk2
- zk3
- nimbus
volumes:
- /data/docker/datas/storm/data/super3:/data
- /data/docker/datas/storm/logs/super3:/logs
- /data/docker/datas/storm/conf/storm.yaml:/conf/storm.yaml
networks:
default:
external:
name: zk-net
5、创建系统变量引用
为了方便引用相关的路径信息,可以将其作为系统变量。执行以下命令:
vim /etc/profile
在文件末尾添加以下内容:
export ZOOKEEPER_HOME=/data/docker/datas/zookeeper
export STORM_HOME=/data/docker/datas/storm
source /etc/profile
保存并退出文件。
6、使用docker-compose启动镜像
最后,使用docker-compose
命令启动镜像。执行以下命令:
docker-compose -f $STORM_HOME/storm.yml up -d
7、修改ZooKeeper myid文件,表明服务id
停止相关容器,在$ZOOKEEPER_HOME
目录下找到zk1/data/myid
文件,并将其中的内容修改为100
。
然后,分别修改zk2/data/myid
和zk3/data/myid
文件的内容为200
和300
。
保存文件后,重新启动服务:
docker-compose -f $STORM_HOME/storm.yml up -d
至此,Storm的安装和部署已完成。
8、查看是否启动成功
- 浏览器输入相关网址 http://服务器IP:6680/
打开界面入下:
注意:以上操作基于Docker环境,确保已正确安装并配置好Docker。