- 浏览: 55241 次
- 性别:
- 来自: 北京
最新评论
-
chenhaiyang:
赞
rabbitMQ -
tsxm:
shixin42 写道tsxm 写道用kafka的时候,kaf ...
sensei cluster -
shixin42:
tsxm 写道用kafka的时候,kafka里面的数据会被所有 ...
sensei cluster -
tsxm:
用kafka的时候,kafka里面的数据会被所有相关shard ...
sensei cluster
文章列表
VIM中常用的替换模式总结。
1,简单替换表达式
替换命令可以在全文中用一个单词替换另一个单词:
:%s/four/4/g
“%” 范围前缀表示在所有行中执行替换。最后的 “g” 标记表示替换行中的所有匹配点。如果仅仅对当前行进行操作,那么只要去掉%即可
如果你有一个象 “thirtyfour” 这样的单词,上面的命令会出错。这种情况下,这个单词会被替换成”thirty4″。要解决这个问题,用 “\<” 来指定匹配单词开头:
:%s/\<four/4/g
显然,这样在处理 “fourty” 的时候还是会出错。用 “\>” 来解决这个问题:
...
1 下载zookeeper, 我用了之前的稳定版本3.3.6
可参考安装:
http://zookeeper.apache.org/doc/trunk/zookeeperStarted.html
http://zookeeper.apache.org/doc/trunk/zookeeperAdmin.html#sc_maintenance
2 解压安装, 如果是cluster安装, 最好选取奇数的server, 原因在于zookeeper的leader election的策略.
3 修改zookeeper的配置文件, 默认启动时会使用conf/zoo.cfg.
http://www.ibm ...
mvn archetype:create -DgroupId=* -DartifactId=* -DpackageName=*
可以使用archetype插件来构建一个非常简单的java项目.
create是archetype插件的目标.
插件和目标
mvn help:effective-pom
可以查看最顶层的pom文件, pom (project object model)
maven依靠的是它自带的或者可自动下载的一系列插件, 编译源码的时候有compile插件, 打包的时候有jar插件, 测试的时候有Surefile插件.
当执行mvn package的时候, 并没有执行插件目 ...
maven plugin assembly
- 博客分类:
- java杂
使用 Maven Assembly 插件的预定义装配描述符生成一个可分发的 JAR 文件的过 程,该文件包含了项目的二进制文件和所有的依赖。
Maven Assembly 插件是一个用来创建你应用程序特有分发包的插件。 你可以使
用 Maven Assembly 插件以你希望的任何形式来装配输出,只需定义一个自定义的 装配描述符。 后面的章节我们会说明如何创建一个自定义装配描述符,为 Simple Weather 应用程序生成一个更复杂的存档文件。 本章我们将会使用预定义的 jar- with-dependencies 格式。 要配置 Maven Assembly 插件, 我们需要在 pom.x ...
hadoop log
- 博客分类:
- hadoop
1 user log (用户程序中的log信息, 用log4j实现的) :
$HADOOP_HOME/logs/userlogs/$JOB_ID/attempt_*/syslog
2 在$HADOOP_HOME/logs目录下:
hadoop-$user-datanode-$hostname.log
在$hostname这台机器上启动datanode进程的时候的日志输出, 由log4j实现
hadoop-$user-datanode-$hostname.out
在$hostname这台机器上启动datanode进程的时候的标准输出
类似的还有
hadoop-$user-namenode- ...
top命令是Linux下常用的性能分析工具,能够实时显示系统中各个进程的资源占用状况,类似于Windows的任务管理器。下面详细介绍它的使用方法。
top - 01:06:48 up 1:22, 1 user, load average: 0.06, 0.60, 0.48
Tasks: 29 total, 1 running, 28 sle ...
下面是free的运行结果,一共有4行。为了方便说明,我们加上了列号。这样可以把free的输出看成一个二维数组FO(Free Output)。例如:
FO[2][1] = 999212
FO[3][2] = 305404
1 2 3 4 5 6
1 ...
senseidb中对zoie的整合
- 博客分类:
- sensei
com.senseidb.conf.SenseiServerBuilder.buildCore()方法中开始对zoie进行实例化:
1 构建ZoieConfig实例:
ZoieConfig会设置Analyzer, Similarity实例,这些基本的lucene对象可以在sensei配置文件中自定义。设置batchSize, batchDelay, maxBatthSize, rtIndexing, skipBadRecord, freshness等属性也是在sensei配置中可配的。
2. 构建SenseiZoieFactory
sensei自己实现了一个默认的解释器,实现了ZoieInd ...
zoie是linkedIn开发的基于lucene的搜索组件,主要目的是支持近实时搜索,虽然后续的lucene也提供了近实时搜索的功能,但是相比来说,zoie还是具备一些优势的。
senseidb的索引管理,近实时搜索等服务都是基于zoie的。通过阅读senseid ...
mysql主键int和bigint类型的区别
- 博客分类:
- mysql
有符号int最大可以支持到约22亿,远远大于我们的需求和MySQL单表所能支持的性能上限。对于OLTP应用来说,单表的规模一般要保持在千万级别,不会达到22亿上限。如果要加大预留量,可以把主键改为改为无符号int,上限为42亿,这个预留量已经是非常的充足了。
使用bigint,会占用更大的磁盘和内存空间,内存空间毕竟有限,无效的占用会导致更多的数据换入换出,额外增加了IO的压力,对性能是不利的。
因此推荐自增主键使用int unsigned类型,但不建议使用bigint。
http://www.rabbitmq.com/getstarted.html
rabbitMQ是遵循AMQP协议实现的消息服务,核心概念
producer - 消息生产者
exchange - rabbitMQ服务端的信箱,负责接受从producer发送来的消息
queue - 消息队列,同样在rabbitMQ服务端。exchange会把消息分发给queue。consumer从queue中取消息
consumer - 消费者,从queue里面读取消息
exchange类型:
fanout - 把exchange接受到的message分发到所有bind到这个exchange的queue
di ...
发现有三十多万的消息堆积在10的queue里没有被消费
记录一下查看问题的步骤:
1 jps
找出程序的PID
2 jstack ${PID}
查看线程dump,发现rabbitMQ的consumer worker线程block住了:
"Thread-33" prio=10 tid=0x00002aaac8013000 nid=0x3264 waiting for monitor entry [0x00000000437e4000]
java.lang.Thread.State: BLOCKED (on object monitor)
at o ...
Java 的线程
线程是指能独立于程序的其它部分运行的执行单元。 JAVA语言能够很好的实现多线程的程序。我们在调试程序,或者在开发后期需要做性能调优的时候,往往也需要了解当前程序正在运行的线程的状态,正在执行的操作,从而分析系统可能存在的问题。
在阅读本文之间,应对 Java线程的编程原理,同步机制有一定了解 .
产生 JAVA线程 dump
JAVA 的线程 DUMP,就象当前 JAVA进程的一个快照,打印出所有线程的状态和调用堆栈,以及 Monitor的状态。在不同的操作系统下,产生线程 DUMP的方式是不同的。
·在 windows环境中,
在 ...
程序出现指针悬挂或者内存泄露问题的时候,使用jmap(jdk自带的工具去查看问题),并参考这篇文章进行处理,还是要在实际问题中应该啊,这里tag一下!
内存管理简介
内存管理的职责为分配内存,回收内存。
没有自动内存管理 ...
java的堆和栈都是用来在RAM中存放数据的地方,RAM - random access memory
java的栈(stack)一般都是用来存储原始数据类型的,因为这些类型的值大小和生命周期是可知的,栈的读取速度都比较快。栈的特点是任何字面值实际都只存一份,然后可以有不同的引用来指向它。
java的堆(heap)比栈要慢,是用来存取类对象的。
理解JVM的内存分配和GC主要应该了解JVM堆的数据结构和garbage collector类型。
以及如何评测我们的程序在GC上遇到了瓶颈和如何去解决。
JVM heap是分为三代的young, old, permanent
young中又划分 ...