메뉴 건너뛰기

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

번호 제목 글쓴이 날짜 조회 수
460 Namenode Metadata백업하는 방법 총관리자 2020.02.10 368
459 HUE를 사용할 사용자를 추가 하는 절차 총관리자 2018.05.29 367
458 hadoop클러스터를 구성하던 서버중 HA를 담당하는 서버의 hostname등이 변경되어 문제가 발생했을때 조치사항 총관리자 2016.07.29 363
457 root계정으로 MariaDB설치후 mysql -u root -p로 db에 접근하여 바로 해줘야 하는일..(케릭터셑은 utf8) 총관리자 2015.10.02 361
456 HDFS상의 /tmp폴더에 Permission denied오류가 발생시 조치사항 총관리자 2017.01.25 360
455 기준일자 이전의 hdfs 데이타를 지우는 shellscript 샘플 총관리자 2019.06.14 359
454 TransmitData() to failed: Network error: Recv() got EOF from remote (error 108) 오류 현상 총관리자 2019.02.15 358
453 git설명 한글판 총관리자 2015.12.09 358
452 impala,hive및 hdfs만 접근가능하고 파일을 이용한 테이블생성가능하도록 hue 권한설정설정 총관리자 2018.09.17 356
451 Ubuntu 16.04 LTS에서 사이트에 무료인증서를 이용하여 SSL적용 file 총관리자 2017.05.23 353
450 linux에서 특정 포트를 사용하는 프로세스 확인하기 총관리자 2017.04.26 350
449 [kudu]테이블 drop이 안되고 timeout이 걸리는 경우 조치 방법 총관리자 2020.06.08 346
448 Hive MetaStore Server기동시 Could not create "increment"/"table" value-generation container SEQUENCE_TABLE since autoCreate flags do not allow it. 오류발생시 조치사항 총관리자 2017.05.03 345
» Apache Spark와 Drools를 이용한 CEP구현 테스트 총관리자 2016.07.15 342
446 [sqoop] mapper를 2이상으로 설정하기 위한 split-by컬럼을 찾을때 유용하게 활용할 수 있는 쿼리 총관리자 2020.05.13 339
445 쿠버네티스(k8s) 설치 및 클러스터 구성하기 총관리자 2019.10.19 336
444 embedded-cassandra의 data 저장위치 총관리자 2019.06.09 336
443 sentry설정후 beeline으로 hive2server에 접속하여 admin계정에 admin권한 부여하기 총관리자 2018.07.03 336
442 python2.7.4에서 Oracle DB(11.2)를 사용하기 위한 설정(RPM을 이용하여 RHEL 7.4에 설치) 총관리자 2021.11.26 333
441 Cleaning up the staging area file시 'cannot access' 혹은 'Directory is not writable' 발생시 조치사항 총관리자 2017.05.02 333

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.

위로