摘要:1.Synchronized 包括对象锁,类锁 对象锁: 作用于一个普通类的代码块,那么当前加锁的级别就是实例对象,当多个线程并发访问该对象的同步方法、同步代码块时,会进行同步。 类锁: 修饰类静态方法时,那么当前加锁的级别就是类,当多个线程并发访问该类(所有实例对象)的同步方法以及同步代码块时,会
阅读全文
摘要:一、概述 AMQP,即Advanced Message Queuing Protocol,高级消息队列协议,是应用层协议的一个开放标准,为面向消息的中间件设计。消息中间件主要用于组件之间的解耦,消息的发送者无需知道消息使用者的存在,反之亦然。 二、架构 生产者通过routingkey将消息发送到br
阅读全文
摘要:一、概述 Kylo是一个面向企业的现代数据湖管理软件平台,适用于Teradata、ApacheSpark或Hadoop等大数据引擎。Kylo根据150多个成功的大数据项目的经验,围绕元数据管理、治理和安全实施最佳实践。 二、架构 每个service是一个单独的组件,service通过调用plugin
阅读全文
摘要:1.概述 大数据组件中数据量较大且都是分布式的,跨集群的迁移主要用作备份。 2.HDFS 可以通过分析editlog来确定数据变更的分区,然后通过distcp命令来完成。 3.HBase 可以通过TimeRange来查询增量数据 在old cluster中每一个regionserver下 <prop
阅读全文
摘要:一、概述 hbase是一个非关系型分布式数据库,满足快速随机读写的功能。 二、存储流程 首先调用master找到一个表对应的HRegionServer,然后从regeionServer中找到对应的HRegion,一个HRegion就是一张表的数据,包含一个HLog和若干个HStore。 一个HSto
阅读全文
摘要:一、元数据 集群层面元数据,索引层面元数据,分片层面元数据 MetaData(集群),主要是clusterUUID、settings、templates等 IndexMetaData(索引层),主要是numberOfShards、mappings等 ShardStateMetaData(分片层),主
阅读全文
摘要:一.写流程 1.客户端想node1发送写请求 2.node1使用id来确定文档属于分片0,通过集群状态中的内容路由表信息获知分片0的主分片位于node3,因此请求转发到node3上 3.node3上的主分片执行写操作,如果写入成功,则它将请求并行转发到node1和node2的副分片上,等待返回结果,
阅读全文
摘要:1.概述 Elasticsearch是一个基于Lucene的搜索服务器。它提供了一个分布式多用户能力的全文搜索引擎,基于RESTful web接口。 2.启动流程 1) 选举主节点 2) 选举集群元信息 3) allocation过程 4) index recovery 5) 集群启动日志 3.选主
阅读全文
摘要:1.nohup 如果想在后台运行一个程序,nohup虽然能马上返回,但是当推出bash时nohup进程依然会退出,所以需要新建一个shell文件 nohup jupyter notebook --no-browser & 然后只想shell文件,即可在后台运行。 2.grep 从一个文件中搜索一个文
阅读全文
摘要:一、Group元数据 主要负责consumer group的管理,每个GroupCoordinator只负责管理一个consumer group的一个子集。 主要功能:处理JoinGroupRequest请求,处理SyncGroupRequest请求,完成分区分配功能,通过GroupMetadata
阅读全文
摘要:1.副本机制 副本本身只是一个分区的指代,即副本对象Replica都最终指向一个Partition。 在一个分区的Leader副本中会维护自身以及所有follower副本的状态,follower副本只维护自己的状态,在leader中partition的副本分两种localReplica和Remote
阅读全文
摘要:1.服务端概述 完成消息的接收存储转发,集群维护,节点管理等功能。 2.整体架构 网络层负责接收和发送客户端请求,处理主要网络层逻辑,Api层主要完成业务逻辑,包括集群维护,负载均衡,日志存储。 3.网络层SocketServer 首先客户端与Acceptor连接,请求由Acceptor监听,监听到
阅读全文