Impala编译错误及解决办法汇总

Impala repo里有C++、Java、Python、Bash的代码,编译过程中可能遇到各种问题。这个文章将作为一个汇总,以后每遇到一个编译问题,解决完后都会更新一下。

FE编译问题

Maven报错:Return code is: 501, ReasonPhrase:HTTPS Required.

在一台CentOS 7.4机器上编译Impala 4.0时遇到错误:

$ (pushd java && mvn clean package -DskipTests)
......
[INFO] ------------------------------------------------------------------------
[INFO] Building Apache Impala Parent POM 4.0.0-SNAPSHOT
[INFO] ------------------------------------------------------------------------
Downloading: http://repo.maven.apache.org/maven2/org/apache/maven/plugins/maven-clean-plugin/2.4.1/maven-clean-plugin-2.4.1.pom
[INFO] ------------------------------------------------------------------------
[INFO] Reactor Summary:
[INFO]
[INFO] Apache Impala Parent POM .......................... FAILURE [0.281s]
[INFO] Test Data Generator ............................... SKIPPED
[INFO] impala-minimal-s3a-aws-sdk ........................ SKIPPED
[INFO] impala-minimal-hive-exec .......................... SKIPPED
[INFO] Impala Executor Dependencies ...................... SKIPPED
[INFO] Apache Impala External Data Source ................ SKIPPED
[INFO] Apache Impala External Data Source API ............ SKIPPED
[INFO] Apache Impala External Data Source Sample ......... SKIPPED
[INFO] Apache Impala External Data Source Test Library ... SKIPPED
[INFO] Apache Impala Query Event Hook API ................ SKIPPED
[INFO] YARN Extras ....................................... SKIPPED
[INFO] Apache Impala Query Engine Frontend ............... SKIPPED
[INFO] Impala Nested Table Flattener ..................... SKIPPED
[INFO] test-hive-udfs .................................... SKIPPED
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 0.408s
[INFO] Finished at: Thu Nov 19 17:35:58 PST 2020
[INFO] Final Memory: 16M/951M
[INFO] ------------------------------------------------------------------------
[ERROR] Plugin org.apache.maven.plugins:maven-clean-plugin:2.4.1 or one of its dependencies could not be resolved: Failed to read artifact descriptor for org.apache.maven.plugins:maven-clean-plugin:jar:2.4.1: Could not transfer artifact org.apache.maven.plugins:maven-clean-plugin:pom:2.4.1 from/to central (http://repo.maven.apache.org/maven2): Failed to transfer file: http://repo.maven.apache.org/maven2/org/apache/maven/plugins/maven-clean-plugin/2.4.1/maven-clean-plugin-2.4.1.pom. Return code is: 501, ReasonPhrase:HTTPS Required. -> [Help 1]
[ERROR]
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR]
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/PluginResolutionException

这个跟Impala 4.0无法,主要是maven repo要求用HTTPS的方式访问。而这台机器上的maven版本比较旧,使用的还是HTTP的URL,自己在 ~/.m2/settings.xml 里写个 HTTPS 的 URL 就行了:

<?xml version="1.0" encoding="UTF-8"?>
<settings><mirrors><mirror><id>maven</id><name>central maven</name><url>https://repo.maven.apache.org/maven2</url><mirrorOf>central</mirrorOf></mirror></mirrors>
</settings>

国内的服务器使用阿里云之类的镜像会更快,也没有HTTPS的强制限制,可以把 ~/.m2/settings.xml 改为:

<?xml version="1.0" encoding="UTF-8"?>
<settings><mirrors><mirror><id>alimaven</id><name>aliyun maven</name><url>http://maven.aliyun.com/nexus/content/groups/public/</url><mirrorOf>central</mirrorOf></mirror></mirrors>
</settings>

Maven报错:net.sourceforge.czt.dev:cup-maven-plugin:1.6-cdh

[INFO] BUILD FAILURE
[ERROR] Plugin net.sourceforge.czt.dev:cup-maven-plugin:1.6-cdh or one of its dependencies could not be resolved: Failed to read artifact descriptor for net.sourceforge.czt.dev:cup-maven-plugin:jar:1.6-cdh: Could not find artifact net.sourceforge.czt.dev:cup-maven-plugin:pom:1.6-cdh in cloudera.thirdparty.repo (https://repository.cloudera.com/content/repositories/third-party) -> [Help 1]
diff --git a/impala-parent/pom.xml b/impala-parent/pom.xml
index 494749785..28b19128f 100644
--- a/impala-parent/pom.xml
+++ b/impala-parent/pom.xml
@@ -146,7 +146,7 @@ under the License.</repository><repository><id>cdh.rcs.releases.repo</id>
-      <url>https://repository.cloudera.com/content/groups/cdh-releases-rcs</url>
+      <url>https://repository.cloudera.com/artifactory/cdh-releases-rcs</url><name>CDH Releases Repository</name><snapshots><enabled>true</enabled>
@@ -197,7 +197,7 @@ under the License.</repository><repository><id>cloudera.thirdparty.repo</id>
-      <url>https://repository.cloudera.com/content/repositories/third-party</url>
+      <url>https://repository.cloudera.com/artifactory/cdh-releases-rcs</url><name>Cloudera Third Party Repository</name><snapshots><enabled>false</enabled>
@@ -236,7 +236,7 @@ under the License.<pluginRepositories><pluginRepository><id>cloudera.thirdparty.repo</id>
-      <url>https://repository.cloudera.com/content/repositories/third-party</url>
+      <url>https://repository.cloudera.com/artifactory/cdh-releases-rcs</url><name>Cloudera Third Party Repository</name><snapshots><enabled>false</enabled>

BE编译问题

从make切换到ninja报undefined reference错误

Makefile和Ninja是两个不同的编译工具,使用了一个之后,没法立马切换到另一个做增量编译。如果需要从make切换到ninja(反方向同理),初次使用buildall.sh时不要加 -noclean 选项,否则会报如下错误:

[100%] Built target loggingsupport
/home/quanlong/workspace/Impala/be/src/kudu/util/mutex.h:120: error: undefined reference to 'kudu::Mutex::AssertAcquired() const'
../../build/debug/runtime/libRuntime.a(types.cc.o):types.cc:llvm::VerifyDisableABIBreakingChecks: error: undefined reference to 'llvm::DisableABIBreakingChecks'
/home/quanlong/workspace/Impala/be/src/udf/udf.cc:154: error: undefined reference to 'fLI::FLAGS_stress_fn_ctx_alloc'
/home/quanlong/workspace/Impala/be/src/udf/udf.cc:155: error: undefined reference to 'fLI::FLAGS_stress_fn_ctx_alloc'
/home/quanlong/workspace/Impala/be/src/util/thread.cc:304: error: undefined reference to 'fLB::FLAGS_thread_creation_fault_injection'
/home/quanlong/workspace/Impala/be/src/catalog/catalog-server.cc:293: error: undefined reference to 'fLI::FLAGS_stress_catalog_startup_delay_ms'
/home/quanlong/workspace/Impala/be/src/catalog/catalog-server.cc:294: error: undefined reference to 'fLI::FLAGS_stress_catalog_startup_delay_ms'
../../build/debug/codegen/libCodeGen.a(instruction-counter.cc.o):instruction-counter.cc:llvm::VerifyDisableABIBreakingChecks: error: undefined reference to 'llvm::DisableABIBreakingChecks'
../../build/debug/codegen/libCodeGen.a(codegen-callgraph.cc.o):codegen-callgraph.cc:llvm::VerifyDisableABIBreakingChecks: error: undefined reference to 'llvm::DisableABIBreakingChecks'
../../build/debug/codegen/libCodeGen.a(codegen-symbol-emitter.cc.o):codegen-symbol-emitter.cc:llvm::VerifyDisableABIBreakingChecks: error: undefined reference to 'llvm::DisableABIBreakingChecks'
/home/quanlong/workspace/Impala/be/src/exec/exchange-node.cc:97: error: undefined reference to 'fLI::FLAGS_stress_datastream_recvr_delay_ms'
/home/quanlong/workspace/Impala/be/src/exec/exchange-node.cc:98: error: undefined reference to 'fLI::FLAGS_stress_datastream_recvr_delay_ms'
/home/quanlong/workspace/Impala/be/src/exec/hdfs-scan-node-base.cc:706: error: undefined reference to 'fLB::FLAGS_skip_file_runtime_filtering'
/home/quanlong/workspace/Impala/be/src/runtime/io/disk-io-mgr.cc:798: error: undefined reference to 'fLI::FLAGS_stress_scratch_write_delay_ms'
/home/quanlong/workspace/Impala/be/src/runtime/io/disk-io-mgr.cc:799: error: undefined reference to 'fLI::FLAGS_stress_scratch_write_delay_ms'
/home/quanlong/workspace/Impala/be/src/runtime/io/hdfs-file-reader.cc:114: error: undefined reference to 'fLI::FLAGS_stress_disk_read_delay_ms'
/home/quanlong/workspace/Impala/be/src/runtime/io/hdfs-file-reader.cc:115: error: undefined reference to 'fLI::FLAGS_stress_disk_read_delay_ms'
/home/quanlong/workspace/Impala/be/src/runtime/io/local-file-reader.cc:60: error: undefined reference to 'fLI::FLAGS_stress_disk_read_delay_ms'
/home/quanlong/workspace/Impala/be/src/runtime/io/local-file-reader.cc:61: error: undefined reference to 'fLI::FLAGS_stress_disk_read_delay_ms'
/home/quanlong/workspace/Impala/be/src/kudu/rpc/messenger.cc:261: error: undefined reference to 'kudu::ThreadRestrictions::AssertWaitAllowed()'
/home/quanlong/workspace/Impala/be/src/kudu/util/thread_restrictions.h:77: error: undefined reference to 'kudu::ThreadRestrictions::SetWaitAllowed(bool)'
/home/quanlong/workspace/Impala/be/src/kudu/util/thread_restrictions.h:78: error: undefined reference to 'kudu::ThreadRestrictions::SetWaitAllowed(bool)'
/home/quanlong/workspace/Impala/be/src/kudu/util/countdown_latch.h:71: error: undefined reference to 'kudu::ThreadRestrictions::AssertWaitAllowed()'
/home/quanlong/workspace/Impala/be/src/kudu/rpc/reactor.cc:494: error: undefined reference to 'kudu::ThreadRestrictions::SetWaitAllowed(bool)'
/home/quanlong/workspace/Impala/be/src/kudu/rpc/reactor.cc:495: error: undefined reference to 'kudu::ThreadRestrictions::SetIOAllowed(bool)'
/home/quanlong/workspace/Impala/be/src/kudu/util/countdown_latch.h:81: error: undefined reference to 'kudu::ThreadRestrictions::AssertWaitAllowed()'
../../../toolchain/toolchain-packages-gcc7.5.0/openldap-2.4.47/lib/libldap.a(os-ip.o):os-ip.c:function ldap_int_poll: warning: `sys_nerr' is deprecated; use `strerror' or `strerror_r' instead
../../../toolchain/toolchain-packages-gcc7.5.0/openldap-2.4.47/lib/libldap.a(os-ip.o):os-ip.c:function ldap_int_poll: warning: `sys_errlist' is deprecated; use `strerror' or `strerror_r' instead
collect2: error: ld returned 1 exit status
../../../toolchain/toolchain-packages-gcc7.5.0/openldap-2.4.47/lib/libldap.a(os-ip.o):os-ip.c:function ldap_int_poll: warning: `sys_nerr' is deprecated; use `strerror' or `strerror_r' instead
../../../toolchain/toolchain-packages-gcc7.5.0/openldap-2.4.47/lib/libldap.a(os-ip.o):os-ip.c:function ldap_int_poll: warning: `sys_errlist' is deprecated; use `strerror' or `strerror_r' instead
Generated: /home/quanlong/workspace/Impala/logs/extra_junit_xml_logs/generate_junitxml.build.5414ebd990c149b6136b79ddf15467ad.20210922_13_40_49.xml
[100%] Built target fesupport
be/src/util/CMakeFiles/impala-profile-tool.dir/build.make:212: recipe for target 'be/build/debug/util/impala-profile-tool' failed
make[3]: *** [be/build/debug/util/impala-profile-tool] Error 1
CMakeFiles/Makefile2:11043: recipe for target 'be/src/util/CMakeFiles/impala-profile-tool.dir/all' failed
make[2]: *** [be/src/util/CMakeFiles/impala-profile-tool.dir/all] Error 2
make[2]: *** Waiting for unfinished jobs....
/home/quanlong/workspace/Impala/be/src/catalog/catalog-server.cc:293: error: undefined reference to 'fLI::FLAGS_stress_catalog_startup_delay_ms'
/home/quanlong/workspace/Impala/be/src/catalog/catalog-server.cc:294: error: undefined reference to 'fLI::FLAGS_stress_catalog_startup_delay_ms'
/home/quanlong/workspace/Impala/be/src/kudu/util/mutex.h:120: error: undefined reference to 'kudu::Mutex::AssertAcquired() const'
../../build/debug/runtime/libRuntime.a(types.cc.o):types.cc:llvm::VerifyDisableABIBreakingChecks: error: undefined reference to 'llvm::DisableABIBreakingChecks'
/home/quanlong/workspace/Impala/be/src/udf/udf.cc:154: error: undefined reference to 'fLI::FLAGS_stress_fn_ctx_alloc'
/home/quanlong/workspace/Impala/be/src/udf/udf.cc:155: error: undefined reference to 'fLI::FLAGS_stress_fn_ctx_alloc'
/home/quanlong/workspace/Impala/be/src/util/thread.cc:304: error: undefined reference to 'fLB::FLAGS_thread_creation_fault_injection'
../../build/debug/codegen/libCodeGen.a(instruction-counter.cc.o):instruction-counter.cc:llvm::VerifyDisableABIBreakingChecks: error: undefined reference to 'llvm::DisableABIBreakingChecks'
../../build/debug/codegen/libCodeGen.a(codegen-callgraph.cc.o):codegen-callgraph.cc:llvm::VerifyDisableABIBreakingChecks: error: undefined reference to 'llvm::DisableABIBreakingChecks'
../../build/debug/codegen/libCodeGen.a(codegen-symbol-emitter.cc.o):codegen-symbol-emitter.cc:llvm::VerifyDisableABIBreakingChecks: error: undefined reference to 'llvm::DisableABIBreakingChecks'
/home/quanlong/workspace/Impala/be/src/exec/exchange-node.cc:97: error: undefined reference to 'fLI::FLAGS_stress_datastream_recvr_delay_ms'
/home/quanlong/workspace/Impala/be/src/exec/exchange-node.cc:98: error: undefined reference to 'fLI::FLAGS_stress_datastream_recvr_delay_ms'
/home/quanlong/workspace/Impala/be/src/exec/hdfs-scan-node-base.cc:706: error: undefined reference to 'fLB::FLAGS_skip_file_runtime_filtering'
/home/quanlong/workspace/Impala/be/src/runtime/io/disk-io-mgr.cc:798: error: undefined reference to 'fLI::FLAGS_stress_scratch_write_delay_ms'
/home/quanlong/workspace/Impala/be/src/runtime/io/disk-io-mgr.cc:799: error: undefined reference to 'fLI::FLAGS_stress_scratch_write_delay_ms'
/home/quanlong/workspace/Impala/be/src/runtime/io/hdfs-file-reader.cc:114: error: undefined reference to 'fLI::FLAGS_stress_disk_read_delay_ms'
/home/quanlong/workspace/Impala/be/src/runtime/io/hdfs-file-reader.cc:115: error: undefined reference to 'fLI::FLAGS_stress_disk_read_delay_ms'
/home/quanlong/workspace/Impala/be/src/runtime/io/local-file-reader.cc:60: error: undefined reference to 'fLI::FLAGS_stress_disk_read_delay_ms'
/home/quanlong/workspace/Impala/be/src/runtime/io/local-file-reader.cc:61: error: undefined reference to 'fLI::FLAGS_stress_disk_read_delay_ms'
/home/quanlong/workspace/Impala/be/src/kudu/rpc/messenger.cc:261: error: undefined reference to 'kudu::ThreadRestrictions::AssertWaitAllowed()'
/home/quanlong/workspace/Impala/be/src/kudu/util/thread_restrictions.h:77: error: undefined reference to 'kudu::ThreadRestrictions::SetWaitAllowed(bool)'
/home/quanlong/workspace/Impala/be/src/kudu/util/thread_restrictions.h:78: error: undefined reference to 'kudu::ThreadRestrictions::SetWaitAllowed(bool)'
/home/quanlong/workspace/Impala/be/src/kudu/util/countdown_latch.h:71: error: undefined reference to 'kudu::ThreadRestrictions::AssertWaitAllowed()'
/home/quanlong/workspace/Impala/be/src/kudu/rpc/reactor.cc:494: error: undefined reference to 'kudu::ThreadRestrictions::SetWaitAllowed(bool)'
/home/quanlong/workspace/Impala/be/src/kudu/rpc/reactor.cc:495: error: undefined reference to 'kudu::ThreadRestrictions::SetIOAllowed(bool)'
/home/quanlong/workspace/Impala/be/src/kudu/util/countdown_latch.h:81: error: undefined reference to 'kudu::ThreadRestrictions::AssertWaitAllowed()'
../../../toolchain/toolchain-packages-gcc7.5.0/openldap-2.4.47/lib/libldap.a(os-ip.o):os-ip.c:function ldap_int_poll: warning: `sys_nerr' is deprecated; use `strerror' or `strerror_r' instead
../../../toolchain/toolchain-packages-gcc7.5.0/openldap-2.4.47/lib/libldap.a(os-ip.o):os-ip.c:function ldap_int_poll: warning: `sys_errlist' is deprecated; use `strerror' or `strerror_r' instead
collect2: error: ld returned 1 exit status
Generated: /home/quanlong/workspace/Impala/logs/extra_junit_xml_logs/generate_junitxml.build.bf16cdccc74efd5090a3231aa745ac89.20210922_13_40_49.xml
be/src/service/CMakeFiles/impalad.dir/build.make:213: recipe for target 'be/build/debug/service/impalad' failed
make[3]: *** [be/build/debug/service/impalad] Error 1
CMakeFiles/Makefile2:8362: recipe for target 'be/src/service/CMakeFiles/impalad.dir/all' failed
make[2]: *** [be/src/service/CMakeFiles/impalad.dir/all] Error 2

Python问题

ImportError: No module named xxx

比如报如下的错:

Could not find platform dependent libraries <exec_prefix>
Consider setting $PYTHONHOME to <prefix>[:<exec_prefix>]
Traceback (most recent call last):File "/home/quanlong/workspace/Impala/bin/start-impala-cluster.py", line 23, in <module>import getpass
ImportError: No module named getpass

这是impala的virtualenv有问题,可以重新构建一下virtualenv。修改 bin/impala-python-common.sh,在最后一行加上 “-r” 参数:

diff --git a/bin/impala-python-common.sh b/bin/impala-python-common.sh
index 4026029fa..ae636316c 100644
--- a/bin/impala-python-common.sh
+++ b/bin/impala-python-common.sh
@@ -29,4 +29,4 @@ export LD_LIBRARY_PATH="$(python "$IMPALA_HOME/infra/python/bootstrap_virtualenvPY_DIR="$(dirname "$0")/../infra/python"PY_ENV_DIR="${PY_DIR}/env-gcc${IMPALA_GCC_VERSION}"
-python "$PY_DIR/bootstrap_virtualenv.py"
+python "$PY_DIR/bootstrap_virtualenv.py" -r

然后执行该脚本即可

$ bash bin/impala-python-common.sh
INFO:bootstrap_virtualenv:Creating python virtualenv
INFO:bootstrap_virtualenv:Installing setuptools into the virtualenv
INFO:bootstrap_virtualenv:Installing packages into the virtualenv
INFO:bootstrap_virtualenv:Installing Kudu into the virtualenv

bin/impala-python-common.sh 其实就是 infra/python/bootstrap_virtualenv.py 的封装脚本,而这个python脚本有个 -r 参数,可以强制重建virtualenv。
注:修复完后记得把 bin/impala-python-common.sh 改回去。

Impala编译错误及解决办法汇总相关推荐

  1. android.mk 编译32位_C/C++初学者常见编译错误及其解决办法

    用户在C/C++集成开发环境(例如 Dev-C++)中编辑了源代码,执行编译之后,常常会因为源代码中存在问题而出现编译错误(它们会显示在编译窗口中).初学者常常会面对这些错误而不知如何处理.本文下面列 ...

  2. PHP安装编译错误及解决办法

    今天搭建LAMP环境是编译PHP时出现的错误汇总. 错误: configure: error: xml2-config not found. Please check your libxml2 ins ...

  3. ffmpeg库编译加文字_使用ffmpeg库编译错误及解决办法

    一.FFmpeg源代码下载与编译 # wget http://www.ffmpeg.org/releases/ffmpeg-0.5.13.tar.bz2 # tar -jxvf ffmpeg-0.5. ...

  4. php 编译错误,PHP 编译错误及解决办法

    ./configure的时候出现如下错误: configure: error: xslt-confignot found. Please reinstall the libxslt >= 1.1 ...

  5. 有关编译嵌入式android的swap空间不够导致的编译错误和解决办法

    由于android包括了java的很大一部分组成,而嵌入式开发,编译往往需要考虑内存的多少,而且,很多时候,连开发工具本身也是虚拟机,这就造成编译出现很多问题. 系统; vmware(ubuntu14 ...

  6. xp看不到win7共享计算机,WIN7与XP之间共享互通的错误以及解决办法汇总

    基础篇:解决"网上邻居"的访问故障 Win7和XP的"网上邻居"无法访问对方时(局域网内互访和双机互联互访),可以参考以下解决方式(本贴以win7截图,XP设置 ...

  7. Caffe安装编译错误及其解决方法汇总

    1.在配置文件Makefile.config中去掉USE_CUDNN := 1前面的注释符号后报错: ./include/caffe/util/cudnn.hpp:5:19: fatal error: ...

  8. Error:java: 无效的标记 -version 编译错误的解决办法

    创建新项目,在启动的时候遇到了 Error:java: 无效的标记: -version 这个报错信息 截图如下: 说是在编译的时候遇到了问题,所以我check了下maven配置,Settings里的 ...

  9. Nodejs发送https Post请求时出现socket hang up错误的解决办法汇总

    参考nodejs官网发送http post请求的方法,实现了一个模拟post提交的功能.实际使用时报socket hang up错误. 方法一:后来发现是请求头设置的问题,发送选项中需要加上heade ...

最新文章

  1. 通俗易懂的Go协程的引入及GMP模型简介
  2. elasticsearch 客户端工具_elasticsearch初使用
  3. python将空格变成换行_python之路(2)
  4. bootstrap table php,bootstrap table Tooltip
  5. 华为oj平台的新网址
  6. 如何避免订单重复支付?
  7. 剑指offer第二版-9.用两个栈实现队列
  8. Boost:异步操作,涉及重新打包多个操作,但选择仅调用其中一个的测试程序
  9. HOG(方向梯度直方图)
  10. ASP.Net数据库连接字符串
  11. 解除ASP.net上传文件大小的限制
  12. Android组件化项目详细实施方案
  13. JSP实用教程(2)——JSP语法
  14. c语言入门-程序运行的过程
  15. 事件处理方式on、addEventListener和attachEvent
  16. Js传参中文乱码解决方法
  17. 大数据技术之Hive 第8章 函数 系统内置函数
  18. ForkJoinPool线程池原理分析
  19. 人工智能原理——第一章 绪论
  20. 2006年主流建站系统及其典型网站演示(CMS篇)

热门文章

  1. 【ZYNQ】QSPI Flash 固化程序全攻略
  2. Flink并行运行情况下watermark的传递机制
  3. css旋转动画定义中心,旋转时它的旋转中心位置如何 - CSS动画
  4. 测试开发实战|如何利用 xUnit 框架对测试用例进行维护?
  5. 正则数字/大小英文/中划线/下划线 (多种)匹配集
  6. EXCEL数据自动web网页查询----高效工作,做个监工
  7. 关于双碳中的一些单位换算
  8. 台球瞄准方法详解(改进版)
  9. [UML] 类图介绍 —— 程序员(灵魂画手)必备画图技能之一
  10. setsockopt函数用法