sbt更換阿里的maven倉庫源

Mr.error發表於2020-06-30

sbt 更換國內源,打包執行spark的simple-app

進行spark實驗時,環境配置時
sbt打包simple-app步驟遇到問題,sbt源的問題導致打包error
參考很多部落格後做個記錄

下面演示手動配置sbt,並更換國內源 【Ubuntu16.04】

下載sbt,安裝在/usr/local中:

sudo mkdir /usr/local/sbt   #建立sbt目錄
sudo chown -R hadoop /usr/local/sbt   #加許可權
cd /usr/local/sbt
mkdir sbtlaunch   #建立該目錄,用於儲存下載的sbt包

從阿里倉庫下載sbt:

wget http://maven.aliyun.com/nexus/content/repositories/central/org/scala-sbt/sbt-launch/1.1.1/sbt-launch-1.1.1.jar

解壓這個jar包,更改properties檔案的[repositories]內容:

cd /usr/local/sbt/sbtlaunch
mv sbt-launch-1.1.1.jar sbt-launch.jar  #更改下載的jar包名
unzip -q ./sbt-launch.jar    #解壓
vim ./sbt/sbt.boot.properties   #編輯

將properties檔案的[repositories]部分內容替換成以下內容[整個替換]:

local
aliyun: http://maven.aliyun.com/nexus/content/groups/public/
typesafe: http://repo.typesafe.com/typesafe/ivy-releases/, [organization]/[module]/(scala_[scalaVersion]/)(sbt_[sbtVersion]/)[revision]/[type]s/[artifact](-[classifier]).[ext], bootOnly
sonatype-oss-releases
maven-central
sonatype-oss-snapshots

刪除原來下載的jar包,並將修改過properties檔案的解壓內容重新打包:

rm ./sbt-launch.jar           #刪除
jar -cfM ./sbt-launch.jar .   #打包 

在/usr/local/sbt目錄下建立一個sbt檔案,設定可執行許可權,使得可以執行sbt-launch.jar檔案:

cd  /usr/local/sbt
vim ./sbt

在sbt檔案中新增如下內容:

SBT_OPTS="-Xms512M -Xmx1536M -Xss1M -XX:+CMSClassUnloadingEnabled"
java $SBT_OPTS -jar /usr/local/sbt/sbtlaunch/sbt-launch.jar "$@"

儲存後,為sbt檔案新增可執行許可權:

chmod u+x ./sbt

檢查sbt是否可用,效果如下【初次可能會很慢,耐心等待】:
輸出sbt版本資訊即為成功
為sbt新增環境變數:

vim ~/.bashrc

新增以下內容:

export SBT_HOME=/usr/local/sbt
export PATH=$SBT_HOME:$SCALA_HOME/bin:$PATH

儲存並使環境變數立即生效:

source ~/.bashrc

之後進入需要打包的程式的目錄,執行如下命令打包:

/usr/local/sbt/sbt package

輸出如下結果表示打包成功,可能需要等待:
打包結果

打包完畢,通過 spark-submit 執行程式

/usr/local/spark/bin/spark-submit --class "SimpleApp" ~/sparkapp/target/scala-2.10/simple-project_2.10-1.0.jar
# 輸出資訊太多,可以通過如下命令過濾直接檢視結果
/usr/local/spark/bin/spark-submit --class "SimpleApp" ~/sparkapp/target/scala-2.10/simple-project_2.10-1.0.jar 2>&1 | grep "Lines with a:"

輸出結果如下,則表示成功
成功結果
參考文件

[1] https://www.cnblogs.com/hank-yan/p/8686281.html
[2] https://www.jianshu.com/p/8b4609d57f0a
[3] http://dblab.xmu.edu.cn/blog/spark-quick-start-guide/
[4] http://ctf.etao.net:8000/spark/getting-started.html

相關文章