Strom集群安裝,Python安裝,Strom配置,Strom常用命令

来源:互联网 发布:知乎最好用的版本 编辑:程序博客网 时间:2024/06/08 09:39

一.集群安装说明

1、storm安装依赖Python,所以在安装前请确保Python已经安装成功了
2、在安装前要保证hadoop1,hadoop2,hadoop3之间能够互相两两之间ssh免登陆。
3、安装好JDK
4、安转好Zookeeper集群

1 ssh免登陆配置:

分别在hadoop1,hadoop2,hadoop3上执行:
ssh-keygen -t rsa

命令 ssh-copy-id hadoop1 ssh-copy-id hadoop2 ssh-copy-id hadoop3 ssh-copy-id hadoop4 ssh-copy-id hadoop5

2 安装Python(注:hadoop1,hadoop2,hadoop3上都要安装)

[root@hadoop1 software]# wget http://www.python.org/ftp/python/2.6.6/Python-2.6.6.tar.bz2[root@hadoop1 software]# tar -jxvf Python-2.6.6.tar.bz2[root@hadoop1 software]# cd Python-2.6.6[root@hadoop1 software]# ./configure[root@hadoop1 software]# make[root@hadoop1 software]# make install

测试Python,检查是否已经安装好了

[root@hadoop1 Python-2.6.6]# python -VPython 2.6.6

出现上面的现象表示已经安装成功了。

3.安装jdk

4.安装zookeeper集群

http://blog.csdn.net/tototuzuoquan/article/details/54003140

二、安装storm

2.1、下载安装包

wget    http://mirrors.tuna.tsinghua.edu.cn/apache/storm/apache-storm-1.1.0/apache-storm-1.1.0.tar.gz

2.2、解压安装包

[root@hadoop1 software]# mkdir -p /home/tuzq/software/stormInstallPath/servers[root@hadoop1 software]# pwd/home/tuzq/software[root@hadoop1 software]# mkdir -p /home/tuzq/software/stormInstallPath/servers[root@hadoop1 software]# tar -zxvf apache-storm-1.1.0.tar.gz -C /home/tuzq/software/stormInstallPath/servers/[root@hadoop1 software]# cd /home/tuzq/software/stormInstallPath/servers/

2.3、修改storm.yaml配置文件

[root@hadoop1 servers]# mv /home/tuzq/software/stormInstallPath/servers/apache-storm-1.1.0/conf/storm.yaml /home/tuzq/software/stormInstallPath/servers/apache-storm-1.1.0/conf/storm.yaml.bak[root@hadoop1 servers]# vim /home/tuzq/software/stormInstallPath/servers/apache-storm-1.1.0/storm.yaml

输入以下内容:

#指定strom使用的zk集群,如果Zookeeper集群使用的不是默认端口,那么还需要storm.zookeeper.port选项storm.zookeeper.servers:      - "hadoop11"     - "hadoop12"     - "hadoop13" #strom.local.dir : Nimbus和Supervisor进程用于存储少量状态,如jars、confs等的本地磁盘目录,需要提前创建该目录并给以足够的访问权限。然后在storm.yaml中配置目录,如:storm.local.dir: "/home/tuzq/software/stormInstallPath/workdir" #指定storm集群中的nimbus节点所在的服务器nimbus.host: "hadoop1" #指定nimbus启动JVM最大可用内存大小nimbus.childopts: "-Xmx1024m" #指定supervisor启动JVM最大可用内存大小supervisor.childopts: "-Xmx1024m" #指定supervisor节点上,每个worker启动JVM最大可用内存大小worker.childopts: "-Xmx768m" #指定ui启动JVM最大可用内存大小,ui服务一般与nimbus同在一个节点上。ui.childopts: "-Xmx768m" #指定supervisor节点上,启动worker时对应的端口号,每个端口对应槽,每个槽位对应一个worker,对于Supervisor工作节点,需要配置该工作节点可以运行的worker数量。每个worker占用一个单独的端口用于接收消息,该配置选线即用于接收消息,该配置选项用于定义哪些端口是可以被worker使用的。默认情况下每个节点下可以运行4个workers,分别在6700,6701,6702,6703端口,如:supervisor.slots.ports:      - 6700     - 6701     - 6702     - 6703 

注意:

上面的配置一定注意在每一项的开始时要加空格,冒号后也要加空格,否则storm就不认识这个配置文件。即:

这里写图片描述

2.4、分发安装包

在hadoop1上执行:

[root@hadoop1 software]# pwd/home/tuzq/software[root@hadoop1 software]# scp -r stormInstallPath root@hadoop2:$PWD

配置strom的环境变量(hadoop1,hadoop2,hadoop3这几台服务器都要相应的修改)

[root@hadoop1 software]# vim /etc/profile#set storm envexport STORM_HOME=/home/tuzq/software/stormInstallPath/servers/apache-storm-1.1.0export PATH=$PATH:$STORM_HOME/bin[root@hadoop1 software]# source /etc/profile

2.5、启动集群

 在nimbus.host所属的机器上(hadoop1)启动 nimbus服务.
以下是启动Storm各个后台进程的方式:

Nimbus: 在Storm主控节点(hadoop1)上运行”bin/storm nimbus >/dev/null 2>&1 &”启动Nimbus后台程序,并放到后台执行;

Supervisor: 在Storm各个工作节点(hadoop2,hadoop3)上运行”bin/storm supervisor >/dev/null 2>&1 &”启动Supervisor后台程序,并放到后台执行;

UI: 在Storm主控节点(hadoop1)上运行”bin/storm ui >/dev/null 2>&1 &”启动UI后台程序,并放到后台执行,启动后可以通过http://{nimbus host}:8080观察集群的worker资源使用情况、Topologies的运行状态等信息。

当访问http://hadoop1:8080/index.html时,效果如下:
这里写图片描述

注意事项:

启动Storm后台进程时,需要对conf/storm.yaml配置文件中设置的storm.local.dir目录具有写权限。  Storm后台进程被启动后,将在Storm安装部署目录下的logs/子目录下生成各个进程的日志文件。  为了方便使用,可以将bin/storm加入到系统环境变量中。

至此,Storm集群已经部署、配置完毕,可以向集群提交拓扑运行了。

2.5.2启动集群的第二种方式

cd $STORM_HOME/bin/nohup ./storm nimbus &

 在nimbus.host所属的机器上启动ui服务

cd $STORM_HOME/bin/nohup ./storm ui &

 在其它个点击上启动supervisor服务

cd $STORM_HOME/bin/nohup ./storm supervisor &

2.6、查看集群

访问nimbus.host:/8080,即可看到storm的ui界面。

2.7、Storm常用操作命令

有许多简单且有用的命令可以用来管理拓扑,它们可以提交、杀死、禁用、再平衡拓扑。
 提交任务命令格式:storm jar 【jar路径】 【拓扑包名.拓扑类名】 【拓扑名称】

bin/storm jar examples/storm-starter/storm-starter-topologies-0.10.0.jar storm.starter.WordCountTopology wordcount

 杀死任务命令格式:storm kill 【拓扑名称】 -w 10(执行kill命令时可以通过-w [等待秒数]指定拓扑停用以后的等待时间)

storm kill topology-name -w 10

 停用任务命令格式:storm deactivte 【拓扑名称】

storm deactivte topology-name

我们能够挂起或停用运行中的拓扑。当停用拓扑时,所有已分发的元组都会得到处理,但是spouts的nextTuple方法不会被调用。销毁一个拓扑,可以使用kill命令。它会以一种安全的方式销毁一个拓扑,首先停用拓扑,在等待拓扑消息的时间段内允许拓扑完成当前的数据流。
 启用任务命令格式:storm activate【拓扑名称】

storm activate topology-name

 重新部署任务命令格式:storm rebalance 【拓扑名称】

storm rebalance topology-name

再平衡使你重分配集群任务。这是个很强大的命令。比如,你向一个运行中的集群增加了节点。再平衡命令将会停用拓扑,然后在相应超时时间之后重分配worker,并重启拓扑。

原创粉丝点击