三台装好RHEL6.7_x64的x86服务器,机器名如下
storm01
storm02
storm03
2、 软件
jdk-7u80-linux-x64.rpm
apache-storm-1.0.1.zip
3、 zookeeper
storm需用到zookeeper,开始安装前先安装好zookeeper,参照zookeeper集群部署手册
4、 Python
storm需用到python,一般Linux都有python,这里需要python 2.6.6,如没有或版本不对请先安装。安装方法可上网查找。
可用以下命令查python版本
#python
二、 安装JDK(root用户执行) 三、 创建用户(root用户执行)1、 执行以下命令创建用户
useradd -d /home/stadmin -m stadmin
四、 创建目录(root用户执行)执行以下命令
mkdir -p /data01/software/apache-storm-1.0.1
mkdir -p /data01/software/apache-storm-1.0.1/topology
mkdir -p /data01/software/apache-storm-1.0.1/wkdir
mkdir -p /data01/software/apache-storm-1.0.1/logs
mkdir -p /data01/software/apache-storm-1.0.1/logs/workers-artifacts
五、 拷贝安装介质并设置权限(root用户执行)1、 将storm的安装介质解压后用ftp拷贝到/data01/software/apache-storm-1.0.1
2、 将要运行的Topology用ftp拷贝到/data01/software/apache-storm-1.0.1/topology
3、 修改hosts映射:vi /etc/hosts。将“127.0.0.1 hostname”
改成“业务ip hostname”,每台机器都要修改
4、 修改配置文件/data01/software/apache-storm-1.0.1/conf/storm.yaml,将红色字体改成实际值。
storm.zookeeper.servers:
- "zookeeper01"
- "zookeeper02"
- "zookeeper03"
nimbus.seeds: ["storm01","storm02","storm03"]
storm.local.dir: "/data01/software/apache-storm-1.0.1/wkdir"
storm.workers.artifacts.dir: "/data01/software/apache-storm-1.0.1/logs/workers-artifacts"
supervisor.slots.ports:
- 6700
- 6701
- 6702
- 6703
supervisor.slots.ports为每台机器上运行的worker,数量决定了每台机器上可运行的worker数,可根据机器的逻辑CPU数来定。
5、 执行以下命令
chown -R stadmin:stadmin /data01/software/apache-storm-1.0.1
chmod -R u=rwx /data01/software/apache-storm-1.0.1
chmod -R u=rwx /data01/software/apache-storm-1.0.1/logs
chmod -R u=rwx /data01/software/apache-storm-1.0.1/wkdir
六、 运行storm(stadmin用户执行)1、 执行以下命令
su - stadmin
cd /data01/software/apache-storm-1.0.1
bin/storm nimbus &
bin/storm supervisor &
bin/storm ui &
2、 执行完成后可在浏览器中输入以下网址查看是否安装成功
:8080/
七、 部署Topology(stadmin用户执行)1、 执行以下命令,将红色字体改成实际值。
#bin/storm jar topology/xxx-1.0-SNAPSHOT-executable.jar xxx.StormTopology xxxTopology
2、 执行完成后可在浏览器中输入以下网址查看是否安装成功
:8080/
八、 停止storm(stadmin用户执行)1、 执行以下命令停止topology,将红色字体改成实际值。
su - stadmin
cd /data01/software/apache-storm-1.0.1
bin/storm kill xxxTopology
2、 执行以下命令停止storm
1) 执行以下命令查出所有storm的进程
#ps -ef | grep storm
2) 逐个执行以下命令结束
#kill -s TERM 进程号