storm集群搭建

版本和集群环境html

storm版本:0.10.0python

集群环境:两台虚拟机apache

环境基础:jdk-1.7.0_65  python-2.7.8  zookeeper-3.4.5浏览器

Step 1:下载storm服务器

到官网上(http://storm.apache.org/downloads.html)下载稳定版本的storm,解压测试

tar -zxvf apache-storm-0.10.0.tar.gzui

Step 2:配置环境变量spa

vi /etc/profile
export STORM_HOME=/usr/local/apache-storm-0.10.0
export PATH=.:$STORM_HOME/bin:$PATH日志

 Step 3:修改storm.yaml配置文件orm

Storm发行版本解压目录下有一个conf/storm.yaml文件,用于配置Storm。默认配置在这里能够查看。conf/storm.yaml中的配置选项将覆盖defaults.yaml中的默认配置。如下配置选项是必须在conf/storm.yaml中进行配置的:
1) storm.zookeeper.servers: Storm集群使用的Zookeeper集群地址,其格式以下:

个人配置为: 
storm.zookeeper.servers:
    - “master"
    - “slave1"
    -   "slave2"
若是Zookeeper集群使用的不是默认端口,那么还须要storm.zookeeper.port选项。
2) storm.local.dir: Nimbus和Supervisor进程用于存储少许状态,如jars、confs等的本地磁盘目录,须要提早建立该目录并给以足够的访问权限。而后在storm.yaml中配置该目录,如:mkdir -p /usr/local/apache-storm-0.10.0/data
storm.local.dir: "/usr/local/apache-storm-0.10.0/data"   
注:须要首先建立data目录 
3) nimbus.host: Storm集群Nimbus机器地址,各个Supervisor工做节点须要知道哪一个机器是Nimbus,以便下载Topologies的jars、confs等文件,如: 
个人配置:
nimbus.host: "master"
4) supervisor.slots.ports: 对于每一个Supervisor工做节点,须要配置该工做节点能够运行的worker数量。每一个worker占用一个单独的端口用于接收消息,该配置选项即用于定义哪些端口是可被worker使用的。默认状况下,每一个节点上可运行4个workers,分别在6700、670一、6702和6703端口,如:
supervisor.slots.ports:   
    - 6700   
    - 6701   
    - 6702    
    - 6703 

5) ui.port: storm的ui界面

ui.port: 8081(默认为8080)

 

注意每行格式统一,冒号后面有一个空格,正确配置项颜色会变色,若是是白色则代表配置不对

Step 4:将storm目录分发到其余服务器

scp -r apache-storm-0.10.0 slave1:~

而后在移动到相应目录下

Step 5:启动storm各个后台进程

先启动zookeeper;

Nimbus: 在Storm主控节点上运行 "storm nimbus &" 启动Nimbus后台程序,并放到后台执行;
Supervisor: 在Storm各个工做节点上运行" storm supervisor &"启动Supervisor后台程序,并放到后台执行;
UI: 在Storm主控节点上运行 "storm ui &" 启动UI后台程序,并放到后台执行,启动后能够经过http://192.168.8.94:8080/index.html观察集群的worker资源使用状况、Topologies的运行状态等信息。

每次启动进程的时候得等一会才会彻底启动,彻底启动后界面会出现以下图,而后enter键就能够了

最后jps查看后台进程

 

注意事项:
Storm后台进程被启动后,将在Storm安装部署目录下的logs/子目录下生成各个进程的日志文件。
经测试,Storm UI必须和Storm Nimbus部署在同一台机器上,不然UI没法正常工做,由于UI进程会检查本机是否存在Nimbus连接。
至此,Storm集群已经部署、配置完毕,能够向集群提交拓扑运行了。我在master和slave1机器上分别启动了一个supervisor,这是ui上显示supervisor是两个,当我杀掉一个时,ui显示1个,当我再从新启动时,ui又显示两个。
这时再打开浏览器http://master:8081/index.html,能够看到咱们刚才提产的代码已经在集群中显示了。

相关文章
相关标签/搜索