问题现象描述
编译安装ClickHouse时,下载相关依赖项过程中,有部分组件下载失败,提示“Failed to recurse into submodule path...”,如下图所示:

关键过程、根本原因分析
由于下载依赖组件过程中,网络服务器承载量达到极限,导致部分组件下载失败。
结论、解决方案及效果
- 通过.gitmodules文件查看对应依赖的下载链接。
|
cd /home/ClickHouse
vi .gitmodules
|
- 进入“/contrib”目录,将对应错误的目录进行删除,然后使用git clone重新下载。
- 删除arrow包并重新下载。
|
rm -rf arrow
git clone git://github.com/apache/arrow
|

- 删除brotli包并重新下载。
|
rm -rf brotli
git clone git://github.com/google/brotli.git
|

- 删除cppkafka包并重新下载。
|
rm -rf cppkafka
git clone git://github.com/mfontanini/cppkafka.git
|

- 删除grpc包并重新下载。如果当前包要求从指定的版本分支中下载,请在git clone后加上-b 分支版本号,如下所示:
|
rm -rf grpc
git clone -b v1.25.0 git://github.com/ClickHouse-Extras/grpc.git
|

- 可以使用git branch查看当前版本是否是v1.25.0分支版本。

- 输入q按键退出,同时退出当前目录。
- 删除msgpack-c包并重新下载。
|
rm -rf msgpack-c
git clone git://github.com/msgpack/msgpack-c
|

- 删除rapidjson包并重新下载。
|
rm -rf rapidjson
git clone git://github.com/ClickHouse-Extras/rapidjson
|

- 删除simdjson包并重新下载。
|
rm -rf simdjson
git clone git://github.com/ClickHouse-Extras/simdjson
|
