分布式实时日志系统(一)环境搭建之 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等组件组成,来共同完成实时日志的收集,存储,展示等一站式的解决 ...
随机推荐
- 深入理解Java对象序列化
关于Java序列化的文章早已是汗牛充栋了,本文是对我个人过往学习,理解及应用Java序列化的一个总结.此文内容涉及Java序列化的基本原理,以及多种方法对序列化形式进行定制.在撰写本文时,既参考了Th ...
- server2008,本机可以登录ftp,其他机器登录不了解决办法。肯定是防火墙的问题
转自http://kkworms.blog.51cto.com/540865/558477 今天在windows server 2008 R2上安装了FTP,安装过程如下,然后添加内置防火墙设置,设置 ...
- winform中文本框,软键盘跟随
private void textBox1_Click(object sender, EventArgs e) { //Control.MousePosition Point p = System.W ...
- ubuntu16.04 桌面图标左侧,右侧,底部进行切换
转载:https://jingyan.baidu.com/article/e52e36154e6af340c60c518c.html 传统的 Unity 桌面环境,其应用程序启动器的容器——Launc ...
- linux下配置SS5(SOCK5)代理服务
安装sock5所需依赖开发库: # yum install pam-devel openldap-devel openssl-devel 下载并解压安装sock5 # wget http://down ...
- UFLDL教程练习(exercise)答案(2)
主成分分析与白化,这部分很简单,当然,其实是用Matlab比较简单,要是自己写SVD分解算法,足够研究好几个月的了.下面是我自己实现的练习答案,不保证完全正确,不过结果和网站上面给出的基本一致. 1. ...
- asp.net导出EXCEL的好方法!(好用,导出全部数据)
1.调用方法: ExportExcel("application/ms-excel", "EXCEL名称.xls", GridView1, this.Page) ...
- angular.extend深拷贝(deep copy)
在用到angular.extend的时候,正好碰到一个对象,是层层嵌套的Array, 结果发现只能extend第一层,查阅官文档,确实不支持deep copy: Note: Keep in mind ...
- ARC介绍
从Ray Wenderlich的教程中截取了一小段作为对objective c中ARC的介绍,讲得比较清晰,原文有丰富的例子,见此 它是怎么工作的 你大概已经熟悉如何手工管理内存了, 就像这样:如果你 ...
- C#反射学习
http://www.cnblogs.com/landeanfen/p/4642814.html http://blog.csdn.net/lianjiangwei/article/details/4 ...