- 博客(92)
- 资源 (1)
- 收藏
- 关注
原创 ActiveMQ两种消息模式
[size=large]一、点对点模式(p2p)[/size][img]http://dl2.iteye.com/upload/attachment/0125/2000/88baa79f-66aa-3f5d-9094-8780377e5ca0.png[/img][size=large]二、发布/订阅模式(pub/sub)[/size][img]http://dl2.itey...
2017-05-31 15:59:10
212
原创 ActiveMQ消息选择器与异步接收
[size=large]一、消息选择器[/size] 消息选择器:过滤消息属性与设置条件相等的消息进行消费。语义与sql一致。 [code="java"] private final String selector_1 = "sex='w'"; this.consumer = session.createConsumer(destination, selector_...
2017-05-31 15:27:15
338
原创 ActiveMQAPI
[size=large]一、connection方法使用[/size] 1、创建connection时,它的传输默认是关闭的,必须使用start方法开启。一个connection可以创建多个session。 2、当一个程序执行完成后,必须关闭之前创建的connection,否则ActiveMQ不能释放资源。关闭Connection后,同时也关闭了Session\MessageProdu...
2017-05-31 11:56:14
104
原创 ActiveMQ持久化存储
[size=medium] activeMQ的消息可以存储在不同的存储中,(默认是kahaDB,levelDB,mysql,oracle)[/size][size=large]1、配置数据库连接[/size] C:\M\apache-activemq-5.14.1\confactivemq.xml添加数据库连接数据。 1、1替换数据库连接 [code="xml"] ...
2017-05-30 21:48:12
98
原创 ActiveMQ配置文件及安全验证机制
[size=large]1、修改控制台登录用户密码[/size] activemq的web管理界面:http://127.0.0.1:8161/admin activemq管控台使用jetty部署,需要修改密码则修改对应的配置文件C:\M\apache-activemq-5.14.1\conf\jetty-realm.properties [quote] admi...
2017-05-30 20:36:55
447
原创 ActiveMQ使用之HelloWord
[size=large]一、下载MQ:[/size] 官网http://activemq.apache.org/下载,选择windows版本学习,项目当中使用linux版本进行集群。[size=large]二、解压目录介绍[/size]Bin:启动脚本.bin/activemq.bat是启动MQ的脚本Conf:mq核心配置。 activemq.xml核心配置...
2017-05-30 17:09:42
87
原创 ActiveMQ概述及其它消息中间件对比
[size=large]一、概述[/size] 作用:异步消费数据,异步发邮件,异步查询操作 当前远程调用等许多框架rpc技术广泛应用,但面对大规模和复杂度都越来越高的分布式系统,这些技术有以下局限性: 1、同步通信:客户发出调用后,必须等待服务对象完成处理并返回结果才能断续执行。 2、客户和服务对象的生命周期紧密耦合:客户端和服务端都必须正常运行,如遇服务对象崩溃...
2017-05-30 14:31:25
174
原创 ITridentSpout、FirstN(取Top N)实现、 流合并和join
[size=large]一、ITridentSpout[/size]基于事务static interface ITridentSpout.BatchCoordinator static interface ITridentSpout.Emitter 接口类的实现和之前事务ITransactionalSpout 非常类似。[size=large...
2017-05-25 10:01:23
155
原创 Trident实战之计算网站PV
[size=large]1、Trident实战之计算网站PV[/size][code="java"]/** * Trident实战之计算网站PV */public class TridentPVTopo { public static StormTopology buildTopology(LocalDRPC drpc) { Random random =...
2017-05-24 13:24:33
200
原创 Trident API和概念
[size=large]一、Trident API——Spout[/size] [b]ITridentSpout[/b]:最通用的Spout,可以支持事务或者不透明事务语义。 IBatchSpout: 一个非事务spout 。 [b]IPartitionedTridentSpout[/b]: 分区事务spout,从数据源(比如一个Kafka集群)读分区数据 ...
2017-05-23 10:57:39
173
原创 Trident入门
英文原址:[url]https://github.com/nathanmarz/storm/wiki/Trident-tutorial[/url]翻译地址1:[url]http://blog.csdn.net/derekjiang/article/details/9126185#t3[/url]翻译地址2:[url]http://www.tuicool.com/articles/B...
2017-05-22 13:44:58
143
原创 不透明分区事务IOpaquePartitionedTransactional实例
1、spout[code="java"]public class MyOpaquePtTxSpout implements IOpaquePartitionedTransactionalSpout { /** * 将Coordinator发射数据动作下放到emitPartitionBatch类执行。 */ private static final long se...
2017-05-22 10:54:31
213
原创 分布式远程调用drpc实例
[size=large]一、DRPC定义[/size]分布式dRPC(distributed RPC,DRPC)用于对Storm上大量的函数调用进行并行计算。对于每一次函数调用,Storm集群上运行的拓扑接收调用函数的参数信息作为输入流,并将计算结果作为输出流发射出去。一句话概括:Storm进行计算,根据客户端提交的请求参数,而返回Storm计算的结果。DRPC通过DRPC S...
2017-05-22 10:53:08
153
原创 分区事务IPartitionedTransactionalSpout实例
[size=large]1.分区事务spout[/size][code="java"]public class MyPtTxSpout implements IPartitionedTransactionalSpout{ /** * 分区事务spout */ private static final long serialVersionUID = 1L; p...
2017-05-21 11:02:44
186
原创 普通事务ITransactionalSpout实例之按天统计数据
[size=large]1、普通事务Spout[/size][code="java"]/** * 普通事务Spout */public class MyTxSpout implements ITransactionalSpout{ private static final long serialVersionUID = 1L; /** *...
2017-05-20 16:56:03
126
原创 普通事务ITransactionalSpout实例
[size=large]1、普通事务Spout[/size][code="java"]/** * 普通事务Spout */public class MyTxSpout implements ITransactionalSpout{ private static final long serialVersionUID = 1L; /** *...
2017-05-20 15:45:08
130
原创 Storm事务API
SpoutITransactionalSpout,同BaseTransactionalSpout,普通事务SpoutIPartitionedTransactionalSpout,同BasePartitionedTransactionalSpout,分区事务SpoutIOpaquePartitionedTransactionalSpout:同BaseOpaquePartitionedTr...
2017-05-19 16:00:53
162
原创 Storm批处理事务原理详解
[size=large]事务:[/size]Storm容错机制通过一个系统级别的组件acker,结合xor校验机制判断一个tuple是否发送成功,进而spout可以重发该tuple ,保证一个tuple在出错的情况下至少被重发一次。在需要精确统计tuple的数量如销售金额场景时,希望每个tuple”被且仅被处理一次” 。Storm 0.7.0引入了Transactional Topolog...
2017-05-19 15:54:14
161
原创 集群统一启动和停止shell脚本开发
1、cd 2、ls -al 显示隐藏目录3、rm -rf .ssh 删除各节点的.ssh目录4、ssh master/slave 验证是否需要密码 exit退出登陆[size=large]一、设置ssh无密码访问slave节点[/size]1、各节点(master/slave)执行ssh-keygen -t rsa 建立ssh目录,一路敲回车,生成的密钥...
2017-05-17 09:56:56
339
原创 storm高并发UV统计
[size=small]统计高并发UV可行的方案(类似WordCount的计算去重word总数):bolt1通过fieldGrouping 进行多线程局部汇总,下一级blot2进行单线程保存session_id和count数到Map且进行遍历,可以得到:Pv、UV、访问深度(按每个session_id 的浏览数)2014-05-01 UV数(按日期统计)既然去重,必...
2017-05-14 22:05:15
384
原创 storm高并发PV统计,利用zookeeper锁输出汇总值
汇总型方案:1、shuffleGrouping下,pv(单线程结果) * Executer并发数一个Executer默认一个task,如果设置Task数大于1,公式应该是:pv(单线程结果) * Task 数 ,同一个Executer下task的线程ID相同,taskId不同优点:简单、计算量小缺点:稍有误差,但绝大多数场景能接受优化:案例PVBolt中每个...
2017-05-14 14:42:09
163
原创 storm高并发PV统计
[b][size=medium]一、PV统计思考[/size][/b]方案需要考虑分析多线程下,注意线程安全问题。线程安全:多线程处理的结果和单线程一致如下是否可行?不可行方案: 定义static long pv, Synchronized 控制累计操作。Synchronized 和 Lock在单个JVM下有效,但在多JVM下无效。可行方案两个方案:1...
2017-04-16 17:54:41
247
原创 Storm高并发运用WordSum
1、创建发射所有字符串统计总个数及去重个数处理类[code="java"]public class SumBolt implements IBasicBolt { /** * 对发射所有字符串统计总个数及去重个数 */ private static final long serialVersionUID = 1L; Map counts = new Ha...
2017-04-16 14:21:39
192
原创 storm分组策略介绍
[size=medium][b]一、storm数据来源[/b][/size]Spout的数据源:MQ:直接流数据源Db:只能读配置文件文件:只能学习用,其他无用。问题:1、分布式应用无法读;2、spout开并发会重复读Log文件增量数据:1、读出内容写入MQ,2、Storm处理[size=medium][b]二、分组策略[/b][/size]st...
2017-04-16 11:46:37
304
原创 Storm高并发介绍
[size=medium][b]并发度:[/b][/size] worker:指的是component (spout或bolt),并行的跑在不同的machine上的topology子集。 一个Topology可以包含一个或多个worker,worker process就是执行一个topology的子集, 并且worker只能属于一个topology。设置worker数量[c...
2017-04-16 10:18:16
183
原创 Storm 字符统计Demo
1、数据源读取,字符发射spout类[code="java"]/** * 字符发射spout类 */public class RandomSentenceSpout extends BaseRichSpout { private static final long serialVersionUID = 1L; SpoutOutputCollector _coll...
2017-04-14 13:57:44
101
原创 Eclipse创建Maven Web项目
一、Eclipse配置Maven1、window-->perferences-->Maven-->installations配置目录 选择本地路径: 2、设置maven配置文件及本地库 二、创建项目1、 启动 Eclipse, 点击 File->New->Maven Project 2、 在上面的屏幕上,保留 ‘Use d...
2017-04-11 10:52:06
113
原创 Storm 本地模式
本地模式,是在eclipse等编译器编写strom运行文件,在于模拟storm在集群运行的结果,便于代码的编写和调试。 一、下载开发环境的zip文件,将storm相关jar包导入编辑器。注意是zip文件,不是gz运行linux文件。 http://storm.apache.org/downloads.html 二、创建数据文件 [b]storm有Tai...
2017-04-09 22:25:36
558
原创 Linux系统介绍
一、目录[quote]/ 表示根目录./ 表示当前目录../ 当前目录的上一级目录以此类推../../ 表示当前目录的上一级的上一级的目录 [/quote]
2017-04-05 16:27:52
75
原创 Storm启动配置
[size=large]一、安装Storm[/size] wget http://www.apache.org/dyn/closer.lua/storm/apache-storm-1.0.3/apache-storm-1.0.3.tar.gz tar xzvf ./apache-storm-1.0.3.tar.gz[size=large]二、新建data文件夹[/...
2017-03-29 17:40:46
200
原创 Strom依赖软件安装
[size=large]一、下载zeroMq[/size] http://zeromq.org/intro:get-the-software [quote] tar -xzvf zeromq-2.1.7.tar.gz cd zeromq-2.1.7 ./configure make (普通帐户加sudo)...
2017-03-23 16:37:07
182
原创 zookeeper搭建及错误调试
[size=large]一、下载文件 Wget下载到当前目录[/size] Wget http://mirror.bit.edu.cn/apache/zookeeper/zookeeper-3.4.5/zookeeper-3.4.5.tar.gz[size=large]二、解压文件 tar -xvzf 解压到当前目录[/size] tar -xvzf zookeeper...
2017-03-22 13:15:26
238
原创 Linux常用命令
1、进入目录: cd XXX2、查看当前文件夹内容: ls 查看文件详细信息 ls -lih XXX vi XXX 创建文件(修改文件) 查看文件内容:cat XXX 3、创建文件夹: mkdir XXX4、删除文件夹: rm -rf XXX -r 就是向下递归,不管有多少级目录,一并删除 -f 就是直接强行删除,不作任何提示5、解压.t...
2017-03-17 10:05:48
58
原创 CentOS7/RHEL7修改主机名
在CentOS或RHEL中,有三种定义的主机名:a、静态的(static),b、瞬态的(transient),以及 c、灵活的(pretty)。“静态”主机名也称为内核主机名,是系统在启动时从/etc/hostname自动初始化的主机名。“瞬态”主机名是在系统运行时临时分配的主机名,例如,通过DHCP或mDNS服务器分配。静态主机名和瞬态主机名都遵从作为互联网域名同样的字符限制规则。...
2017-03-15 16:49:58
346
原创 虚拟机桥接模式连接
通过两台虚拟机和电脑都是连接到你现在那个wifi的实体网络上,虚拟机都选择的桥接到物理网络,就等于是通过你的无线网卡连接到路由器上。虚拟机与电脑之间必须依赖网络环境才能连接,如果wifi网络断开,则虚拟机与电脑之间没有可依赖的网络环境。实现网格联通,可以是wifi网络,可以是RJ45接口。如果虚拟机IP地址为DHCP模式,则路由器自动分配IP地址。如果设置虚拟机IP地址为man...
2017-03-15 14:14:48
264
原创 serverlet线程安全吗
本文属于转载:http://www.cnblogs.com/itTeacher/archive/2012/11/14/2769822.html这个问题,在网上没有看到一个确切的答案,所以我们来分析一下:首先什么是线程安全? 引用概念:如果你的代码所在的进程中有多个线程在同时运行,而这些线程可能会同时运行这段代码。如果每次运行结果和单线程运行的结果是一样的,而且其他的变量的值也和预期...
2016-10-24 21:18:24
671
原创 Maven安装
一、maven安装 1、安装jdk及下载maven文件访问 Maven官方网站,打开后找到下载链接,如下:2、解压文件apache-maven-3.5.0-bin.zip,将M2_HOME 和 MAVEN_HOME添加到 Windows 环境变量,并将其指向你的 Maven 文件夹。注意:Maven 说只是添加 M2_HOME , 但一些项目仍引用 Maven 的文件夹 MAVEN_H...
2016-02-25 12:18:02
84
原创 Poi对Excel写入和读取
官网上下载最新poi版本[url]http://poi.apache.org/download.html[/url]// 测试工具[code="java"]public class Test { public static void main(String[] args) throws Exception { FileUtil util = new E...
2016-02-19 09:55:20
121
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人