rpc

Git fails when pushing commit to github

纵饮孤独 提交于 2019-11-26 03:02:18
问题 I cloned a git repo that I have hosted on github to my laptop. I was able to successfully push a couple of commits to github without problem. However, now I get the following error: Compressing objects: 100% (792/792), done. error: RPC failed; result=22, HTTP code = 411 Writing objects: 100% (1148/1148), 18.79 MiB | 13.81 MiB/s, done. Total 1148 (delta 356), reused 944 (delta 214) From here it just hangs and I finally have to CTRL + C back to the terminal. 回答1: I had the same issue and

Hadoop NameNode 高可用 (High Availability) 实现解析

江枫思渺然 提交于 2019-11-26 00:40:52
原文链接 NameNode 高可用整体架构概述 在 Hadoop 1.0 时代,Hadoop 的两大核心组件 HDFS NameNode 和 JobTracker 都存在着单点问题,这其中以 NameNode 的单点问题尤为严重。因为 NameNode 保存了整个 HDFS 的元数据信息,一旦 NameNode 挂掉,整个 HDFS 就无法访问,同时 Hadoop 生态系统中依赖于 HDFS 的各个组件,包括 MapReduce、Hive、Pig 以及 HBase 等也都无法正常工作,并且重新启动 NameNode 和进行数据恢复的过程也会比较耗时。这些问题在给 Hadoop 的使用者带来困扰的同时,也极大地限制了 Hadoop 的使用场景,使得 Hadoop 在很长的时间内仅能用作离线存储和离线计算,无法应用到对可用性和数据一致性要求很高的在线应用场景中。 所幸的是,在 Hadoop2.0 中,HDFS NameNode 和 YARN ResourceManger(JobTracker 在 2.0 中已经被整合到 YARN ResourceManger 之中) 的单点问题都得到了解决,经过多个版本的迭代和发展,目前已经能用于生产环境。HDFS NameNode 和 YARN ResourceManger 的高可用 (High Availability,HA) 方案基本类似

微服务架构攀登之路(二)之RPC

℡╲_俬逩灬. 提交于 2019-11-25 21:58:26
1. RPC 简介 ⚫ 远程过程调用(Remote Procedure Call,RPC)是一个计算机通信协议 ⚫ 该协议允许运行于一台计算机的程序调用另一台计算机的子程序,而程序员无需额外地为这个交互作用编程 ⚫ 如果涉及的软件采用面向对象编程,那么远程过程调用亦可称作远程调用或远程方法调用 2. 流行 RPC 框架的对比 3. golang 中如何实现 RPC ⚫ golang 中实现 RPC 非常简单,官方提供了封装好的库,还有一些第三方的库 ⚫ golang 官方的 net/rpc 库使用 encoding/gob 进行编解码,支持 tcp 和 http 数据传输方式,由于其他语言不支持 gob 编解码方式,所以 golang 的 RPC 只支持 golang 开发的服务器与客户端之间的交互 ⚫ 官方还提供了net/rpc/jsonrpc 库实现RPC 方法,jsonrpc 采用JSON 进行数据编解码,因而支持跨语言调用,目前 jsonrpc 库是基于 tcp 协议实现的,暂不支持 http 传输方式 ⚫ golang 的 RPC 必须符合 4 个条件才可以 ◼ 结构体字段首字母要大写,要跨域访问,所以大写 ◼ 函数名必须首字母大写(可以序列号导出的) ◼ 函数第一个参数是接收参数,第二个参数是返回给客户端参数,必须是指针类型 ◼ 函数必须有一个返回值 error ⚫