tinkerpop 的 step

一、简单调试 api地址: http://tinkerpop.apache.org/javadocs/current/full/ 第一步: JanusGraph graph = JanusGraphFactory.open("janusgraph-dist/src/assembly/cfilter/conf/janusgraph-berkeleyje-es.properties"); GraphTraversalSource g = graph.traversal(); g.V().has("name", "saturn").path(); List<Path> paths = path.toList(); 一步一步看整个调用过程: 进入: fill:179, Traversal (org.apache.tinkerpop.gremlin.process.traversal) fill 方法的代码: final Step<?, E> endStep = this.asAdmin().getEndStep(); while (true) { final Traverser<E> traverser = endStep.next();

janusgraph源码分析7-关系存储

基础类 InternalRelation 和 InternalRelationType 有关类型体系很复杂,可以使用 IDEA 的显示继承体系功能,查看类图。类图比较大,不太好看。大概描述一下: 主要是 JanusGraphElement 作为顶级类,接下来还有一

janusgraph源码分析8-索引存储

上一节我们了解了 JanusGraph 的关系存储,主要是在 EdgeSerializer 中的序列化和反序列化,我们还要这次看看 IndexSerializer 的相关类。 基础类 IndexSerializer 用来序列化,反序列化 IndexProvider IndexProvider 继承自 IndexInformation ,Inde

resourcemanager

参考资料: HadoopHa hadoop 有两个NameNode,Active NameNode和Standby NameNode,通过 DFSZKFailoverController extends ZKFailoverController 进行切换。 ZKFailover

yarn-api使用

参考: https://ieevee.com/tech/2015/05/05/yarn-dist-shell.html distributeshell Client解析 distShell主要有2个类组成,Client和ApplicationMaster。两个类都带有main入口。C

hdfs-client

参考资料: hadoop 技术内幕丛书 写 创建流 简单写一个 demo 进行测试,通过打断点方法,另外发现一个问题, 在 dfsClient.namenode.create 打断点调试会报错,可能是因为动态代理卡主了 : 注意

yarn-nodemanager-剖析

架构 ContainerManagementImpl Container 生命周期 第一步是 RM 的 applicationMasterLauncher ,创建 ApplicationMasterLauncher 后,遇到 launch 时间 , case LAUNCH: launch(application); => new AMLauncher(context, application, event, getConfig()); 这个任务放进 队列里面等待执行,一旦执行会调用 launch() 方法,然后调用 containerMgrProxy.startContainers(allRequests); 这是 RPC

yarn-resourcemanager-1

参考资料: https://hortonworks.com/blog/apache-hadoop-yarn-resourcemanager/ 提交应用程序的过程 1. yarnClient.submitApplication(appContext); 新建请求,最终调用: rmClient.submitApplication(request); 实际上会通过RPC调用 ClientRMService.submitApplication(SubmitApplicationRequest request) 得到APPID:ApplicationId applicationId = submissionContext.getApplicationId(); rmAppManager.submitApplication(submissionContext, System.currentTimeMillis(), user); 放到

yarn-基础库

yarn-事件库和服务库 使用 新建Event和EventType 新建 AsyncDispatcher 并给 AsyncDispatcher 注册 Event 和对应的 EventHandler 调用 AsyncDispatcher 的 getEventHandler 得到 EventHandler 然后调用 handler 的 handle 方法处理 Event 基本原理:

JanusGraph官网文档

一、JanusGraph Basics 1.config Chapter 3. Getting Started janus 使用 gremin 的基本语法,详情考:http://tinkerpop.apache.org/docs/curre

分布式算法理论

一、算法 二、理论 1. Two-phase commit protocol 直接翻译维基百科的解释了: https://en.wikipedia.org/wiki/Two-phase_commit_protocol In transaction processing, databases, and computer networking, the two-phase commit protocol (2PC) is a type of atomic commitment protocol (ACP). 在处理事务、数据库和计算机网络,2PC是一种原子