文章分类 - J_Review
摘要:getway模块用于集群元数据的存储以及重启时元数据的恢复,大致流程是 1、当master选举出来判断当前集群状态中元数据是否恢复,如果恢复的话跳过getway 否则的话 2、maste从个节点拉取元数据 3、判断各个节点的元数据中版本号最高的元数据最为最新元数据 (包括集群 和 索引) 4、确定之
阅读全文
摘要:Sequence Number 每次进行索引操作seqNum自增,主要用于恢复时选择需要恢复哪部分数据 Primary Term 每次主分片易主这个数会增加,主要目的是防止一个陈旧的主分片重新加入进来时进行脏数据的操作,如当一个主分片暂时 离开集群,离开前刚好在进行数据的操作,此时已经选择了新主分片
阅读全文
摘要:Es 恢复流程大体上分为 init index verify_index translog finalize done 6个阶段 恢复流程包括多个模块 getway: 读取集群 索引 元信息 然后更新 之后调用reroute allocation: 调用reroute后执行分片服务,分完片后更新集群
阅读全文
摘要:Es 的search流程 1、协调节点接收到search请求后封装查询request 2、从clusterMata中获取索引有多少分片 设置相关参数,循环发送到分片所在的节点 3、分片接收到meaasge后判断是否要走cache 4、不需要走cache的话交交给lucene去查,查询完滞后判断是否要
阅读全文
摘要:整体流程协调节点封装请求发送给对应的分片,如果在此分片失败找下一个分片,成功后封装结果返回给客户端 请求入口 RestGetAction @Override public RestChannelConsumer prepareRequest(final RestRequest request, fi
阅读全文
摘要:Es写索引包括协调节点流程和节点写索引的流程 协调节点主要做索引的预处理、检查、分发任务 节点执行完后发发送给主分片所在节点,该节点把response发送给协调节点,协调节点发送给用户 入口在TransportBulkAction的doExecute @Override protected void
阅读全文
摘要:实例化node后调用各个模块的 start方法,discovery模块调用startInitialJoin()->startNewThreadIfNotRunning()->innerJoinCluster() /** * the main function of a join thread. Th
阅读全文
摘要:ThreadPoolExecutor // runState is stored in the high-order bits //能提交新的任务,并且也能处理阻塞队列中的任务 private static final int RUNNING = -1 << COUNT_BITS; //关闭状态,不
阅读全文
摘要:1. G1概览 G1 GC 全称是Garbage First Garbage Collector,垃圾优先垃圾回收器,以下简称G1。G1是HotSpot JVM的短停顿垃圾回收器。其实关于G1的论文早在2004年就有了,但是G1是在2012年4月发布的JDK 7u4中才实现。从长期来说,G1旨在取代
阅读全文
摘要:1、内存结构 程序计数器 : 程序计数器是一块较小的内存空间(线程私有),它可以看作是当前线程所执行的字节码的行号指示器。字节码解释器工作时就是通过改变这个程序计数器的值来选取吓一跳执行的字节码指令,分支、循环、跳转,异常都要依赖这个计数器,所以程序计数器是线程私有的 java虚拟机栈 :描述的是J
阅读全文
摘要:一、类加载顺序: 1、加载 加载二进制字节流,在内存中生成java.lang.class对象,二进制字节流可以从多个方面获取,如 网络 、数据库、zip等 2、验证 确保class字节流是满足虚拟机规范,并不会威胁虚拟机自身安全 这个阶段包括文件格式验证(比如 魔数 版本等),元数据验证 字节码验证
阅读全文