分布式实时日志系统(一)环境搭建之 Jstorm 集群搭建过程/Jstorm集群一键安装部署
最近公司业务数据量越来越大,以前的基于消息队列的日志系统越来越难以满足目前的业务量,表现为消息积压,日志延迟,日志存储日期过短,所以,我们开始着手要重新设计这块,业界已经有了比较成熟的流程,即基于流式处理,采用 flume 收集日志,发送到 kafka 队列做缓冲,storm 分布式实时框架进行消费处理,短期数据落地到 hbase、mongo中,长期数据进入 hadoop 中存储。 接下来打算将这其间所遇到的问题、学习到的知识记录整理下,作为备忘,作为分享,带给需要的人。
淘宝开源了许多产品组件,其中包括这鼎鼎有名的 jstorm ,也就是我们采用的分布式实时处理框架,至于为什么,请看《为什么选择Jstorm》。这篇文章只介绍 Jstorm 整个集群的搭建过程,并提供一键安装部署脚本,方便其它使用的人员(搭建环境是一件头疼的事情,费时、费力)。
这是 Jstorm 的介绍PPT:(slideshare PPT 分享服务在大陆是被墙的,不能科学上网?查看使用shadowsocks服务享受自由网络学习方法)
Jstorm 官方搭建使用过程如连接https://github.com/alibaba/jstorm/wiki/%E5%A6%82%E4%BD%95%E5%AE%89%E8%A3%85 ,我整理了三个脚本:安装 Jstorm 集群,安装 jstorm_web_ui 监控页面,启动zookeeper、Jstorm集群进行测试。
一、整体环境说明
三个脚本是测试环境搭建使用的,三台机器:192.168.9.92、192.168.9.93、192.168.9.94
如果在其他机器上面使用,必须修改脚本中相应有ip的地方 ,脚本在文章最后提供,在 zip 文件夹里面有完整的一份,使用的时候直接使用zip文件夹即可。
二、搭建过程
将 zip 包解压到测试环境 /home/work 目录下,解压后,执行目录中的三个脚本,顺序执行,即可安装完毕。
2.1 搭建脚本如下
2.1.1 Jstorm 集群安装过程 :
1 |
#!/bin/bash # author: xirong |
2.1.2 Jstorm_web_ui 监控搭建 :
1 |
#!/bin/bash # author: xirong |
2.1.3 jstorm 集群启动 测试
1 |
#!/bin/bash # author: xirong |
监控页面如下(当然这只是官方例子,证明安装部署的ok):

2.2 安装注意
- java环境配置建议1.7以上
- 集群三台机器需要关闭防火墙,否则错误 “
java.net.NoRouteToHostException: 没有到主机的路由”
1 |
[root@master shirdrn]# service iptables stop |
三、jstorm 常用命令
- 启动 nimbus “nohup jstorm nimbus & “ 查看$JSTORM_HOME/logs/nimbus.log 检查错误日志
- 启动 supervisor “nohup jstorm supervisor &” 查看$JSTORM_HOME/logs/supervisor.log 检查有无错误
- 停止 “sh $JSTORM_HOME/bin/stop.sh”
完整命令列表同storm一样,包括jar、kill、activate、deactivate、rebalance、repl、classpath、localconfvalue、remoteconfvalue、nimbus、supervisor、ui、drpc等,详细见:https://github.com/techdocscn/storm/blob/master/source/documentation/Command-line-client.md
四、zookeeper 常用命令
zk 集群搭建过程:
常用命令:
- 启动ZK服务: sh bin/zkServer.sh start
- 查看ZK服务状态: sh bin/zkServer.sh status
- 停止ZK服务: sh bin/zkServer.sh stop
- 重启ZK服务: sh bin/zkServer.sh restart
或者连接到服务器 bin/zkCli.sh -server 127.0.0.1:2181 输入help 查看操作帮助
其它使用命令详细参考: http://www.wangyuxiong.com/archives/51725
学习资料:
Jstorm中使用zookeeper主要用于Storm集群各节点的分布式协调工作,具体功能如下:
(1)存储客户端提供的topology任务信息,nimbus负责将任务分配信息写入Zookeeper,supervisor从Zookeeper上读取任务分配信息;
(2)存储supervisor和worker的心跳(包括它们的状态),使得nimbus可以监控整个集群的状态, 从而重启一些挂掉的worker;
(3)存储整个集群的所有状态信息和配置信息。
具体目录结构参考:storm在ZooKeeper中的目录结构
五、jstorm.zip 包和脚本下载
在 zip 文件夹里面有完整的上述三个骄傲本,使用的时候直接下载zip文件夹即可,下载地址 : 百度网盘 ,密码:btcq
六、storm 学习资料
大圆那些事 http://www.cnblogs.com/panfeng412/tag/Storm/
徐明明 https://xumingming.sinaapp.com/category/storm/
常用的一些基本命令 http://my.oschina.net/infiniteSpace/blog/339193
jstorm通用介绍 http://luoshi0801.iteye.com/blog/2168848
简单之美个人博客 http://shiyanjun.cn/archives/1019.html
jstorm深入分析:http://hexiaoqiao.sinaapp.com/2014/06/jstorm%E4%BB%8B%E7%BB%8D/
介绍nimbus :http://hexiaoqiao.sinaapp.com/2014/06/jstorm%E4%B9%8Bnimbus%E7%AE%80%E4%BB%8B/
介绍 superviser :http://hexiaoqiao.sinaapp.com/2014/07/jstorm%E4%B9%8Bsupervisor%E7%AE%80%E4%BB%8B/
storm 入门教程(量子恒道官方博客) http://blog.linezing.com/?cat=92
原文http://www.ixirong.com/2015/05/12/how-to-install-jstorm-cluster/
分布式实时日志系统(一)环境搭建之 Jstorm 集群搭建过程/Jstorm集群一键安装部署的更多相关文章
- 分布式实时日志系统(四) 环境搭建之centos 6.4下hbase 1.0.1 分布式集群搭建
一.hbase简介 HBase是一个开源的非关系型分布式数据库(NoSQL),它参考了谷歌的BigTable建模,实现的编程语言为 Java.它是Apache软件基金会的Hadoop项目的一部分,运行 ...
- 分布式实时日志系统(二) 环境搭建之 flume 集群搭建/flume ng资料
最近公司业务数据量越来越大,以前的基于消息队列的日志系统越来越难以满足目前的业务量,表现为消息积压,日志延迟,日志存储日期过短,所以,我们开始着手要重新设计这块,业界已经有了比较成熟的流程,即基于流式 ...
- 布式实时日志系统(三) 环境搭建之centos 6.4下hadoop 2.5.2完全分布式集群搭建最全资料
最近公司业务数据量越来越大,以前的基于消息队列的日志系统越来越难以满足目前的业务量,表现为消息积压,日志延迟,日志存储日期过短,所以,我们开始着手要重新设计这块,业界已经有了比较成熟的流程,即基于流式 ...
- 转: 透过CAT,来看分布式实时监控系统的设计与实现
评注: 开源的分布式监控系统 转:http://www.infoq.com/cn/articles/distributed-real-time-monitoring-and-control-syste ...
- ELK实时日志分析平台环境部署--完整记录
在日常运维工作中,对于系统和业务日志的处理尤为重要.今天,在这里分享一下自己部署的ELK(+Redis)-开源实时日志分析平台的记录过程(仅依据本人的实际操作为例说明,如有误述,敬请指出)~ ==== ...
- 透过CAT,来看分布式实时监控系统的设计与实现
2011年底,我加入大众点评网,出于很偶然的机会,决定开发CAT,为各个业务线打造分布式实时监控系统,CAT的核心概念源自eBay闭源系统CAL----eBay的几大法宝之一. 在当今互联网时代,业务 ...
- ELK实时日志分析平台环境部署--完整记录(转)
在日常运维工作中,对于系统和业务日志的处理尤为重要.今天,在这里分享一下自己部署的ELK(+Redis)-开源实时日志分析平台的记录过程(仅依据本人的实际操作为例说明,如有误述,敬请指出)~ ==== ...
- ELK实时日志分析平台环境部署
为什么要用到ELK一般我们需要进行日志分析场景是:直接在日志文件中 grep.awk 就可以获得自己想要的信息.但在规模较大的场景中,此方法效率低下,面临问题包括日志量太大如何归档.文本搜索太慢怎么办 ...
- 分布式实时日志分析解决方案ELK部署架构
一.概述 ELK 已经成为目前最流行的集中式日志解决方案,它主要是由Beats.Logstash.Elasticsearch.Kibana等组件组成,来共同完成实时日志的收集,存储,展示等一站式的解决 ...
随机推荐
- com.panie 项目开发随笔_爬虫初识(2017.2.7)
(一) 本章打算研究一下爬虫.我想用爬虫简单的爬取几篇文章,以及收集一下常用网站的信息. (二) 以开源项目 JAVA爬虫 WebCollector 为源码研究.在此基础上改为适合自己项目的代码. ( ...
- spring cloud feign 上传文件报not a type supported by this encoder解决方案
上传文件调用外部服务报错: not a type supported by this encoder 查看SpringFormEncoder类的源码: public class SpringFormE ...
- RabbitMQ学习笔记(二):基础概念
前言 上一篇已经通过springboot对rabbitmq的简单封装实现了消息的发送和消费,虽然功能简单,但已经大概了解了它的使用方法.接下来陆续介绍RabbitMQ中的几个核心概念:Queue,Ex ...
- #AOS应用基础平台# 实现了在用户权限范围内自己定义的快捷菜单的导航展示
from=501" style="color:rgb(255,131,115); padding:0px; margin:0px; font-family:微软雅黑,Verdana ...
- ttl传输中过期
上renren时遇到一问题,突然间就无法登陆,看了下网络,正常呀,别的网站完全ok,就这不成,所以就ping了一下做以校验:如下图示:传输中过期ttl,这问题少见,新鲜呀:赶紧查了查:原来可能是产生了 ...
- ASP利用xhEditor编辑器实现图片上传的功能。
本人这几天在做一个软件,无意中用到xhEditor在线编辑器,这个编辑器虽然看着比较简单,但功能非常强大,大家可以去官网上查看,废话不说了. 这篇文件主要是实现在ASP环境中利用xhEditor编辑器 ...
- Mac OS X 下安装MySQL 5.7
下载安装包 官网下载安装包 选择相应的版本和格式,有 .dmg 和压缩包两种. 这里选择简单直接的 .dmg安装包,下载的时候可以将下载地址直接贴到迅雷,速度比较快. 安装 安装很简单,直接双击下好的 ...
- JS判断设备类型跳转至PC端或移动端相应页面
if((navigator.userAgent.match(/(phone|pad|pod|iPhone|iPod|ios|iPad|Android|Mobile|BlackBerry|IEMobil ...
- level 6 - unit3 -- 非限制性定语从句
非限制性定语从句 例子1 he has a son who is a fireman who 引导一个定语从句. who 是修饰前面的son. 翻译的意思:他有一个消防员的儿子 he has a so ...
- QT编译错误:cannot find file: *.pro
编译一个之前同事写的QT程序,结果出现了编译错误:cannot find file: *.pro 解决方法:将程序放在英文路径下 尽管出现一些红色的编译信息部门,但是最终还算是编译成功了~