一些命令 1 maven assembly插件打包snapshot版本的依赖时不使用时间戳版本的名称[url]http://maven.apache.org/plugins/maven-assembly-plugin/faq.html#outputFileNameMapping[/url]使用baseVersion代替version即可2 maven跳过集成测试mvn -Dski...
CDH时钟偏差警报 安装了Cloudera之后,总是提示时钟偏差,但是ntpd服务是正常工作的.原来Cloudera的agent是使用ntpdc命令进行进行判定的[url]https://community.cloudera.com/t5/Cloudera-Manager-Installation/Cloudera-5-4-x-cluster-randomly-reports-quot-Clock-Offse...
cloudera安装后agent无法启动 安装了cloudera后agent居然不能正常启动,一启动就会被关闭,/var/log/messages里只有[quote]cmf-agent: Starting daemon.cmf-agent: Stopping daemon.[/quote]后来发现居然是hostname包含了下划线(underscore),但是这个异常不知道被谁吃了.......
记一次mongodb从亚马逊云迁移到微软云 从aws上把mongodb集群弄到微软云上之后,发现mongos里各种报错[quote]2016-07-14T16:42:10.779+0800 I NETWORK [LockPinger] Socket recv() timeout 10.0.0.6:300012016-07-14T16:42:10.779+0800 I NETWORK [LockPinger] SocketE...
利用dbHash恢复不一致的mongodb config server 原来mongodb的文档上一直宣称是2阶段协议提交来保证3个config server保持强一致性,然而其实不是的[url]https://jira.mongodb.org/browse/DOCS-5289[/url]有人看源代码,发现mongodb源码和文档不一致,提交了这个jira,导致mongodb连官方文档都改了...噗...由于各种原因导致config server不一致...
利用expect自动建立无密钥登录 建立无密钥登录最好用ssh-copy-id但是它有个问题是每次都无脑的在authorized_keys文件中添加数据,容易造成重复,而且如果有很多台服务器要建立的话要运行多次,多次输入"yes",多次输入密码.利用expect可以实现自动安装[url]https://github.com/kabike/autoSSHKey[/url]...
linux expect的f选项 expect脚本的开头一般都写/usr/bin/expect -f,这个-f选项有什么作用呢?比如如下脚本[code="python"]#!/usr/bin/expect -ffor {set i 0} {$i < $argc} {incr i} { puts "arg $i: [lindex $argv $i]"}[/code]运行./bar.sh -c "put...
记录一些linux命令 1 查询某个yum源安装了哪些包yum install yum-utilsyumdb search from_repo bar2 查看哪些包依赖krb5-libsrepoquery --requires krb5-libs3 利用xargs -n 1,解压多个tar文件echo *.tgz | xargs -n 1 tar xf4 利用tee和exec,将一...
mongodb shell中显示更多数量的结果 DBQuery.shellBatchSize = 300[url]http://stackoverflow.com/questions/3705517/how-to-print-out-more-than-20-items-documents-in-mongodbs-shell[/url]
linux时间同步 我一直以为要用cron job和ntpdate,现在发现应该用ntpd.[url]http://www.ansen.org/2014/01/linuxntpdntpdate_21.html[/url]
clojure中的agent实现 最近看了下clojure的并发,其中提到了agent.agent的原理是把对agent的action提交到线程池中运行.它保证线程安全的措施是对每一个agent,同时只有一个actio在运行.下面做一个简单的对比,多个线程多次对同一个StringBuilder进行append,如果不同步,结果是不正确的.[code="java"] final StringBuilder sb =...
storm中添加自定义metrics storm中有时需要添加一些metrics监控项,这时需要添加metrics.在spout或者bolt的prepare方法中注册metrics[code="java"] public void prepare(@SuppressWarnings("rawtypes") Map stormConf, TopologyContext context, OutputCollector c...
storm实现迷你批量提交 storm中有种应用场景,是迷你批量,比如积攒一定数量的tuple,超过一定时间或者数量之后,把这些tuple统一处理.想到了以下三种思路1 在bolt中额外启动一个线程.不过在bolt中启动线程就要考虑并发的问题2 定义另一个command stream,根据需要向这个command stream发tuple.bolt根据tuple的sourceStreamId判断是正常的strea...
java中获得hostname的方式 最近用storm的过程中发现了一个问题,根源也是hostname获取的不正确.和[url]http://kabike.iteye.com/blog/2111791[/url]问题类似storm,hadoop这些java项目在linux上取得hostname的时候,不是简单调用hostname这个命令,而是调用InetAddress.getLocalHost().getCanonicalHo...
java的内存counter 假设需要在内存中维护一个计数器,在storm tuple来时更新计数器的值,最终统一提交到数据库可以用commons-collection中的Bag或者MultiValueMap,不过效率不高.用java的Map放Integer主要问题在于Integer是不可变类,每次需要构造新的对象,开销比较大,因此尝试了common-lang中的MutableInt和java.util中的Atomic...
hadoop用Quorum Journal Manager(QJM)实现高可用 官方文档写的还行.补充几点1 如果没有自动failover,两个namenode启动后都是standby状态文档上说用 "hdfs haadmin -failover"命令使其中一个active.hdfs haadmin -failover命令正确用法是[quote]hdfs haadmin -failover node13 node14[/quote]2 如果hbase想...
忍不住想喷hadoop的文档 就说hdfs的checkpoint node吧,它说[quote]Multiple checkpoint nodes may be specified in the cluster configuration file.[/quote]哥,你敢具体写么?你这东西各种bug你知道么?[url]https://issues.apache.org/jira/browse/HDFS-7871[...
忍不住要喷一下kafka [url]https://issues.apache.org/jira/browse/KAFKA-369[/url]使用consumer的时候要指定zookeeper,使用producer要指定broker.一个集群两种配置,很容易出错.用户体验不好,差评而且kafka的文档也相当糟糕了...simple consumer根本就没有group的概念,0.8.2以后的java produce...