메뉴 건너뛰기

Cloudera, BigData, Semantic IoT, Hadoop, NoSQL

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


* sprue는 Apache Spark와 Drools를 이용한 CEP구현한 예제 소스이다.

(참고 : https://github.com/mganta/sprue)


<<준비/설정>>

1. hbase에 테이블 생성

create 'patientData', {NAME => 'cf1', VERSIONS => 3, REPLICATION_SCOPE => 1, COMPRESSION => 'SNAPPY'}

==> hbase 버전에 따라서 아래의 오류가 발생할 수 있는데 그때는  COMPRESSION => 'SNAPPY'부분을 빼고 실행한다.


* 다음의 사이트에서 로직을 테스트 할 수 있다.

   : http://www.mdcalc.com/sirs-sepsis-and-septic-shock-criteria/


2. drools가 사용하는 의사결정테이블 파일은 src/main/resources/sepsis.xls를 사용한다.


3. driver program은 3개의 인자를 받는다.


    a. zookeeper info

    b. rules xls file

    c. open tsdb url

   

    - opentsdb이 설치되지 않았으면 SepsisStream.scala파일의 94(97 ?)라인을 주석처리한다.

    - HBase가 설정되지 않았다면 69 & 80(73 & 84 ?) 라인을 주석처리한다.

    - local mode로 실행할 경우는 SepsisStream.scala파일의 40 & 41의 주석을 바꾼다.


4. 이 프로그램은 queueRDD를 이용하여 sample data를 생성한다.



<<컴파일/실행하기>>


1. mvn clean package


//2. Create the hbase table. Sample script in src/main/resource/create_hbase_table.rb


//3. Install opentsdb (http://opentsdb.net/docs/build/html/installation.html)


4. Start spark streaming using


   spark-submit --driver-java-options 

       '-Dspark.executor.extraClassPath=/opt/cloudera/parcels/CDH/lib/hbase/lib/htrace-core-3.1.0-incubating.jar' 

--master yarn-client 

--files sepsis.xls 

--class com.cloudera.sprue.SepsisStream 

/path_to/sprue-0.0.1-SNAPSHOT-jar-with-dependencies.jar 

sepsis.xls zookeeper.host.domain:2181 

http://opentsdb.host.domain:4242/api/put


 * spark.executor.extraClassPath옵션은 spark에서 실행되는 hbase의 설치위치의 lib에 있는 htrace-core-3.1.0-incubating.jar를 지정한다.


 * files옵션은 spark executor들이 사용하는 xls파일을 업로드 한다.


-------------------오류내용------------------------

ERROR: org.apache.hadoop.hbase.DoNotRetryIOException: Compression algorithm 'snappy' previously failed test. Set hbase.table.sanity.checks to false at conf or table descriptor if you want to bypass sanity checks

        at org.apache.hadoop.hbase.master.HMaster.warnOrThrowExceptionForFailure(HMaster.java:1603)

        at org.apache.hadoop.hbase.master.HMaster.sanityCheckTableDescriptor(HMaster.java:1542)

        at org.apache.hadoop.hbase.master.HMaster.createTable(HMaster.java:1452)

        at org.apache.hadoop.hbase.master.MasterRpcServices.createTable(MasterRpcServices.java:429)

        at org.apache.hadoop.hbase.protobuf.generated.MasterProtos$MasterService$2.callBlockingMethod(MasterProtos.java:52195)

        at org.apache.hadoop.hbase.ipc.RpcServer.call(RpcServer.java:2117)

        at org.apache.hadoop.hbase.ipc.CallRunner.run(CallRunner.java:104)

        at org.apache.hadoop.hbase.ipc.RpcExecutor.consumerLoop(RpcExecutor.java:133)

        at org.apache.hadoop.hbase.ipc.RpcExecutor$1.run(RpcExecutor.java:108)

        at java.lang.Thread.run(Thread.java:745)

Caused by: org.apache.hadoop.hbase.DoNotRetryIOException: Compression algorithm 'snappy' previously failed test.

        at org.apache.hadoop.hbase.util.CompressionTest.testCompression(CompressionTest.java:91)

        at org.apache.hadoop.hbase.master.HMaster.checkCompression(HMaster.java:1686)

        at org.apache.hadoop.hbase.master.HMaster.checkCompression(HMaster.java:1679)

        at org.apache.hadoop.hbase.master.HMaster.sanityCheckTableDescriptor(HMaster.java:1540)

        ... 8 more

번호 제목 날짜 조회 수
521 [CDP7.1.7]Impala Query의 Memory Spilled 양은 ScratchFileUsedBytes값을 누적해서 구할 수 있다. 2022.07.29 325
520 SQL문장과 Mongo에서 사용하는 명령어를 비교한 것입니다. 2015.09.30 327
519 impala external 테이블 생성시 컬럼과 라인 구분자를 지정하여 테이블 생성하는 예시 2020.02.20 328
518 missing block및 관련 파일명 찾는 명령어 2021.02.20 328
517 Hue Job Browser의 Queries탭에서 조건을 지정하는 방법 2018.05.10 329
516 JAVA_HOME을 명시적으로 지정하는 방법 2018.06.04 329
515 RDF4J의 rdf4j-server.war가 제공하는 RESTFul API를 이용하여 repository에 CRUD테스트 2017.08.30 330
514 python 2.6.6에서 print 'A=' 형태의 사용이 python 3.5.1에서 오류(SyntaxError: Missing parentheses in call to 'print') 발생함.. 2016.05.27 334
513 Could not compute split, block input-0-1517397051800 not found형태의 오류가 발생시 조치방법 2018.02.01 334
512 Could not authenticate, GSSException: No valid credentials provided (Mechanism level: Failed to find any kerberos tgt) 2022.04.28 334
511 solrdf초기 기동시 "Caused by: java.lang.IllegalAccessError: tried to access field org.apache.solr.handler.RequestHandlerBase.log from class org.gazzax.labs.solrdf.handler.update.RdfUpdateRequestHandler" 오류가 발생시 조치사항 2016.04.22 336
510 한번에 여러값 update하기 2016.01.13 337
509 [SparkR]SparkR 설치 사용기 1 - Installation Guide On Yarn Cluster & Mesos Cluster & Stand Alone Cluster file 2016.11.04 339
508 [CentOS 7.4]Hadoop NFS gateway기동시 Cannot connect to port 2049 오류 발생시 확인/조치 2022.03.02 339
507 hue.axes_accessattempt테이블 데이터 샘플 2020.02.10 341
506 tar를 이용한 리눅스 백업 2018.05.13 342
505 [CDP7.1.7]impala-shell을 이용하여 kudu table에 insert/update수행시 발생하는 오류(Transport endpoint is not connected (error 107)) 발생시 확인할 내용 2023.11.30 342
504 SPIN(SPARQL Inference Notation)이란.. file 2016.02.25 343
503 collection생성혹은 collection조회시 Plugin init failure for [schema.xml] fieldType "pdate": Error loading class 'solr.IntField' 오류 조치사항 2022.04.07 344
502 룰에 매칭되면 발생되는 엑티베이션 객체에 대한 작업(이전값 혹은 현재값)을 처리하는 클래스 파일 2016.07.21 346
위로