大数据组件RPC/大数据组件和zookeeper关系思考总结_zookeeper和rpc的关系-程序员宅基地

技术标签: rpc  zookeeper  大数据进阶原理篇  大数据  

RPC总结

kafka 模仿netty自己实现
hbase/hdfs 用netty
flink/spark 老版本 akka 新版本 netty

hadoop 是大量数据传输用http,常规远程调用用hadoop RPC

主从NameNode的镜像备份和合并的数据传输通过http形式,大量数据传输用http
简单的方法调用用hadoop RPC,如获取文件契约(类似获取文件的写锁)

额外简单提及一下:
NameNode不会直接操作DataNode,主要通过DataNode主动通过周期性发送心跳给NameNode,
然后NameNode返回响应指令给DataNode。
某个client或dataNode想访问某个dataNode,都需要先和NameNode通信获取主机名端口号。
DataNode启动后开放一个(RPC)socket服务,等待别人调用

DataNode写流程
DataNode对NameNode心跳保持文件契约和续约
pipeline数据管道流程,减小客户端压力
有数据容错,收到数据传输成功的ack,才会删除数据。不然重试

Zookeeper关系

凡是涉及到主从的都是需要使用zookeeper来实现的

hadoop
Zookeeper负责NameNode主从选举和切换,DN同时向NN们回报block清单

kafka
1 zk负责主从副本的选举,记录元数据信息
2 主副本监听zk元数据的变化(即如后续用户修改了分区数量等问题)并作更新,然后从副本做元数据同步

kafka 主副本不需要动态修改元数据信息。因为分区数量,副本数量多少等问题是kafka启动时就设定好的,是静态的不是动态的,数据只需要根据hash等规则固定的打散写入不同的副本中即可

hbase
1 zk负责master主从选举,记录元数据信息
2 hbase 和 kafka 不一样,因为涉及数据的动态文件合并/切分/GC等,元数据不是固定不变的。所以hbase需要加入master角色来负责做数据的负载均衡等问题,并更新到zookeeper中。
3 master不和RegionServer集群通讯,rs集群和zk汇报信息,master只监听zk子节点的变化即可。即如集群添加一个rs,子节点会增加一个,master则能够感知到 (这点和kafka主副本功能类似)

现象总结:单主多从,单主节点宕机,也就是当Master不存在时,依然支持数据的读写。但是 1 不能再建表,修改表结构 2 不能再处理如region的切分等造成的元数据变动

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_40503364/article/details/125889737

智能推荐

怎么用python爬小说_Python3 爬虫 requests+BeautifulSoup4(BS4) 爬取小说网站数据-程序员宅基地

文章浏览阅读458次。刚学Python爬虫不久,迫不及待的找了一个网站练手,新笔趣阁:一个小说网站。前提准备安装Python以及必要的模块(requests,bs4),不了解requests和bs4的同学可以去官网看个大概之后再回来看教程爬虫思路刚开始写爬虫的小白都有一个疑问,进行到什么时候爬虫还会结束呢?答案是:爬虫是在模拟真人在操作,所以当页面中的next链接不存在的时候,就是爬虫结束的时候。1.用一个queue来..._期末作业爬虫仿图书网站bs4

Mysql下载安装配置_my.ini下载-程序员宅基地

文章浏览阅读677次。1、下载Mysql安装包2、Mysql配置文件3、Mysql配置环境变量4、Mysql启动前设置5、JDK环境变量配置_my.ini下载

伦理困境:人工智能浪潮与“AI威胁论”之争-程序员宅基地

文章浏览阅读2.8k次。近年来,人工智能领域得到了极大的重视与发展,扎克伯格在直播时说,“我对AI的发展特别乐观,那些反对AI的人,总是担心世界末日的到来,这非常不利于技术的推动。但技术的推动是为了让世界运转得更高效的,帮助人们的生活变得更美好的。”但与此同时,这也引发了社会对于AI与伦理问题的热议。被誉为“冒险家”的马斯克反复强调,“我们需要思考,什么样的监管制度才能约束AI可能给我们人类造成的伤害。”...

张飞硬件设计与开发视频-程序员宅基地

文章浏览阅读4.3k次。1~20部,30,要的留下联系方式转载于:https://www.cnblogs.com/Lieyuanbingshi/p/11268073.html_硬件设计与开发第二部

java编程题花园修路,java考试可柳能性较高的编程题.doc-程序员宅基地

文章浏览阅读98次。java考试可柳能性较高的编程题PAGEPAGE 162、编写程序将用户输入的一个0~100之间的分数,将其转化成1~5的5分计方法。90~100: 580~90: 470~80: 360~70: 2其他: 1import java.util.Scanner;public class ScoreClass {public static void main(String[] args) {Sca..._实现将用户输入一个0~100之间的分数,将其转化成1~5的5分计方法

【FPGA】Xilinx vivado生成.dcp文件的方法_vivado dcp文件-程序员宅基地

文章浏览阅读1k次,点赞7次,收藏13次。首先,需要新建工程,工程顶层文件就是生成后dcp文件的名称,然后在vivado-Tool-setting-project-setting-synthesis路径下,在More options中输入-mode out_of_context(综合时不产生IO buffer),最后对源代码跑综合,综合成功后,可以在工程文件夹中的.runs - .synth_1文件夹中找到生成的dcp文件。DCP文件是vivado软件生成的网表文件,主要起到加密的作用,在不需要提供源代码的情况下运行工程。_vivado dcp文件

随便推点

时光相册云函数打卡_时光相册 csdn-程序员宅基地

文章浏览阅读1.6k次。找到加密的密码找到时光相册官网点击登录打开网页的检查模式保存下手机号和密码 下个步骤会需要布置云函数例如阿里云函数打开函数计算 选择服务及函数创建函数名字随意配置128mb 超时30s即可如果不需要server酱提示 把代码倒数第三行的post请求这一行删除以下{手机号},{密码},{自己的server地址},均直接替换不需要保留{}括号import requestsimport jsonimport timedef start(): header = { _时光相册 csdn

VideoCapture读取不到视频,但cvCreateFileCapture可以,什么情况?_cvcreatefilecapture 与videocapture-程序员宅基地

文章浏览阅读6.5k次。代码很简单: // Test_Video.cpp : 定义控制台应用程序的入口点。//#include "stdafx.h"#include "cv.h"#include <opencv2\opencv.hpp>using namespace cv;int _tmain(int argc, _TCHAR* argv[]){// CvCapture *ca..._cvcreatefilecapture 与videocapture

NGUI动态加载图片创建Texture_ngui 动态新建texture-程序员宅基地

文章浏览阅读4.8k次。using UnityEngine;using System.Collections;public class CreateTexture : MonoBehaviour { // Use this for initialization void Start () { UITexture uiTexture = NGUITools.AddWidget(gameObj_ngui 动态新建texture

MyBatis mapper.xml中SQL处理小于号与大于号_idea mapper.xml小于大于-程序员宅基地

文章浏览阅读1.9k次。这种问题在xml处理sql的程序中经常需要我们来进行特殊处理。 其实很简单,我们只需作如下替换即可避免上述的错误:<<=>>=&'"<<=>>=&'"例如常见的时间比较:错误写法 正确写法转:https://blog.csdn.net/zl18..._idea mapper.xml小于大于

GMP原理与调度_gmp 的整个过程,m 发生系统调用了 g 和 p 会怎么样,m 系统调用结束以后会怎么样,-程序员宅基地

文章浏览阅读133次。GMP是Go语言运行时(runtime)层面的实现,是go语言自己实现的一套调度系统,区别于操作系统调度OS线程。_gmp 的整个过程,m 发生系统调用了 g 和 p 会怎么样,m 系统调用结束以后会怎么样,

【原创】浅谈SmartFlash与Delphi交互研究_tsfflashplayer delphi10-程序员宅基地

文章浏览阅读285次。一直以为,做桌面程序,和Flash沾边关系不大。直到客户要求想用Flash WebGIS替代传统的OCX(VC++)的,才匆匆去研究Flash一番。1、SmartFlash主动与delphi交互是通过OnHandleFSCommand(ASender: TObject; const command, args: WideString)事件交互,比较简单。简单的示例:procedure TForm1_tsfflashplayer delphi10

推荐文章

热门文章

相关标签