设为首页 收藏本站
查看: 710|回复: 0

[经验分享] Apache Storm 集群环境搭建

[复制链接]

尚未签到

发表于 2018-11-21 13:58:25 | 显示全部楼层 |阅读模式
  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,日志输出和自动清理规则~



    •   本文来自:Linux教程网



运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-637866-1-1.html 上篇帖子: apache与tomcat连接 下篇帖子: 图解win2003下apache+php+mysql+phpmyadmin+Zend Optimizer 转1
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表