數據治理一-Atlas2.1編譯踩坑之路

坑爹的東西,花了我2天時間才成功編譯!主要一個問題卡的太久 - 。 -。把我的踩坑過程記錄一下,希望可以幫助大家,有其他問題可以在評論區留言,我會一一解答。

一、編譯環境

contOS7

JDK8

Maven 3.6

部署包:2.1.0  https://atlas.apache.org/#/Downloads

mvn倉庫地址:http://maven.aliyun.com/nexus/content/groups/public

編譯環境不一樣,問題肯能不一樣。

二、安裝atlas

1、下載好包,移到/opt目錄下執行tar-xzvf進行解壓,目錄如下

2、進入apache-atlas-sources-2.1.0目錄,然後執行

mvn clean -DskipTests package -Pdist,embedded-hbase-solr(自帶hbase和solr)

如果出現node-saas安裝目錄沒有權限,則執行(此處我踩了2天坑,( Ĭ ^ Ĭ ))

sudo mvn clean -DskipTests package -Pdist,embedded-hbase-solr

注意:root的環境變量和sudo的環境變量不一定一樣的。我就是root狀態下執行命令結果安裝node-saas的時候提示沒權限。sudo 執行之後編譯環境版本存在問題。

如果sudo執行命令出現編譯錯誤,sudo mvn -v 查看環境信息是否一致。如果不一致,則需要將sudo下的環境變量改爲和root一致。具體修改方法如下

  1. 執行 sudo visudo
  2. 將Defaults env_reset改爲Defaults !env_reset 取消掉對PATH變量的重置
  3. 修改~/.bashrc中環境變量 ,最後添加alias sudo='sudo env PATH=$PATH'

這樣sudo執行命令時所搜尋的路徑就是系統的PATH變量中的路徑,如想添加其他變量也是類似

安裝完成之後:會查看到所有jar都顯示SUCCESS

三、安裝過程問題解決

1、安裝node-saas失敗

gyp verb command install [ '6.17.1' ]
gyp ERR! UNCAUGHT EXCEPTION
gyp ERR! stack /mnt/hswx/apache-atlas-sources-2.1.0/node_modules/[email protected]@mkdirp/lib/opts-arg.js:7
gyp ERR! stack     opts = { mode: 0o777, fs, ...opts }
gyp ERR! stack                               ^^^
gyp ERR! stack
gyp ERR! stack SyntaxError: Unexpected token ...
gyp ERR! stack     at createScript (vm.js:56:10)
gyp ERR! stack     at Object.runInThisContext (vm.js:97:10)
gyp ERR! stack     at Module._compile (module.js:549:28)
gyp ERR! stack     at Object.Module._extensions..js (module.js:586:10)
gyp ERR! stack     at Module.load (module.js:494:32)
gyp ERR! stack     at tryModuleLoad (module.js:453:12)
gyp ERR! stack     at Function.Module._load (module.js:445:3)
gyp ERR! stack     at Module.require (module.js:504:17)
gyp ERR! stack     at require (internal/module.js:20:19)
gyp ERR! stack     at Object.<anonymous> (/mnt/hswx/apache-atlas-sources-2.1.0/node_modules/[email protected]@mkdirp/index.js:1:79)
gyp ERR! System Linux 3.10.0-1127.19.1.el7.x86_64
gyp ERR! command "/usr/bin/node" "/mnt/hswx/apache-atlas-sources-2.1.0/node_modules/[email protected]@node-gyp/bin/node-gyp.js" "rebuild" "--verbose" "--libsass_ext=" "--libsass_cflags=" "--libsass_ldflags=" "--libsass_library="
gyp ERR! cwd /mnt/hswx/apache-atlas-sources-2.1.0/node_modules/[email protected]@node-sass
gyp ERR! node -v v6.17.1
gyp ERR! node-gyp -v v7.1.2
gyp ERR! Node-gyp failed to build your package.
gyp ERR! Try to update npm and/or node-gyp and if it does not help file an issue with the package author.
Build failed with error code: 7
[npminstall:runscript:error] node-sass@* scripts.postinstall run "node scripts/build.js" error: RunScriptError: Run "sh -c node scripts/build.js" error, exit code 1
? Install fail! RunScriptError: post install error, please remove node_modules before retry!
Run "sh -c node scripts/build.js" error, exit code 1
RunScriptError: post install error, please remove node_modules before retry!
Run "sh -c node scripts/build.js" error, exit code 1
    at ChildProcess.proc.on.code (/usr/lib/node_modules/cnpm/node_modules/runscript/index.js:96:21)
    at emitTwo (events.js:106:13)
    at ChildProcess.emit (events.js:191:7)
    at maybeClose (internal/child_process.js:920:16)
    at Process.ChildProcess._handle.onexit (internal/child_process.js:230:5)
npminstall version: 3.28.0
npminstall args: /usr/bin/node /usr/lib/node_modules/cnpm/node_modules/npminstall/bin/install.js --fix-bug-versions --china --userconfig=/root/.cnpmrc --disturl=https://npm.taobao.org/mirrors/node --registry=https://r.npm.taobao.org node-sass --save-dev

此問題困擾了我好多天,單獨編譯不行,該npm源也不行。就是很納悶root賬號執行創建居然沒有權限。所以最後只好採用sudo 方式執行命令。

使用該命令:

sudo mvn clean -DskipTests package -Pdist,embedded-hbase-solr

使用sudo會出現和root編譯環境不一致問題,按照我上面說的,sudo和root使用一套環境變量的修改方法即可。

2、Sqoop.Jar無法下載

[ERROR] Failed to execute goal on project
sqoop-bridge-shim: Could not resolve dependencies for project
org.apache.atlas:sqoop-bridge-shim:jar:2.1.0: Could not find artifact
org.apache.sqoop:sqoop:jar:1.4.6.2.3.99.0-195 in nexus-aliyun
(http://maven.aliyun.com/nexus/content/groups/public) -> [Help 1]
[ERROR] 
[ERROR] To see the full stack trace of the
errors, re-run Maven with the -e switch.

atlas編譯用的sqoop.jar比較扯淡,1.4.6.2.3.99.0-195這個版本不太好找。我是用的是阿里的倉庫http://maven.aliyun.com/nexus/content/groups/public下載,阿里倉庫不存在該jar包。

可以手動下載該jar包

下載地址:http://repo.hortonworks.com/content/repositories/releases/org/apache/sqoop/sqoop/1.4.6.2.3.99.0-195/

執行下面命令安裝到本地倉庫

mvn install:install-file -Dfile=sqoop-1.4.6.2.3.99.0-195.jar -DgroupId=org.apache.sqoop -DartifactId=sqoop -Dversion=1.4.6.2.3.99.0-195 -Dpackaging=jar

之後在執行編譯命令即可。


微信掃一掃或者微信搜索DarkKing,一起學習和交流JAVA和大數據相關知識。

回覆關鍵字「資料」可以獲取30G JAVA架構師視頻學習資料哦~ 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章