12 2017 档案

摘要:网络和IO线程配置优化 配置参数 num.network.threads:Broker处理消息的最大线程数 num.io.threads:Broker处理磁盘IO的线程数 优化建议 一般num.network.threads主要处理网络io,读写缓冲区数据,基本没有io等待,配置线程数量为cpu核数 阅读全文
posted @ 2017-12-29 10:39 木易森林 阅读(4876) 评论(0) 推荐(0) 编辑
摘要:Kafka高性能的特点及条件 Kafka是一个高吞吐量分布式消息中间件,并且提供了消息的持久化功能。其高可行有两个重要的特点: 利用了磁盘连续读写性能显著高于随机读写性能的特点 并发,将一个topic拆分为多个partition 磁盘的连续性 要充分利用磁盘连续读写高性能的特点,就意味着要减少操作系 阅读全文
posted @ 2017-12-29 10:20 木易森林 阅读(1105) 评论(0) 推荐(0) 编辑
摘要:如何在Kafka上创建topic? 手工脚本创建 topic制定topic的name –partitions指定分区数,这个参数要根据broker数和数据量决定,一般情况下每个Broker上两个分区最好 –replication factor指定partition的replicas数,建议设置为2 阅读全文
posted @ 2017-12-27 09:57 木易森林 阅读(805) 评论(0) 推荐(0) 编辑
摘要:依赖包导入 producer开发 producer参数说明 metadata.broker.list:指定kafka节点列表,用于获取metadata,不必全部指定.如metadata.broker.list=192.168.1.10:9092,192.168.1.11:9092 partition 阅读全文
posted @ 2017-12-26 20:34 木易森林 阅读(3061) 评论(0) 推荐(0) 编辑
摘要:引用自:http://blog.csdn.net/lizhitao/article/details/51718185 Kafka副本 Kafka中主题的每个Partition有一个预写式日志文件,每个Partition都由一系列有序的、不可变的消息组成,这些消息被连续的追加到Partition中,P 阅读全文
posted @ 2017-12-26 16:06 木易森林 阅读(6285) 评论(0) 推荐(1) 编辑
摘要:Kafka简介 Kafka是一种分布式的,基于发布/订阅的消息系统。主要设计目标如下: 以时间复杂度为O(1)的方式提供消息持久化能力,即使对TB级以上数据也能保证常数时间复杂度的访问性能 高吞吐率。即使在非常廉价的商用机器上也能做到单机支持每秒100K条以上消息的传输 支持Kafka Server 阅读全文
posted @ 2017-12-26 11:30 木易森林 阅读(403) 评论(0) 推荐(0) 编辑
摘要:Supervisor 参数调整 修改${STORM_HOME}conf/storm.yaml文件内容 supervisor变更参数 slots 配置: 若storm host仅仅执行supervisor(不包含nimbus)时,slots数目 = (Memory GB 1 ) 若同时包含了storm 阅读全文
posted @ 2017-12-26 10:11 木易森林 阅读(1408) 评论(0) 推荐(0) 编辑
摘要:设置Cassandra使用用户名和密码验证的步骤如下: 1.修改${CASSANDRA_HOME}/conf/cassandra.yaml,把authenticator: AllowAllAuthenticator修改为authenticator: PasswordAuthenticator 2.使 阅读全文
posted @ 2017-12-25 10:54 木易森林 阅读(4082) 评论(0) 推荐(0) 编辑
摘要:理解Zookeeper的一种方法是将他视为一个提供高可用性的文件系统。它没有文件和目录,但是有一个统一概念的节点,叫做znode,作为数据以及其他znode的容器。znode来自于一个层次级的命名空间。传统的建立成员列表的方法是以小组的名称创建一个父znode,同时子znode使用的是组成员的名称。 阅读全文
posted @ 2017-12-23 15:37 木易森林 阅读(1776) 评论(0) 推荐(0) 编辑
摘要:Guava 是一个 Google开发的 基于java的类库集合的扩展项目,包括 collections, caching, primitives support, concurrency libraries, common annotations, string processing, I/O, 等 阅读全文
posted @ 2017-12-23 10:32 木易森林 阅读(4859) 评论(0) 推荐(0) 编辑
摘要:Storm是一个分布式的流处理系统,利用anchor和ack机制保证所有的tuple都被处理成功。如果tuple出错,则可以被重传,但是如何保证出错的tuple只被处理一次呢?换句话说Storm如何保证事物性呢?本节从简单的事物实现入手,最后引出事物型Topology的原理。 一.一致性事物设计 1 阅读全文
posted @ 2017-12-22 15:34 木易森林 阅读(943) 评论(0) 推荐(0) 编辑
摘要:在Storm Trident中有五种操作类型 Apply Locally:本地操作,所有操作应用在本地节点数据上,不会产生网络传输 Repartitioning:数据流重定向,单纯的改变数据流向,不会改变数据内容,这部分会有网络传输 Aggragation:聚合操作,会有网络传输 Grouped s 阅读全文
posted @ 2017-12-21 17:00 木易森林 阅读(330) 评论(0) 推荐(0) 编辑
摘要:Trident中有对状态数据进行读取和写入操作的一流抽象工具。状态既可以保存在拓扑内部,比如保存在内容中并由HDFS存储,也可以通过外部存储(比如Memcached或Cassandra)存储在数据库中。而对于Trident的API而言,这两种机制没有任何区别。 Trident以容错的方式来管理状态, 阅读全文
posted @ 2017-12-21 16:17 木易森林 阅读(1186) 评论(1) 推荐(0) 编辑
摘要:Trident是基于Storm进行实时留处理的高级抽象,提供了对实时流4的聚集,投影,过滤等操作,从而大大减少了开发Storm程序的工作量。Trident还提供了针对数据库或则其他持久化存储的有状态的,增量的更新操作的原语。 若我们要开发一个对文本中的词频进行统计的程序,使用Storm框架的话我们需 阅读全文
posted @ 2017-12-21 14:32 木易森林 阅读(9598) 评论(0) 推荐(0) 编辑
摘要:在Storm集群中,运行Topolopy的实体有三个:工作进程,executor(线程),task(任务),下图可以形象的说明他们之间的关系。 工作进程 Storm集群中的一台机器会为一个或则多个Topolopy运行一个或则多个工作进程。每个工作进程执行Topology的一个子集,一个工作进程属于一 阅读全文
posted @ 2017-12-20 14:38 木易森林 阅读(601) 评论(0) 推荐(0) 编辑
摘要:StormUI由Cluster Summary,topology summary,supervisor summary,Nimbus Configuration四部分组成,如下图所示: Cluster Summary介绍了整个集群的信息,其中列出了Solt的总数以及使用情况,通过空闲的Solt我们可 阅读全文
posted @ 2017-12-19 20:20 木易森林 阅读(5541) 评论(0) 推荐(0) 编辑
摘要:报错信息: java.lang.RuntimeException: java.lang.RuntimeException: java.lang.RuntimeException: org.apache.zookeeper.KeeperException$ConnectionLossException 阅读全文
posted @ 2017-12-19 17:20 木易森林 阅读(1133) 评论(0) 推荐(1) 编辑
摘要:storm的配置文件在${STORM_HOME}/conf/storm.yaml。下面详细说明storm的配置信息。 java.libary.path:storm本身依赖包的路径,有多个路径的时候使用冒号隔开 storm.local.dir:storm使用的本地文件系统的目录,storm进程必须对该 阅读全文
posted @ 2017-12-19 14:57 木易森林 阅读(1184) 评论(0) 推荐(0) 编辑
摘要:lucence 是一个高性能的java全文检索工具包,他使用倒排序文件索引结构,改结构和相应的生成算法如下: 一、设有两篇文章1和2 文章1的内容为:Tom lives in guangzhou,i live in guangzhou too 文章2的内容为:He once lived in sha 阅读全文
posted @ 2017-12-19 10:22 木易森林 阅读(1414) 评论(0) 推荐(0) 编辑
摘要:在JVM运行空间中,对象的整个生命周期大致可以分为七个阶段:创建阶段(Creation)、应用阶段(Using)、不可视阶段(Invisible)、不可到达阶段( Unreachable)、可收集阶段(Collected)、终结阶段(Finalized)、释放阶段(Free)。经过上述的七个阶段,构 阅读全文
posted @ 2017-12-19 10:21 木易森林 阅读(1037) 评论(0) 推荐(0) 编辑
摘要:基础类型数据的大小是固定的,对于非基本类型的java对象,其大小就值得商榷了。 在java中一个空Object对象的大小是8byte,这个大小只是保存堆中没有任何属性的对象的大小,看下面的语句: Object obj = new Object(); 这样在程序中完成了一个Java对象的生命,但是它所 阅读全文
posted @ 2017-12-19 10:19 木易森林 阅读(1293) 评论(0) 推荐(0) 编辑
摘要:Java虚拟机中,数据类型可以分为两类:基本类型和引用类型。基本类型的变量保存原始值,即:他代表的值就是数值本身; 引用类型的变量保存引用值,引用值代表了某个对象的引用而不是对象的本身,对象的本身存放在这个引用值所标示的地址的位置。 基本的数据类型包括:byte,short,int,long,flo 阅读全文
posted @ 2017-12-19 10:18 木易森林 阅读(450) 评论(0) 推荐(0) 编辑
摘要:第一种: File f = new File(this.getClass().getResource("/").getPath()); System.out.println(f); 结果: C:\Documents%20and%20Settings\Administrator\workspace\p 阅读全文
posted @ 2017-12-19 10:16 木易森林 阅读(7253) 评论(0) 推荐(0) 编辑
摘要:mongodb因非法关闭导致无法启动的解决方案 1、删除数据库目录的.lock文件 2、输入命令 mongod --repair 3、重启 2、输入命令 mongod --repair 3、重启 3、重启 阅读全文
posted @ 2017-12-19 10:14 木易森林 阅读(571) 评论(0) 推荐(0) 编辑
摘要:Redis中数据存储模式有两种:cache-only以及persistence cache-only:只作为"缓存"服务,不提供数据的持久化操作,数据在服务停止后消失,因此在此模式下也不存在数据恢复的问题,该模式的优点是效率高,容易扩展,缺点是安全性较低。 persistence:该模式下将内存中的 阅读全文
posted @ 2017-12-18 17:12 木易森林 阅读(4568) 评论(0) 推荐(0) 编辑
摘要:Redis的Pub/Sub机制使用非常简单的方式实现了观察者模式,但是在使用过程中我们发现,它仅仅是实现了发布订阅机制,但是很多的场景没有考虑到。例如一下的几种场景: 1.数据可靠性无法保证 一个redis_cli发送消息的时候,消息是无状态的,也就是说负责发送消息的redis_cli只管发送消息, 阅读全文
posted @ 2017-12-18 16:31 木易森林 阅读(6232) 评论(0) 推荐(0) 编辑
摘要:Cassandra的数据模型可以理解为嵌套的Map,在Cassandra中数据类型主要有四种:Column,SuperColumn,ColumnFamily,Keyspace。下面分别介绍这几种类型。 Column Column是Cassandra中最小的数据单元,它是一个三元的数据类型,包括:na 阅读全文
posted @ 2017-12-18 11:47 木易森林 阅读(889) 评论(0) 推荐(0) 编辑