메뉴 건너뛰기

Cloudera, BigData, Semantic IoT, Hadoop, NoSQL

Cloudera CDH/CDP 및 Hadoop EcoSystem, Semantic IoT등의 개발/운영 기술을 정리합니다. gooper@gooper.com로 문의 주세요.


sbt centos에 sbt 0.13.5 설치

총관리자 2016.05.30 15:21 조회 수 : 368

1. 다운로드

wget http://dl.bintray.com/sbt/rpm/sbt-0.13.5.rpm


2. 설치

yum localinstall sbt-0.13.5.rpm


3. sbt실행

sbt

==>  

Getting org.scala-sbt sbt 0.13.5 ... 


설치후 처음 실행할때 "Getting org.scala-sbt sbt 0.13.5 ..."가 표시되면서 멈춘것처럼 보이는데.. default jar파일들을 다운로드 받는 동안 시간이 걸리게 되는데 15분이내에 끝나므로 완료될때 까지 기다리면 된다.


4. building하고 *.jar실행(실행하는 곳에 project.sbt가 있어야함)

3.에서 실행한 sbt에서 package를 입력한다.


5. Simple Build Tool.


Coursera의 교육과정 중에서 [[마틴 오더스키]]가 진행하는 [[Functional Programming Principles in Scala]]와 [[Principles of Reactive Programming]]은 [[스칼라]] 언어로 프로그래밍 과제가 제시된다. 이때 사용하는 빌드 도구가 [sbt(Simple Build Tool)](http://www.scala-sbt.org/)이다.


프로젝트 폴더에서 `sbt` 명령으로 **sbt프롬프트**에 진입하고 나면 sbt명령으로 대상을 빌드하거나 테스트할 수 있다. 앞의 두 교육과정에서는 과제를 제출하는 것도 sbt에서 가능하다.


    <project dir>

    +-- build.sbt

    +-- project/

    |   +-- build.properties

    |   +-- ProgFunBuild.scala  ; submit 태스크정의

    |   ..

    +-- target/

    |   +-- scala-2.10          ; 빌드 결과물이 여기에 들어간다.


## 설치


맥에서는 brew를 이용하여 쉽게 설치할 수 있다. `brew install sbt`로 설치하면 `sbt console`로 스칼라를 사용할 수도 있는데, 스칼라를 따로 설치하지 않으면 콘솔에서 직접 `scala` 명령을 사용할 수 없다는 점이 특이하다.


리눅스/맥에서 수동으로 설치하는 것도 매우 간단한다. 부트스트랩 격인 sbt-launcher.jar를 받고, 이를 호출하는 sbt.sh 스크립트를 만들어주면 된다. launcher jar파일이 작아서 한번 놀라고, 처음 실행했을 때 엄청나게 다운로드를 많이 하는데서 또 한 번 놀라게 된다.



## 주요명령


* compile

* test

* package

* clean

* reload

* update

* settings

* inspect - 빌드 설정 값을 자세히 살펴보기 위해 사용한다. `sbt inspect sourceManaged`


## 플러그인 


[다양한 플러그인](http://www.scala-sbt.org/release/docs/Community/Community-Plugins.html)이 있어서 빌드에 필요한 명령들을 가져다 쓸 수 있다. 


* *assembly* - https://github.com/sbt/sbt-assembly `sbt assembly`로 의존성을 전부 머지한 jar파일을 생성해준다.

* *eclipse* - https://github.com/typesafehub/sbteclipse `sbt eclipse`로 현재 의존성을 반영하여 이클립스 프로젝트 정보를 생성한다.

* *git* - https://github.com/sbt/sbt-git sbt프롬프트에서 git명령을 바로 사용할 수 있게 해준다.

* *antlr4* - https://github.com/ihji/sbt-antlr4 [[ANTLR]]를 사용할 수 있게 해준다. 






--------------초기 실행시 console로그중 일부분--------

Getting org.scala-sbt sbt 0.13.5 ...

downloading http://repo.typesafe.com/typesafe/ivy-releases/org.scala-sbt/sbt/0.13.5/jars/sbt.jar ...

        [SUCCESSFUL ] org.scala-sbt#sbt;0.13.5!sbt.jar (3989ms)

downloading http://repo1.maven.org/maven2/org/scala-lang/scala-library/2.10.4/scala-library-2.10.4.jar ...

        [SUCCESSFUL ] org.scala-lang#scala-library;2.10.4!scala-library.jar (108767ms)

downloading http://repo.typesafe.com/typesafe/ivy-releases/org.scala-sbt/main/0.13.5/jars/main.jar ...

        [SUCCESSFUL ] org.scala-sbt#main;0.13.5!main.jar (6702ms)

downloading http://repo.typesafe.com/typesafe/ivy-releases/org.scala-sbt/compiler-interface/0.13.5/jars/compiler-interface-src.jar ...

        [SUCCESSFUL ] org.scala-sbt#compiler-interface;0.13.5!compiler-interface-src.jar (3713ms)

downloading http://repo.typesafe.com/typesafe/ivy-releases/org.scala-sbt/compiler-interface/0.13.5/jars/compiler-interface-bin.jar ...

        [SUCCESSFUL ] org.scala-sbt#compiler-interface;0.13.5!compiler-interface-bin.jar (4428ms)

downloading http://repo.typesafe.com/typesafe/ivy-releases/org.scala-sbt/precompiled-2_8_2/0.13.5/jars/compiler-interface-bin.jar ...

        [SUCCESSFUL ] org.scala-sbt#precompiled-2_8_2;0.13.5!compiler-interface-bin.jar (4452ms)

downloading http://repo.typesafe.com/typesafe/ivy-releases/org.scala-sbt/precompiled-2_9_2/0.13.5/jars/compiler-interface-bin.jar ...

        [SUCCESSFUL ] org.scala-sbt#precompiled-2_9_2;0.13.5!compiler-interface-bin.jar (4663ms)

downloading http://repo.typesafe.com/typesafe/ivy-releases/org.scala-sbt/precompiled-2_9_3/0.13.5/jars/compiler-interface-bin.jar ...

        [SUCCESSFUL ] org.scala-sbt#precompiled-2_9_3;0.13.5!compiler-interface-bin.jar (4585ms)

downloading http://repo.typesafe.com/typesafe/ivy-releases/org.scala-sbt/actions/0.13.5/jars/actions.jar ...

        [SUCCESSFUL ] org.scala-sbt#actions;0.13.5!actions.jar (4955ms)

downloading http://repo.typesafe.com/typesafe/ivy-releases/org.scala-sbt/main-settings/0.13.5/jars/main-settings.jar ...

        [SUCCESSFUL ] org.scala-sbt#main-settings;0.13.5!main-settings.jar (4305ms)

downloading http://repo.typesafe.com/typesafe/ivy-releases/org.scala-sbt/interface/0.13.5/jars/interface.jar ...

        [SUCCESSFUL ] org.scala-sbt#interface;0.13.5!interface.jar (4104ms)

downloading http://repo.typesafe.com/typesafe/ivy-releases/org.scala-sbt/io/0.13.5/jars/io.jar ...

        [SUCCESSFUL ] org.scala-sbt#io;0.13.5!io.jar (4655ms)

downloading http://repo.typesafe.com/typesafe/ivy-releases/org.scala-sbt/ivy/0.13.5/jars/ivy.jar ...

        [SUCCESSFUL ] org.scala-sbt#ivy;0.13.5!ivy.jar (4051ms)

.......

번호 제목 날짜 조회 수
501 Cloudera가 사용하는 서비스별 포트 2018.03.29 427
500 Cloudera가 사용하는 서비스별 디렉토리 2018.03.29 360
499 cloudera-scm-agent 설정파일 위치및 재시작 명령문 2018.03.29 405
498 [CentOS] 네트워크 설정 2018.03.26 386
497 Components of the Impala Server 2018.03.21 378
496 HDFS Balancer설정및 수행 2018.03.21 277
495 hadoop 클러스터 실행 스크립트 정리 2018.03.20 699
494 HA(Namenode, ResourceManager, Kerberos) 및 보안(Zookeeper, Hadoop) 2018.03.16 188
493 자주쓰는 유용한 프로그램 2018.03.16 1385
492 에러 추적(Error Tracking) 및 로그 취합(logging aggregation) 시스템인 Sentry 설치 2018.03.14 245
491 update 샘플 2018.03.12 1030
490 이미지 관리 오픈소스 목록 2018.03.11 382
489 Scala에서 countByWindow를 이용하기(예제) 2018.03.08 630
488 Scala를 이용한 Streaming예제 2018.03.08 508
487 scala application 샘플소스(SparkSession이용) 2018.03.07 304
486 fuseki의 endpoint를 이용한 insert, delete하는 sparql예시 2018.02.14 208
485 프로세스를 확인해서 프로세스를 삭제하는 shell script예제(cryptonight) 2018.02.02 422
484 spark-submit 실행시 "java.lang.OutOfMemoryError: Java heap space"발생시 조치사항 2018.02.01 641
483 Could not compute split, block input-0-1517397051800 not found형태의 오류가 발생시 조치방법 2018.02.01 334
482 Hadoop의 Datanode를 Decommission하고 나서 HBase의 regionservers파일에 해당 노드명을 지웠는데 여전히 "Dead regionser"로 표시되는 경우 처리 2018.01.25 494
위로