메뉴 건너뛰기

Bigdata, Semantic IoT, Hadoop, NoSQL

Bigdata, 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

번호 제목 글쓴이 날짜 조회 수
70 spark에서 hive table을 읽어 출력하는 예제 소스 총관리자 2017.03.09 37
69 spark2.0.0에서 hive 2.0.1 table을 읽어 출력하는 예제 소스(HiveContext, SparkSession, SQLContext) 총관리자 2017.03.09 163
68 It is indirectly referenced from required .class files 오류 발생시 조치방법 총관리자 2017.03.09 93
67 spark 2.0.0의 api를 이용하는 예제 프로그램 총관리자 2017.03.15 199
66 JavaStreamingContext를 이용하여 스트림으로 들어오는 문자열 카운트 소스 총관리자 2017.03.30 129
65 streaming작업시 입력된 값에 대한 사본을 만들게 되는데 이것이 실패했을때 발생하는 경고메세지 총관리자 2017.04.03 126
64 Caused by: java.lang.ClassNotFoundException: org.apache.spark.Logging 발생시 조치사항 총관리자 2017.04.19 284
63 Spark에서 Serializable관련 오류및 조치사항 총관리자 2017.04.21 4901
62 Spark에서 KafkaUtils.createStream()를 이용하여 이용하여 kafka topic에 접근하여 객채로 저장된 값을 가져오고 처리하는 예제 소스 총관리자 2017.04.26 292
61 Ubuntu 16.04 LTS에 Hive 2.1.1설치하면서 "Version information not found in metastore"발생하는 오류원인및 조치사항 총관리자 2017.05.03 471
60 Hive MetaStore Server기동시 Could not create "increment"/"table" value-generation container SEQUENCE_TABLE since autoCreate flags do not allow it. 오류발생시 조치사항 총관리자 2017.05.03 349
59 Windows7 64bit 환경에서 Apache Spark 2.2.0 설치하기 총관리자 2017.07.26 260
58 spark stream처리할때 두개의 client프로그램이 동일한 checkpoint로 접근할때 발생하는 오류 내용 총관리자 2018.01.16 1115
57 Could not compute split, block input-0-1517397051800 not found형태의 오류가 발생시 조치방법 총관리자 2018.02.01 197
56 spark-submit 실행시 "java.lang.OutOfMemoryError: Java heap space"발생시 조치사항 총관리자 2018.02.01 517
55 scala application 샘플소스(SparkSession이용) 총관리자 2018.03.07 135
54 Scala를 이용한 Streaming예제 총관리자 2018.03.08 69
53 Scala에서 countByWindow를 이용하기(예제) 총관리자 2018.03.08 235
52 beeline으로 접근시 "User: gooper is not allowed to impersonate anonymous (state=08S01,code=0)"가 발생하면서 "No current connection"이 발생하는 경우 조치 총관리자 2018.04.15 194
51 우분투 16.04LTS에 Jupyter설치 총관리자 2018.04.17 91

A personal place to organize information learned during the development of such Hadoop, Hive, Hbase, Semantic IoT, etc.
We are open to the required minutes. Please send inquiries to gooper@gooper.com.

위로