Apache Storm 集群环境搭建

Apache storm 是一个由twitter开源的大数据处理系统,与其他系统不同的是,storm旨在用于分布式实时处理并且与语言无关。笔者所认知的storm使用场景诸 如 实时日志分析、网站用户行为实时分析、实时计算等,目前很多公司也都把storm作为自己的大数据架构的一部分,来实现一些实时业务的处理。

相信大家都和我有一样的认知,那就是现在的技术都是项目驱动模式,没有最好的技术,只有最适合自己项目的技术。下面先跟大家分享一下我对storm的一些简单了解:

storm的优点

1.简单的编程模型,类似于MapReduce降低了并行批处理的复杂性,storm降低了进行实时处理的复杂性。

2.支持各种语言,你可以在storm上使用Java、Ruby、Clojure和Python,如果想增加一个新的语言支持,你只需要实现一个简单的storm通信协议即可。

3.容错性,storm会管理工作进程和节点的故障。

4.水平拓展,计算是在多个线程,进程和服务器之间并行进行的。

5.可靠的消息处理,storm保证每个消息至少得到一次完整的处理,任务失败时,storm会尝试从消息源重新发射。

6.快速,系统的设计保证了消息能够快得到快速处理,storm使用的ZeroMQ作为其底层的消息队列。

7.本地模式,这个对开发者来说无疑是方便了很多,可以在本地模拟集群环境进行开发和测试。

storm目前存在的问题:

1.目前的开源版本中只有单节点的Nimbus,挂掉之后只能自动去重启,对系统来说有一定的风险,可以考虑双节点nimbus布局。

2.Storm的一部分核心代码是由Clojure编写,clojure是一个在JVM上运行的动态函数式编程语言,优势在于流程计算,虽然性能上提高不少但是同时也提升了维护成本。

介绍说了一大堆,下面就简单的搭建一个storm的集群环境:

准备环境: 至少三台Linux server(笔者用了5台 cloud server for linux redhat edition)

 

集群搭建:

第一步:安装JDK/JRE

第二步:安装 zookeeper ,可以参考我的另一篇博文:

http://bigcat2013.iteye.com/blog/2175538

第三步:下载apache storm : http://apache.arvixe.com/storm/

之前的项目用过0.9.1版的,现在由于需要用到kafka,所以选择了最新版0.9.3

第四步: 把下载好的压缩包上传到服务器(可以通过WinSCP等)

第五步:使用"tar -xzvf  apache-storm-0.9.3.tar.gz" 解压压缩包

解压后的目录结构:

 
第六步:修改storm配置文件(/conf/storm.yaml)

基本的需要配置 storm.zookeeper.servers、nimbus.host、storm.local.dir、ui.port、 supervisor.slots.ports几个属性,这里需要注意的是nimbus不需要配置supervisor.slots.ports属 性,supervisor不需要配置ui.port属性,因为nimbus是主节点,有ui没有worker,supervisor是工作节点,没有ui 只有worker:

common:

nimbus:

supervisor(每个supervisor的worker数目可以通过增减slots的数量调整):

注:配置信息不要顶格写,不然启动的时候会报错找不到属性值。

第七步:通过”scp -r“把配置好的storm目录copy到其他的server上(注:如果你当前的server配置为nimbus,其他的server就都按照上述的supervisor配置方法配置storm.yaml)


 
第八步:在集群的服务器上分别创建storm的本地目录(对应storm.yaml中的storm.local.dir配置)

第九步:启动zookeeper集群,然后启动storm集群

启动storm nimbus : sudo nohup ./bin/storm nimbus > /dev/null &

启动storm UI :sudo nohup ./bin/storm ui > /dev/null &
启动supervisor: sudo nohup ./bin/storm supervisor > /dev/null &

通过配置的nimbus地址+ui.port的属性值可以访问storm的UI,监测storm的运行状态。

按照上述简单的配置之后,storm集群就可以搭建起来了,读者可以根据自己的项目需要做额外的配置,另外可以在/logback/cluster.xml中配置log4j,日志输出和自动清理规则~

时间: 2024-08-02 12:49:11

Apache Storm 集群环境搭建的相关文章

一:Storm集群环境搭建

第一:storm集群环境准备及部署[1]硬件环境准备--->机器数量>=3--->网卡>=1--->内存:尽可能大--->硬盘:无额外需求[2]软件环境准备--->CentOS-6.0-x86_64系统环境--->三台地址--->zookeeper和storm公用物理环境 第二:节点环境查看 第三:节点之间用ip-->别名绑定/etc/hosts,然后用ping 别名 进行测试 第四:zookeeper集群环境搭建第五:Storm集群环境搭建[1

Storm 系列(四)—— Storm 集群环境搭建

一.集群规划 这里搭建一个 3 节点的 Storm 集群:三台主机上均部署 Supervisor 和 LogViewer 服务.同时为了保证高可用,除了在 hadoop001 上部署主 Nimbus 服务外,还在 hadoop002 上部署备用的 Nimbus 服务.Nimbus 服务由 Zookeeper 集群进行协调管理,如果主 Nimbus 不可用,则备用 Nimbus 会成为新的主 Nimbus. 二.前置条件 Storm 运行依赖于 Java 7+ 和 Python 2.6.6 +,所

Storm集群环境搭建

安装Storm之前,需要先安装好Java与ZooKeeper,Java与ZooKeeper的安装此处不做过多讲解,Storm的安装步骤如下: 1.下载Storm 要在您的计算机上安装Storm框架,请访问以下链接并下载最新版本的Storm http://storm.apache.org/downloads.html,此处使用的Storm版本为1.1.0. 2.上传解压Storm 将下载的apache-storm-1.1.0.tar.gz上传到centos01节点的/opt/softwares目录

大数据 -- Hadoop集群环境搭建

首先我们来认识一下HDFS, HDFS(Hadoop Distributed File System )Hadoop分布式文件系统.它其实是将一个大文件分成若干块保存在不同服务器的多个节点中.通过联网让用户感觉像是在本地一样查看文件,为了降低文件丢失造成的错误,它会为每个小文件复制多个副本(默认为三个),以此来实现多机器上的多用户分享文件和存储空间. Hadoop主要包含三个模块: HDFS模块:HDFS负责大数据的存储,通过将大文件分块后进行分布式存储方式,突破了服务器硬盘大小的限制,解决了单

Nginx1.7.4+Tomcat7+memcached集群环境搭建

这几天研究了一下Nginx和tomcat的集群环境搭建,同时支持HTTP请求和HTTPS请求,研究了一下,整理一下,分享给大家.还是有很多不足的地方,大家发现问题,希望多多指正.话不多说,上代码~ 因为研究的条件有限,我是在本机上搭建两个Tomcat进行模拟的. 一.环境准备 1.Tomcat7:http://tomcat.apache.org/download-70.cgi 2.Nginx1.7.4:http://nginx.org/en/download.html 3.Memcached:h

[转]ZooKeeper 集群环境搭建 (本机3个节点)

ZooKeeper 集群环境搭建 (本机3个节点) 是一个简单的分布式同步数据库(或者是小文件系统) --------------------------------------------------------1.建立目录server1server1/dataDirserver1/dataLogDirserver1/logsserver1/zookeeper3.4.6 server2server2/dataDirserver2/dataLogDirserver2/logsserver2/zo

solr集群环境搭建

Solr集群环境搭建 一.     准备 1.     下载: solr-4.4.0.zip   solr安装包 apache-tomcat-7.0.47.tar.gz  tomcat安装包 2.     说明: 其中集群环境采用nginx做分发(也可以使用apache),nginx的安装这里不再介绍.我们共有四台机器,分别如下 10.10.42.164 10.10.42.165 10.10.42.166 10.10.42.167 其中10.10.42.164作为主节点安装nginx,solr

ZooKeeper伪集群环境搭建

1.从官网下载程序包. 2.解压. [[email protected] software]$ tar xzvf zookeeper-3.4.6.tar.gz 3.进入zookeeper目录后创建data目录. [[email protected] software]$ cd zookeeper-3.4.6 [[email protected] software]$ mkdir data [[email protected] software]$ cd data [[email protecte

Hadoop+Spark:集群环境搭建

环境准备: 在虚拟机下,大家三台Linux ubuntu 14.04 server x64 系统(下载地址:http://releases.ubuntu.com/14.04.2/ubuntu-14.04.2-server-amd64.iso): 192.168.1.200 master 192.168.1.201 node1 192.168.1.202 node2 在Master上安装Spark环境: 具体请参考我的文章:<Hadoop:搭建hadoop集群> Spark集群环境搭建: 搭建h