Storm0.9.2 集群安装部署
需要的软件:
jdk1.8.0_162.tar.gz
apache-storm-0.9.2-incubating.tar.gz
Python-2.7.15.tgz
zookeeper-3.4.13.tar.gz
Storm0.9.2 集群安装部署
1. 部署环境准备
准备过程我已在Hadoop伪分布式安装的安装前准备里提到,可供参考。
2. 部署 Storm 集群
3个节点配置 hosts
vim /etc/hosts 末尾添加
192.168.5.240 storm01
192.168.5.241 storm02
192.168.5.242 storm03
配置完以后reboot重启机器,设置免秘钥登录,然后检查3台机器是否能ping通
2.1 搭建 Zookeeper 集群
搭建过程可参考Storm0.9.2 集群安装部署2——Zookeeper 集群安装
2.2 依赖软件安装
2.2.1 安装 JDK8
上传 jdk1.8.0_162.tar.gz 到 tools 目录,解压到 /softwares/java8/ 下
配置java环境
vim /etc/profile
加入下面这两行:
export JAVA_HOME=/home/softwares/java8
export PATH=$PATH:$JAVA_HOME/bin
刷新配置文件
source /etc/profile
查看java是否安装成功
java -vesion
2.2.2 安装 Python 2.7.15
安装过程请参考
Storm0.9.2 集群安装部署1——Centos6.5的默认python2.6.6版本升级到python2.7.15
2.3 安装 Storm 集群
2.3.1 上传apache-storm-0.9.2-incubating.tar.gz 解压到softwares
tar -zxf apache-storm-0.9.2-incubating.tar.gz -C ../softwares/
2.3.2 进入apache-storm-0.9.2-incubating,建立存储状态的文件夹 status
cd apache-storm-0.9.2-incubating
mkdir status
2.3.3 获取status目录路径
[root@storm01 status]# pwd
/home/softwares/apache-storm-0.9.2-incubating/status
2.3.4 修改 storm.yaml 配置文件
[root@storm03 apache-storm-0.9.2-incubating]# cd conf
[root@storm03 conf]# ls
storm_env.ini storm.yaml
[root@storm03 conf]# vim storm.yaml
storm.zookeeper.servers: Storm 集群使用的 Zookeeper 集群地址。 storm.local.dir: Nimbus 和 Supervisor 进程用于存储少量状态,如 jars、confs 等的本地磁盘目 录,需要提前创建该目录并给以足够的访问权限。然后在 storm.yaml 中配置该目录。 nimbus.host: Storm 集群 Nimbus 机器地址,各个 Supervisor 工作节点需要知道哪个机器是 Nimbus,以便下载 Topologies 的 jars、confs 等文件。 supervisor.slots.ports: 对于每个Supervisor工作节点,需要配置该工作节点可以运行的worker 数量。每个 worker 占用一个单独的端口用于接收消息,该配置选项即用于定义哪些端口是 可被 worker 使用的。默认情况下,每个节点上可运行 4 个 workers,分别在 6700、6701、 6702 和 6703 端口。
2.3.5 进入子目录,并且配置环境变量,更新配置
vim /etc/profile
加入:
export STORM_HOME=/home/softwares/apache-storm-0.9.2-incubating
export PATH=$PATH:$STORM_HOME/bin
source /etc/profile
2.4 启动 Storm 各后台进程
2.4.1 先确认zookeeper进程已启动
2.4.2 在 Storm 主控节点上运行:storm nimbus >/dev/null 2>&1 &
2.4.3 在 Storm 主控节点上运行:storm ui >/dev/null 2>&1 &
2.4.4 在 Storm 工作节点上运行:storm supervisor >/dev/null 2>&1 &
第四步执行后,可以通过 http://{nimbus host}:8080观察集群的 worker 资源使用情况、 Topologies 的运行状态等信息。
列出 Storm Topology:storm list
停止 Storm Topology:storm kill {topologyname}
提交 Storm Topology:storm jar mycode.jar storm.MyTopology arg1 arg2 … mycode.jar:包含 Topology 实现代码的 jar 包
storm.MyTopology:main 方法的入口,即 main 方法所在类名
arg1、arg2 等为 main 方法参数
查看进程是否启动
jps
使用监控页面查看状态
http://192.168.5.240:8080