- 浏览: 1067585 次
- 性别:
- 来自: 北京
最新评论
-
jchubby:
关于第一个reduceByKey对应的cache,shuffl ...
【Spark三十七】Spark Cache机制 -
bo_hai:
看了你的文章,updateStateByKey 这个方式的使用 ...
【Spark八十八】Spark Streaming累加器操作(updateStateByKey) -
bo_hai:
棒极啦,解决了我的问题。
【Spark七十二】Spark的日志配置 -
tivan:
你好,这个代码生成主要在,那个地方使用。
【Spark105】Spark SQL动态代码生成一 -
zxsz4085:
看楼主这么厉害的样子,请问楼主如何知道类库的版本呢?比如g++ ...
【Thrift一】Thrift编译安装
文章列表
[Maven学习笔记四]Maven依赖特性
- 博客分类:
- Maven
三个模块
为了说明问题,以用户登陆小web应用为例。通常一个web应用分为三个模块,模型和数据持久化层user-core, 业务逻辑层user-service以及web展现层user-web,
user-service依赖于user-core
user-web依赖于user-core和user-service
依赖作 ...
archetype的英文意思是原型,Maven archetype表示创建Maven模块的模版,比如创建web项目,创建Spring项目等等.
mvn archetype提供了一种命令行交互式创建Maven项目或者模块的方式,
mvn archetype
1.在LearnMaven-ch03目录下,执行命令mvn archetype:generate,以交互式的方式创建Maven模块
Choose a number or apply filter (format: [groupId:]artifactId, case sensitive contains): 439 ...
[Maven学习笔记二]Maven命令
- 博客分类:
- Maven
mvn compile
compile编译命令将src/main/java和src/main/resources中的代码和配置文件编译到target/classes中,不会对src/test/java中的测试类进行编译
MVN编译使用
maven-resources-plugin:2.6:resources
maven-compiler-plugin:2.5.1:compile
mvn test
test命令首先将src/test/java中的测试代码编译到target/test-classes中,然后执行target/test-classes中的单元测试类,将单元测试的执 ...
[Maven一]Maven概览
- 博客分类:
- Maven
什么是Maven
Maven这个单词意为知识的积累,最早在Jakata Turbine项目中它开始被用来试图简化构建过程,Maven是一种很方便的发布项目信息的方式,以及一种在多个项目中共享JAR的方式。
Maven是项目管理工具,它为项目构建、测试、打包、部署定义了一个标准的生命周期。。
Maven基于一个 通用的软件对象模型(Project Object Model),也就是POM。
Maven项目属于Apache软件基金会的一个顶级项目http://maven.apache.org/。Apache的很多项目都是基于Maven来管理的。同时,越来越多的项目和产品使用Mav ...
开发环境
1.Script.Net提供了Lua的开发和调试的功能,
http://www.blueantstudio.net/scriptnet/download/download.htm
2.Eclipse LUA(LDT)提供了Lua的开发和调试的功能,以及基本的代码提示
http://www.eclipse.org/koneki/ldt/#installation
注释
--表示单行注释,类似Java的//
--[[多行注释]], 类似Java的/**/
赋值运算
local function main()
--[[
复制运算符: =
...
ClientCnxn是Zookeeper客户端和Zookeeper服务器端进行通信和事件通知处理的主要类,它内部包含两个类,1. SendThread 2. EventThread, SendThread负责客户端和服务器端的数据通信,也包括事件信息的传输,EventThread主要在客户端回调注册的Watchers进行通知处理
ClientCnxn构造方法
/**
* Creates a connection object. The actual network connect doesn't get
* established unt ...
Zookeeper重载了几个构造函数,其中构造者可以提供参数最多,可定制性最多的构造函数是
public ZooKeeper(String connectString, int sessionTimeout, Watcher watcher, long sessionId, byte[] sessionPasswd, boolean canBeReadOnly)
/**
* To create a ZooKeeper client object, the application needs to pass a
* connect ...
ClientWatchManager接口
//接口的唯一方法materialize用于确定那些Watcher需要被通知
//确定Watcher需要三方面的因素1.事件状态 2.事件类型 3.znode的path
public interface ClientWatchManager {
/**
* Return a set of watchers that should be notified of the event. The
* manager must not notify the watcher(s), however it will upd ...
public enum States {
CONNECTING, //Zookeeper服务器不可用,客户端处于尝试链接状态
ASSOCIATING, //???
CONNECTED, //链接建立,可以与Zookeeper服务器正常通信
CONNECTEDREADONLY, //处于只读状态的链接状态,只读模式可以在构造Zookeeper时指定
CLOSED, //会话关闭,显式调用Zookeeper的close方法
AUTH_FAILED, //建立链接时,认证失败
...
Zookeeper类是Zookeeper提供给用户访问Zookeeper service的主要API,它包含了如下几个内部类
首先分析它的内部类,从WatchRegistration开始,为指定的znode path注册一个Watcher,
/**
* Register a watcher for a particular path.
*/
abstract class WatchRegistration {
//Watcher和clientPath组织在一起,一个Watcher对应一个具体的path,一个具体 ...
Zookeeper的会话状态变迁图:
Connection Loss:CONNECTION_LOSS意味着客户端和服务器端的连接断开,比如,客户端创建一个Zookeeper实例,开始客户端和服务端的会话,然后进行一系列的操作。如果客户端挂了,网络出现异常或者服务器端挂了,都会导致客户端和服务器端的连接断开。连接断开时,如果客户端进程正常工作,它将收到一个Disconnected事件,收到此事件,客户端不能假设是服务器端挂了还是网络出现问题,同样,服务器如果仍然正常工作,也不能假设是客户端挂了还是出现了网络问题。
在Connection Loss的情况下,客户端不能假设它之前发 ...
为了说明问题,看个简单的代码,
import org.apache.zookeeper.*;
import java.io.IOException;
import java.util.concurrent.CountDownLatch;
import java.util.concurrent.ThreadLocalRandom;
public class ZKApplication implements Watcher {
private static final i ...
为了说明问题,先来看个简单的示例代码:
package com.tom.zookeeper.book;
import com.tom.Host;
import org.apache.zookeeper.WatchedEvent;
import org.apache.zookeeper.ZooKeeper;
import org.apache.zookeeper.Watcher;
import java.io.IOException;
public class Master implements Watcher {
ZooKeeper zk;
...
Zookeeper伪分布式安装脚本(此脚本在一台机器上创建Zookeeper三个进程,即创建具有三个节点的Zookeeper集群。这个脚本和zookeeper的tar包放在同一个目录下,脚本中指定的名字是zookeeper的3.4.6版本,需要根据实际情况修改):
#!/bin/bash
#!!!Change the name!!!
#The zookeeper file should be figured out in the same directory with this script
ZOOKEEPER_FILE=zookeeper-3.4.6
...
首先,会话超时是由Zookeeper服务端通知客户端会话已经超时,客户端不能自行决定会话已经超时,不过客户端可以通过调用Zookeeper.close()主动的发起会话结束请求,如下的代码输出内容
Created /zoo-739160015
CONNECTEDCONNECTED
.............CONNECTEDCONNECTED
CONNECTEDCLOSEDCLOSED
上述代码是针对standalone mode下的zookeeper server运行的,虽然代码中有意的让会话超时,可实际上会话并没有超时,一直处于CONNECTED状态,服务器端的znode ...