메뉴 건너뛰기

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

번호 제목 글쓴이 날짜 조회 수
361 linux에서 특정 포트를 사용하는 프로세스 확인하기 총관리자 2017.04.26 351
360 Hbase API를 이용하여 scan시 페이징을 고려하여 목록을 가져올때 사용할 수 있는 로직의 예시를 보여줌 총관리자 2017.04.26 239
359 Spark에서 KafkaUtils.createStream()를 이용하여 이용하여 kafka topic에 접근하여 객채로 저장된 값을 가져오고 처리하는 예제 소스 총관리자 2017.04.26 292
358 Kafka의 API중 Consumer.createJavaConsumerConnector()를 이용하고 다수의 thread를 생성하여 Kafka broker의 topic에 접근하여 데이타를 가져오고 처리하는 예제 소스 총관리자 2017.04.26 226
357 fuseki webUI를 통해서 전체 카운트를 하면 급격하게 메모리를 소모해 버리는 문제가 있음 file 총관리자 2017.04.28 162
356 Ubuntu 16.04 LTS에 4대에 Hadoop 2.8.0설치 총관리자 2017.05.01 521
355 Ubuntu 16.04 LTS에 MariaDB 10.1설치 및 포트변경 및 원격접속 허용 총관리자 2017.05.01 1081
354 test2 총관리자 2017.05.01 153
353 test333 총관리자 2017.05.01 189
352 test333444 총관리자 2017.05.01 113
351 Cleaning up the staging area file시 'cannot access' 혹은 'Directory is not writable' 발생시 조치사항 총관리자 2017.05.02 336
350 hadoop에서 yarn jar ..를 이용하여 appliction을 실행하여 정상적으로 수행되었으나 yarn UI의 어플리케이션 목록에 나타나지 않는 문제 총관리자 2017.05.02 24
349 hadoop에서 yarn jar ..를 이용하여 appliction을 실행하여 정상적으로 수행되었으나 yarn UI의 어플리케이션 목록에 나타나지 않는 문제 총관리자 2017.05.02 51
348 hadoop에서 yarn jar ..를 이용하여 appliction을 실행하여 정상적으로 수행되었으나 yarn UI의 어플리케이션 목록에 나타나지 않는 문제 총관리자 2017.05.02 117
347 hadoop에서 yarn jar ..를 이용하여 appliction을 실행하여 정상적(?)으로 수행되었으나 yarn UI의 어플리케이션 목록에 나타나지 않는 문제 총관리자 2017.05.02 77
346 우분투에서 패키지 설치시 E: Sub-process /usr/bin/dpkg returned an error code 발생시 조치 총관리자 2017.05.02 252
345 Ubuntu 16.04 LTS에 Hive 2.1.1설치하면서 "Version information not found in metastore"발생하는 오류원인및 조치사항 총관리자 2017.05.03 471
344 Hive MetaStore Server기동시 Could not create "increment"/"table" value-generation container SEQUENCE_TABLE since autoCreate flags do not allow it. 오류발생시 조치사항 총관리자 2017.05.03 348
343 Mysql DB 생성 및 권한. 특정아이피, 대역에 대한 접근 허용 총관리자 2017.05.04 60
342 mapreduce appliction을 실행시 "is running beyond virtual memory limits" 오류 발생시 조치사항 총관리자 2017.05.04 16899

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.

위로