new DMS

来源:互联网 发布:软件开发学习课程 编辑:程序博客网 时间:2024/06/06 23:50

Client.jar

  1. zookeeper中获取可用的nameNode
  2. nameNode上获取可用的dataNode列表。
  3. 获取dataNode列表后,设置监听,任何一个dataNode节点发生变化,重新获取dataNode列表,初始化hash环(大map)。
  4. DataNode列表初始化hash环的大treeMap<long,ip>,并作虚拟节点。
  5. 存储数据时,把keyhash,去treeMap中取ip,通过ipnio传输,调用dataNode.jar
  6. 重新封装所有redis的方法,用nio做传输。

 

 

NameNode.jar

  1. 启动时,注册zookeeper服务,注册不上通过getData设置监听,不断注册。
  2. zookeeper上获取DataNode节点列表,封装列表元数据到redis,获取不到设置监听,继续获取。
  3. 存储管理信息、数据迁移信息、存储库信息、存储表信息

 

 

DataNode.jar

  1. 注册服务(n个)到zookeeper,注册不上通过getData设置监听,不断注册。为什么是n个?因为可能一台机器存在其他机器的备份。
  2. 通过ip创建redisPool
  3. 封装jedis的所有方法,写数据
  4. zookeeper中获取nameNode节点,通过nameNode节点获取DataNode备份信息,将数据同步

 

0 0
原创粉丝点击