Giter Site home page Giter Site logo

hackbase's Introduction

HackBase

zju大规模系统构建课程作业。


6.6 更新

Client查询中系统整体流程

读写操作等

  1. 通过zookeeper查找对应的Region Server的地址
  2. Region Server发送读写等请求

新建表的操作

  1. Master发送建立表的请求
  2. Master建立region(目前版本一个region对应一个一个table)并分配该region给某个Region Server
  3. 返回该Region Server的地址给Client

Master需要负责的功能

  1. 管理和维护表的分区信息(哪个region在那一台server上)(参见HBase架构里面的META表)
  2. 副本维护:预留接口(暂时先不做该功能)
  3. 负载均衡:监测到某个Region Server负载过高的时候,将访问最频繁?最不频繁(需要注意热点过热的问题)的Region转移到其他的Region Server上(Region Server需要不断向zookeeper汇报自己的状态信息
  4. 容错容灾:监测zookeeper中的Region Server信息,如果某台Region Server掉线了,则将该其中的Region移动到其他的Region Server上(?存在疑问:如何在server挂了之后访问到其的Log文件并发送给其他Region Server

Region Server需要负责的功能

  1. 对minisql的操纵(这部分简单,修改接口即可)
  2. Log文件的记录(日志格式,如何存储等)
  3. 根据Log文件重启回复(容错容灾步骤)
  4. 查看自己的性能指标并向?汇报
  5. Client通讯的接口
  6. zookeeper通讯(第一次启动的注册)

6.4 更新

RIP 就連香港都禁止悼念了

人员分工:

  1. lc, lxw: master, zookeeper
  2. hsy, zy: client, region server, HackDFS(这部分打算照搬minisql)

==从今天之后,更新都在对应的文件夹中分开进行。==

==同时更新了参考文件:lwm关于分布式minisql的pdf,具体请移步至refs==

6.1更新

todo

目前需要考虑的问题:

  • 底层文件系统按照传统方式(行储存)还是按照HDFS的列式储存按照行存
  • ~~Region Server这部分使用C++还是java~~使用c++

架构

组件

  1. Client
  2. Master: 管理维护表的分区信息、维护Region Server列表、分配Region和负载均衡
  3. Region Server:存储和维护分配给自己的Region、处理来自Client的读写请求
  4. Related to Zookeeper:实现Region的定位和心跳检测等
  5. HackDFS(the file system)

Region 和 Region Server

Region的定位


参考:

  1. lwm课件(见refs中)

hackbase's People

Contributors

agenzysheep avatar arcticcafe avatar doctorkk avatar

Watchers

 avatar

Forkers

doctorkk

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.