메뉴 건너뛰기

Cloudera, BigData, Semantic IoT, Hadoop, NoSQL

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


* 참조 : https://www.lagomframework.com/documentation/1.3.x/java/GettingStartedMaven.html#Generate-a-project-with-the-Lagom-archetype


1. 특정 위치에 폴더 생성및 이동
mkdir c:tmpHello
cd c:tmpHello


2. Hello 샘플 프로젝트 자동생성 실행
mvn archetype:generate -Dfilter=com.lightbend.lagom:maven-archetype-lagom-java


3. 진행화면
C:tmpHello>mvn archetype:generate -Dfilter=com.lightbend.lagom:maven-archetype-lagom-java
[INFO] Scanning for projects...
[INFO]
[INFO] ------------------------------------------------------------------------
[INFO] Building Maven Stub Project (No POM) 1
[INFO] ------------------------------------------------------------------------
[INFO]
[INFO] >>> maven-archetype-plugin:3.0.1:generate (default-cli) > generate-sources @ standalone-pom >>>
[INFO]
[INFO] <<< maven-archetype-plugin:3.0.1:generate (default-cli) < generate-sources @ standalone-pom <<<
[INFO]
[INFO] --- maven-archetype-plugin:3.0.1:generate (default-cli) @ standalone-pom ---
[INFO] Generating project in Interactive mode
[INFO] No archetype defined. Using maven-archetype-quickstart (org.apache.maven.archetypes:maven-archetype-quickstart:1.0)
Choose archetype:
1: remote -> com.lightbend.lagom:maven-archetype-lagom-java (maven-archetype-lagom-java)
Choose a number or apply filter (format: [groupId:]artifactId, case sensitive contains): : 1
Choose com.lightbend.lagom:maven-archetype-lagom-java version:
1: 1.1.0-RC1
2: 1.1.0
3: 1.2.0-RC1
4: 1.2.0-RC2
5: 1.2.0
6: 1.2.1
7: 1.2.2
8: 1.2.3
9: 1.3.0-M1
10: 1.3.0-RC1
11: 1.3.0-RC2
12: 1.3.0
13: 1.3.1
14: 1.3.2
15: 1.3.3
16: 1.3.4
17: 1.3.5
18: 1.3.6
19: 1.3.7-RC1
20: 1.3.7
21: 1.3.8-M1
22: 1.3.8
23: 1.3.9
24: 1.3.10-M1
25: 1.3.10
26: 1.4.0-M1
27: 1.4.0-M2
28: 1.4.0-M3
29: 1.4.0-RC1
Choose a number: 29: 29
Downloading: https://repo.maven.apache.org/maven2/com/lightbend/lagom/maven-archetype-lagom-java/1.4.0-RC1/maven-archetype-lagom-java-1.4.0-RC1.pom
Downloaded: https://repo.maven.apache.org/maven2/com/lightbend/lagom/maven-archetype-lagom-java/1.4.0-RC1/maven-archetype-lagom-java-1.4.0-RC1.pom (2 KB at 3.8 KB/sec)
Downloading: https://repo.maven.apache.org/maven2/com/lightbend/lagom/maven-archetype-lagom-java/1.4.0-RC1/maven-archetype-lagom-java-1.4.0-RC1.jar
Downloaded: https://repo.maven.apache.org/maven2/com/lightbend/lagom/maven-archetype-lagom-java/1.4.0-RC1/maven-archetype-lagom-java-1.4.0-RC1.jar (35 KB at 101.2 KB/sec)
Define value for property 'groupId': com.example.hello
Define value for property 'artifactId': my-first-system
Define value for property 'version' 1.0-SNAPSHOT: : Enter
Define value for property 'package' com.example.hello: : Enter
[INFO] Using property: scala-binary-version = 2.12
[INFO] Using property: service1ClassName = Hello
[INFO] Using property: service1Name = hello
[INFO] Using property: service2ClassName = Stream
[INFO] Using property: service2Name = stream
Confirm properties configuration:
groupId: com.example.hello
artifactId: my-first-system
version: 1.0-SNAPSHOT
package: com.example.hello
scala-binary-version: 2.12
service1ClassName: Hello
service1Name: hello
service2ClassName: Stream
service2Name: stream
  Y: : Y
[INFO] ----------------------------------------------------------------------------
[INFO] Using following parameters for creating project from Archetype: maven-archetype-lagom-java:1.4.0-RC1
[INFO] ----------------------------------------------------------------------------
[INFO] Parameter: groupId, Value: com.example.hello
[INFO] Parameter: artifactId, Value: my-first-system
[INFO] Parameter: version, Value: 1.0-SNAPSHOT
[INFO] Parameter: package, Value: com.example.hello
[INFO] Parameter: packageInPathFormat, Value: com/example/hello
[INFO] Parameter: service2Name, Value: stream
[INFO] Parameter: service1Name, Value: hello
[INFO] Parameter: groupId, Value: com.example.hello
[INFO] Parameter: service1ClassName, Value: Hello
[INFO] Parameter: scala-binary-version, Value: 2.12
[INFO] Parameter: version, Value: 1.0-SNAPSHOT
[INFO] Parameter: package, Value: com.example.hello
[INFO] Parameter: service2ClassName, Value: Stream
[INFO] Parameter: artifactId, Value: my-first-system
[INFO] Project created from Archetype in dir: C:tmpHellomy-first-system
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 05:50 min
[INFO] Finished at: 2018-01-19T15:31:56+09:00
[INFO] Final Memory: 17M/217M
[INFO] ------------------------------------------------------------------------


*컴파일시 getName(), getMessage()가 정의되지 않았다는 오류가 발생하면 https://www.gooper.com/ss/index.php?mid=bigdata&category=2825&document_srl=3572 를 참고하여 조치하고 재 컴파일 해준다.


4. 프로젝트 구조

my-first-system
 └ hello-api/             → hello world api project dir
 └ hello-impl/            → hello world implementation dir
 └ integration-tests/
 └ stream-api/            → stream api project dir
 └ stream-impl/           → stream implementation project dir
 └ pom.xml                → Project group build file


5. Hello 서비스 실행

cd my-first-system

mvn lagom:runAll

...
[info] Starting embedded Cassandra server
..........
[info] Cassandra server running at 127.0.0.1:4000
[info] Service locator is running at http://localhost:8000
[info] Service gateway is running at http://localhost:9000
...
[info] Service hello-impl listening for HTTP on 0:0:0:0:0:0:0:0:24266
[info] Service stream-impl listening for HTTP on 0:0:0:0:0:0:0:0:26230
(Services started, press enter to stop and go back to the console...)


6.hello 서비스 수행확인(HTTP client의 endpoint를 이용하여 확인)

http://localhost:9000/api/hello/World



번호 제목 날짜 조회 수
610 missing block및 관련 파일명 찾는 명령어 2021.02.20 4565
609 lombok설치방법 2020.06.20 2603
608 [sap] Error: java.io.IOException: SQLException in nextKeyValue 오류 발생 2020.06.08 4245
607 [kudu]테이블 drop이 안되고 timeout이 걸리는 경우 조치 방법 2020.06.08 4123
606 [oozie] oozie shell action에서 shellscript수행결과의 2개 변수를 decision 액션에서 사용하기 2020.06.05 3789
605 [Sentry]HDFS의 ACL을 Sentry와 연동후 테스트 2020.06.02 4130
604 [sqoop] mapper를 2이상으로 설정하기 위한 split-by컬럼을 찾을때 유용하게 활용할 수 있는 쿼리 2020.05.13 4517
603 mysql sqoop작업을 위해서 mysql-connector-java.jar을 추가하는 경우 확실하게 인식시키는 방법 2020.05.11 3747
602 W/F수행후 Logs not available for 1. Aggregation may not to complete. 표시되며 로그내용이 보이지 않은 경우 2020.05.08 4959
601 A Cluster의 HDFS 디렉토리및 파일을 사용자및 권한 유지 하여 다운 받아서 B Cluster에 넣기 2020.05.06 3940
600 impala external 테이블 생성시 컬럼과 라인 구분자를 지정하여 테이블 생성하는 예시 2020.02.20 3849
599 [Kerberos]Kerberos상태의 클러스터에 JDBC로 접근할때 케이스별 오류내용 2020.02.14 7051
598 cloudera서비스 중지및 기동순서 2020.02.14 4203
597 impala테이블 쿼리시 max_row_size 관련 오류가 발생할때 조치사항 2020.02.12 3736
596 hue.axes_accessattempt테이블 데이터 샘플 2020.02.10 4312
595 hue.desktop_document2의 type의 종류 2020.02.10 4483
594 hue db에서 사용자가 가지는 정보 확인 2020.02.10 4840
593 Cloudera의 CMS각 컴포넌트의 역할 2020.02.10 4384
592 Namenode Metadata백업하는 방법 2020.02.10 3887
591 cloudera의 hue에서 사용자가 사용한 쿼리 목록 2020.02.07 3720
위로