- 浏览: 96429 次
- 性别:
- 来自: 杭州
最新评论
-
CFJAVA:
好啊,我的问题也解决了!谢谢
java -
bennet2009:
解决了我的问题
java -
lihao123:
在不,楼主,请教下关于zookeeper在java应用里开发的 ...
zookeeper系列之通信模型 -
jiafu1115:
这个例子很有趣,呵呵
OutOfMemoryError并非虚拟机就挂掉了 -
zoutm:
画得不好,我喜欢想到什么画什么,其实是用viso划的
zookeeper系列之异步通知模式-Watcher
文章列表
Hive server进程如何杀死
- 博客分类:
- hive管理
kill -9 `jps -lm|grep HiveServer|awk
'{print $1}'`
在做一个hadoop项目中,利用HDFS存储日志文件。为了将未关闭的文件进行恢复,我们需要判断一个文件是否为正在打开的状态。fs.getClient().namenode.getBlockLocations(path.toUri().getPath(), 0,
fs.getFileStatus(path).getLen()).isUnderConstruction();通过这个调用可以获取是否在打开。再调用fs.recoverLease(path)去强制关闭该文件。由于我们在getBlockLocations中最初用path.toString方法去调,结果导致以下NullPointEx ...
在maven引用存在有log4j的依赖时,总会报以下错误:
12-3-5 下午10时49分58秒: Missing artifact javax.jms:jms:jar:1.1:compile12-3-5 下午10时49分58秒: Missing artifact com.sun.jdmk:jmxtools:jar:1.2.1:compile12-3-5 下午10时49分58秒: Missing artifact com.sun.jmx:jmxri:jar:1.2.1:compile
通过查看发现log4j的pom依赖中包含有这些包的依赖,但在对应的仓库https://maven-repos ...
通过rpm安装好mysql,调用mysql,抛出Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock这样的错误,其实是mysql没有起来。通过调用/usr/share/mysql/mysql.server start.再调用mysql,就可以成功登录了。
在做一个hadoop的editlog查看工具,由于editlog都是用dataoutputStream输出的,在载入这类文件需要完全相反的方向DatainputStream先转换成对应的类,这个非常麻烦。特别是有部分类的成员是private的,也没有提供get方法,如何方便打印这些信息。想到只有用终极武器反射来完成这样的使命,以下就是我写的可以完全遍历对象树并将对象用json格式打印处理的code。
public class ObjectViewer {
public ObjectViewer() {
}
@SuppressWarnings("rawtypes& ...
错误现象:
我在调试一个多线程环境下的server程序。用junit的测试方法作为启动,很快程序就退出,而且没有任何异常信息。server程序的逻辑是主线程启动多个线程池后退出。多个线程池的线程都不是Daemon线程。采用main方法启动后程序将不会退出。
原因分析:
在多线程环境下,程序退出的条件是,所有的非Daemon线程都正常结束或者某个线程条用了system.exit方法,导致进程强行退出。在eclipse下运行Junit的类是org.eclipse.jdt.internal.junit.runner.RemoteTestRunner。通过查看这个类的main方法。如下:
...
由于我们项目使用jetty开发,一直采用嵌入式方式调试程序。由于项目要支持jsp特性,发现总是抛出
HTTP ERROR 500
Problem accessing /mvc-basic/WEB-INF/views/welcome.jsp. Reason:
JSP support not configured
Powered by Jetty://
这样的错误。
折腾了半天,在官方网站上下载了jetty7的整个包,解压后将/lib/jsp目录下的所有jar加入到classpath,重启jetty,终于ok了
深入理解JS中的函数,对象,及类。
Js 高级应用
关于变量作用域
看下面一个例子都可以在全局命名空间内隐藏函数abc,哪个使用方式更好,为什么?
Example1:
var Base = {};
(function(){
function abc(a){
alert(a);
}
Base.show = function(a){
以下是本次北京velocity大会的总结,分三节介绍如下:
1.
大会简介
2.
分主题概述
3.
会议总结
大会简介
本次北京的Velocity大会是国内外互联网公司为提高网站性能而举办的技术交流大会。很有幸参加了本次velocity大会,国内外知名的互联网公司差不多都参加了本次大会。会议上午是主题演讲,主要是会议的赞助商代表概括介绍公司的一些技术特点,我们公司Summer介绍的webex的高可用性5个9给会议在场人员留下了深刻的印象。下午是分主题在3个会议厅同时进行。本次大会的主题是web性能和运维,如何提供web性能和提供网站的易维护性的方方面面都有所介绍。本次 ...
近段时间更新了eclipse版本,先更新3.5,而后又更新到3.6. 在编辑代码的时候容易出现卡死,特别是想选中某一代码块进行拷贝时。本来认为是3.6的问题,回退到3.5问题依旧。又怀疑是不是jvm参数设置太小,导致不停GC,检查一下,我的eclipse.ini 参数设置为-Xms256m -Xmx1024m,已经不小了。切换到任务栏,检查cpu和memory的占用情况,我机器物理内存为2G,但占用显示还只有1.2G,cpu占用率80%,一旦不卡了,cpu立马下降,但内存并没有什么变化。应该不是GC导致的问题。肯定是哪个参数设置不当。仔细想想,为什么拷贝等鼠标在编辑器上不断晃动的时候容易卡呢?终 ...
前面zookeeper系统文章主要讲了zookeeper的实现原理,对我们使用好zookeeper有好处。如何使用zookeeper,让我开始实践之旅。通过简单的实现,zookeeper可以很容易提供分布式锁服务。
互斥锁的实现
在zookeeper的源代码包中recipe下有一个lock实现的例子,大家可以看到一个writelock的实现。writelock相当于一个互斥锁,但要和java提供的lock相比,用起来还是不太一样,需要我们进行一下包装,以下是对writeLock包装后的实现:
public class JoeZKLock implements GlobalLock{
...
现在几乎所有涉足互联网的大公司都要与云扯点关系,google,microsoft,IBM, oracle, ebay,amazon,facebook,阿里巴巴,百度,搜狐太多了。何为云?这个概念本身就是云里雾里的,每家公司的理解都有些许不一样,但有些三个共同特点:
1.分布式计算
2.分布式存储
3.虚拟化
有的公司涉及存储,有的涉足计算,有的涉足硬件层面的,租用cpu计算能力或存储空间,有的涉足软件服务或组件服务。本人从事软件开发,从软件层面开,主要涉及的技术包括分布式存储和计算,分布式技术中的容错性,去中心化,一致性问题,吞吐量,信息安全,服务分级,高可用性,mashup等等,很多技术概念。 ...
Watcher介绍
Watcher是Zookeeper用来实现distribute lock, distribute configure, distribute queue等应用的主要手段。要监控data_tree上的任何节点的变化(节点本身的增加,删除,数据修改,以及孩子的变化)都可以在获取该数据时注册一个Watch ...
了解Zookeeper的线程有利于我们充分了解Zookeeper的异步处理能力,也有利于对多线程同步问题更深入了解,解决一些同步问题。我们将分别就客户端,leader和Follower做详细的讲解。
Client线程模型
Follower线程模型
Leader线程模型
本文的主题就是讲解Zookeeper通信模型,本节将通过一个概要图来说明Zookeeper的通信模型。
Zookeeper的通信架构
在Zookeeper整个系统中,有3中角色的服务,client、Follower、leader。其中client负责发起应用的请求,Follower接受client发起的请求,参与事务的确认过程,在leader crash后的leader选择。而leader主要承担事务的协调,当然leader也可以承担接收客户请求的功能,为了方便描述,后面的描述都是client与Follower之间的通信,如果Zookeeper的配置支持leader接收client的请求 ...