CDH impala for Apache HADOOP 安裝編譯步驟.
CDH impala + kudu 一個不錯的sql 查詢框架.
如果安裝在 CDH 發行的hadoop 叢集中,那是相當的容易.
直接CDH 安裝介面點選幾下就ok 了.
這個不表了.
如果投產的是 apache 發行的hadoop 版本. 那麼編譯過程中還是會遇到相當多的問題.
這裡簡單列一下給各位同行參考.
IMPALA 3.3.0 版本.
需求.
<1 >
IMPALA 的官網上有相關的硬體需求.
-
CPU 要求 SSSE4_2 以上指令集. 這個條件, 現在已經沒有問題了. 主流cpu 都支援了.
2. python 版本要求. python 2.6.x 或者 python 2.7.x
3. os 版本. linux 7.x 版本.
這是硬性規定了. 程式碼中限制了這些硬性規定.
<2> . 關於 需求的python 虛擬機器環境問題.
impala 需要自行構建一個 pythonenv 虛擬機器. 子包含 Python 元件.
需要指定版本的 virtualenv-13.1.0.tar.gz
這個很重要. 比他更高版本的 對不起. 無法構建. 更低版本, 沒有測試.
<3> python 需要的各種元件package .
-
因為 impala 開發團隊. 自己構建了一個pip_down load 程式碼. 所以只能指定 .tar.gz 的原始碼編譯模式.
2. python 2.7.5 需要 安裝 setuptool.
3. 不要在 os 的python 環境下 自作聰明的安裝對應的python 包. 不管用.
4. 根據 apache-impala-3.3.0/infra/python/deps/ *.txt
指定的各個 pkg 以及對應的版本號.
5. 到 xxxxx/ 下面下載指定版本的pkg 然後放到 apache-impala-3.3.0/infra/python/deps/
注意 只能使用 .tar.gz 格式的. 其他的將無法處理.
<4> 編譯過程中的問題.
1. 上面的 python 包全部按照要求搞定後以後. 那麼根據官方的. 文件 的安裝命令.
-
cd ~/Impala
-
export IMPALA_HOME=`pwd`
-
$IMPALA_HOME/bin/bootstrap_system.sh
-
source $IMPALA_HOME/bin/impala-config.sh
-
$IMPALA_HOME/buildall.sh -noclean -notests
這裡會遇到一個坑.
apache-impala-3.3.0/infra/python/deps/ 下面有個 pip_download.py
程式碼. 這個無論你是否設定 代理伺服器. 都會報錯.
暫時不清楚原因.
我在os層面設定了 . https_proxy , http_proxy . 報錯. 指定的 代理伺服器非法.
我修改 pip_download.py , 按照 python urllib3 程式碼裡的格式指定 python 物件 的代理伺服器. 也是報錯.
鑑於 我們先前已經完成了. 所有的需要的 pkg 的下載. 這一步不要也罷.
處理方案: 直接在main() 的第一行 執行報錯退出 我就是直接把第一行 程式碼注意改了下, 直接報python 語法錯誤.
然後退出.
然後安裝程式 會呼叫 我們已經 下載的pkg 構建python 虛擬環境.
<5> C++ 編譯過程中的問題.
上面的ptyhon虛擬環境構建ok了.
就會進行 c++/c 程式碼的build 了.
在 [ 98% ] 的時候 報錯.
[ 98%] Linking CXX executable ../../build/debug/service/impalad
/data/soft/apache-impala-3.3.0/be/src/common/logging.cc:131: error: undefined reference to 'google::InstallLogMessageListenerFunction(void (*)(std::string*, bool*))'
../../../toolchain/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/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
make[3]: *** [be/build/debug/service/impalad] Error 1
make[2]: *** [be/src/service/CMakeFiles/impalad.dir/all] Error 2
make[1]: *** [be/src/service/CMakeFiles/impalad.dir/rule] Error 2
make: *** [impalad] Error 2
這個地方應該可以歸為 impala 的一個bug .
這個問題是因為 impala 呼叫了glog-0.3.4 pach 3 的logging.h 標頭檔案.
如果os 層面安裝了 glog 0.3.4 或者 glog 0.3.5 都將報錯. 無法編譯.
問題出在 glog-0.3.4-P3 的 logging.h 裡多了一行. 定義.
GOOGLE_GLOG_DLL_DECL void InstallLogMessageListenerFunction(
void (*listener_func)(std::string* message, bool* changed));
導致這裡出錯.
解決方案:
1. 移除 os 層面安裝的 glog 的標頭檔案. 以及對應lib. 但是不確定是否能夠成功編譯. , 不過大機率可以編譯透過.
2. 將 apache-impala-3.3.0/toolchain/glog-0.3.4-p3/include/glog copy 到/usr/local/include 下面
apache-impala-3.3.0/toolchain/glog-0.3.4-p3/lib/* copy 到 /usr/local/lib 下面.
然後重新編譯 . 大機率應該會透過了.
<6> 測試過程中遇到的問題.
1. imapad 編譯完成後. 應該會生成個各種測試. 這裡需要配置 maven 的 代理伺服器.
/etc/maven/setting.xml 裡面配置http 跟https 的代理伺服器.
如果單個專案失敗了. 那麼就去那個子目錄下面 重新執行 mvn -B install -DskipTests
<7> 請一開始 就在 OS 層面設定 https , http 代理伺服器.
<8> 祝你玩的愉快.
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/133735/viewspace-2673049/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- CDH6.2.0安裝步驟
- apache編譯安裝Apache編譯
- doris編譯和安裝部署詳細步驟編譯
- CentOS 下編譯安裝 apacheCentOS編譯Apache
- CentOS 6.4 編譯安裝 apacheCentOS編譯Apache
- Linux下編譯安裝Mysql 5.5的簡單步驟Linux編譯MySql
- Hadoop-2.6.0-cdh5.7.0安裝詳解HadoopH5
- Centos7編譯安裝Apache教程。CentOS編譯Apache
- 如何進行Apache的編譯安裝Apache編譯
- CDH版Hadoop-zookeeper-hbase-spark安裝文件HadoopSpark
- vnc安裝步驟,vnc安裝步驟詳解VNC
- Ubuntu 18.04系統編譯安裝Apache教程。Ubuntu編譯Apache
- Ubuntu 20.04系統編譯安裝Apache教程。Ubuntu編譯Apache
- Hadoop詳細安裝步驟,附帶安裝完的虛擬機器。Hadoop虛擬機
- Hadoop CDH版本安裝和啟動(CentOS7)HadoopCentOS
- [ 安裝 ] Zeppelin安裝步驟!
- openwifi編譯步驟記錄WiFi編譯
- CentOS7.2編譯安裝PHP7.2.3之史上最詳細步驟。CentOS編譯PHP
- xftp安裝步驟,xftp安裝的2大步驟FTP
- python 安裝 impalaPython
- Debian11系統編譯安裝Apache教程。編譯Apache
- CentOS 下編譯安裝 PHP7.2(apache 版)CentOS編譯PHPApache
- Ubuntu 16.04原始碼編譯安裝Apache 2.4.25教程Ubuntu原始碼編譯Apache
- Centos7下原始碼編譯安裝apacheCentOS原始碼編譯Apache
- Nagios安裝步驟iOS
- STF 安裝步驟
- anaconda安裝步驟
- Linux 安裝步驟Linux
- hadoop零基礎入門教程--DKHadoop完整安裝步驟Hadoop
- Centos8 stream系統編譯安裝Apache教程。CentOS編譯Apache
- vnc安裝步驟,如何在Linux(CentOS 7)下vnc安裝步驟VNCLinuxCentOS
- 大資料學習筆記之Hadoop安裝步驟詳解大資料筆記Hadoop
- Sublime Text安裝步驟
- aws安裝jenkins步驟Jenkins
- Iris 框架安裝步驟框架
- zookeeper安裝部署步驟
- windows安裝cnpm步驟WindowsNPM
- Maya 2023安裝步驟