开源项目拉取与常见问题处理
前言
大数据发开过程中,不可避免的要和组件的源码打交道(组件的编译打包、组件新特性的合入、Bug的修复、贡献社区等)。下面,我们就以HBase为例,讲一下怎么拉取开源项目,以及一些常见问题的解决方式。
1 准备工作
拉取开源项目代码时,需要准备以下几点:Github账号注册、Git工具安装。
1.1 Github账号注册
1.进入github官网:https://github.com/ 如下图所示:
填写本人邮箱,点击Sign up for GitHub
然后按照提示,一步步执行,即可创建GitHub账户。
1.2 Git工具安装
1.进入git官网 https://git-scm.com/downloads,下载安装包。
根据安装环境,下载指定版本安装即可。接下来按照提示全部默认安装即可(安装路径根据需要修改)。
2 拉取开源项目
2.1 查找项目
首先,在GitHub上找到想要拉取的项目。以HBase为例:
登陆个人账号后,直接在左上方“搜索框”内搜索项目名即可。这里选择 apache/hbase
2.2 拉取项目
点击 Code,会出现上图的选项。我们可以选择HTTPS或者SSH方式拉取项目。这个看个人习惯,选择即可。
在指定目录下,执行git命令,拉取项目。
2.3 HTTPS与SSH方式的区别
https://github.com/apache/hbase.git
git@github.com:apache/hbase.git
这两种方式都可以将项目克隆到本地。但他们的区别是什么呢?
HTTPS:对于初学者来说,使用https url克隆比较方便,复制https url然后到git Bash里面直接用clone命令克隆到本地就好了,但是每次fetch和push代码都需要输入账号和密码,这也是https方式的麻烦之处。
SSH:使用SSH url克隆需要在克隆之前先配置和添加好SSH key,但是每次fetch和push代码都不需要输入账号和密码。
2.3.1 SSH配置流程
1、设置git的user name和email
初次安装的git需要配置下用户名和邮箱地址
git config --global user.name "yourName"
git config --global user.email "yourEmail"
2、生成SSH Key
初次安装的git需要生成SSH Key文件
cd ~/.ssh
ssh-keygen -t rsa -C "yourEmail"
ls
//看是否存在 id_rsa 和 id_rsa.pub文件,如果存在,说明已经有SSH Key
3、GitHub添加SSH Key
将上文 id_rsa.pub
的内容拷贝到GitHub中新建的SSH Key中即可。
3 常见问题处理
3.1 项目拉取失败
拉取项目时,总是报:
error: RPC failed; curl 18 transfer closed with outstanding read data remaining fatal: the remote end hung up unexpectedly
根据网上教程,有以下几个原因,可能导致该问题:
原因1:缓存区溢出(项目过大导致)
设置 git config --global http.postBuffer 524288000 (单位是b,500M左右),仍然报错。
原因2:网速太慢
git config --global http.lowSpeedLimit 0
git config --global http.lowSpeedTime 999999
仍然报错。
原因3:项目过大
拉取项目时,设置浅层clone
git clone --depth=1 https://github.com/apache/druid.git
仍然报错。
最后改用SSH方式拉取,成功。