반응형

Hadoop 9

HiBench 5.0 간략 설명

mvn package는 했다고 가정. * 데이터 사이즈 관련 설정 HiBench/conf/10-data-scale-profile.conf 를 확인하면 데이터 생성하거나 실행할때 쓰이는 요소들을 알 수 있다. (예: 데이터 제작시 사용되는 데이터 크기 관련 숫자들) * 여러 가지 클래스들 가령 나의 경우 Join 에 데이터 제작시 사용되는 HiBench.DataGen이 어디있는지 찾고싶었는데, 이 경우 HiBench/src/autogen/target/autogen-5.0-SNAPSHOT.jar 에 포함돼 있었다. 따라서 내가 직접 Join에 사용되는 데이터를 만들고 싶다면 hadoop jar autogen-5.0-SNAPSHOT-jar-with-dependencies.jar HiBench.DataGen -..

Programming/기타 2016.01.24

SparkSQL on HBase - hbase.column.mapping에 사용가능한 타입

HBase 공식 문서의 SparkSQL 부분을 확인해보면 다음과 같이 Dataframe을 만드는 부분이 있다: val sqlContext = new SQLContext(sc) df = sqlContext.load("org.apache.hadoop.hbase.spark", Map("hbase.columns.mapping" -> "KEY_FIELD STRING :key, A_FIELD STRING c:a, B_FIELD STRING c:b", "hbase.table" -> "t1")) df.registerTempTable("hbaseTmp") *) 우선 최신버전에 비해 바뀐점은 SparkSQL의 SqlContext에서 load를 바로 사용하는것은 deprecated 됐다. 현재 버전 기준 올바른 사용법은 s..

Programming/Java 2015.11.25

SparkSQL on HBase 사용방법

*) 현재 날짜 (2015/11/23) 기준으로 Cloudera에서 제작했던 SparkOnHBase의 공식 HBase 에 통합된 HBASE-13392는 오로지 master branch( HBase-2.0.0-SNAPSHOP)에서만 사용할 수 있다. 사실 모든 branch와 tag를 돌아다닌건 아니라 딴데 있을수도... 현재 HBase의 공식 reference guide에는 SparkSQL을 이용해 HBase를 접근 가능하다고 나와있지만, 실제 HBase-1.1.2 package에서는 기원이 되는 project인 SparkOnHBase에서 HBaseContext및 몇개의 class가 없기 때문에 compile이 불가능하다. 따라서 SparkSQL을 stable version인 hbase-1.1.2에서 사용..

Programming/Java 2015.11.23

YARN Distributed Shell Application - Client - 주석

YARN에 Distributed Shell application을 제출하는 Client distributed shell client는 application master가 container들의 set에서 제공된 shell command를 실행하는것을 가능하도록 한다. 이 Client는 어떻게 yarn 기반의 어플리케이션들을 작성하는지 예제 역할을 한다. application을 제출하기 위해, client는 첫째로 ResourceManager 혹은 ApplicationManager, ASM으로 알려진 것에 ApplicationClientProtocol을 통하여 접속한다. ApplicationClientProtocol은 client가 cluster 정보에 접근하거나 새로운 ApplicationId를 요청하는것..

Programming/Java 2015.03.23

YARN Distributed Shell Application - ApplicationMaster - 주석

Comment YARN framework을 사용하여 실행된 container들의 모음에서 shell command를 실행하는 ApplicationMaster이다. 이 class는 어떻게 yarn 기반의 application master들을 작성하는지에 대한 예제의 역할도 뜻한다. ApplicationMaster는 ResourceManager의 launcher에 의해서 container에서 실행된다. ApplicationMaster가 하기를 요구하는 것 중 첫번째 것은 스스로 ResourceManager에 연결하고 등록하는 것이다. 등록은 ResourceManager 안에 ApplicationMaster가 listening할 host:port에 관련된 정보를 설정하는것으로 이것들은 client에게 url을..

Programming/Java 2015.03.23

hadoop mapreduce.task.io.sort.mb 에 대해

mapreduce.task.io.sort.mb100The total amount of buffer memory to use while sorting files, in megabytes. By default, gives each merge stream 1MB, which should minimize seeks. http://www.slideshare.net/cloudera/mr-perf Map task (개별) 가 output을 작성할때, 당연하게도 바로 disk에 이를 적지는 않는다. 자신이 가지고 있는 in-memory buffer가 있는데, 이 크기를 조절하는게 mapreduce.task.io.sort.mb 이다. (아무리 생각해도 이름이 너무 직관적이지 못하다...) default 설정이 100MB..

Programming/Java 2014.12.12

HiBench를 새로운 hadoop인 yarn에서 실행할때 일부 밴치마크가 제대로 작동하지 않는 버그

Hibench를 사용하여 hadoop의 성능을 테스트하고 있는데, random text writer를 사용하는 sort와 wordcount에서는 configure.sh에서 설정한 것이 제대로 반영되지 않는것을 확인할 수 있었다. 그래서 신버전의 randomtextwriter를 찾아본 결과, 이름이 수정되어서 이전 randomtextwriter의 코드로 작성된 prepare.sh의 내용이 제대로 반영되지 않는것으로 판단됐다. 현재 HiBench 2.2 버전의 prepare.sh 코드는 다음과 같다. #line: 39# generate data$HADOOP_EXECUTABLE jar $HADOOP_EXAMPLES_JAR randomtextwriter \ -D test.randomtextwrite.bytes_..

Programming/Java 2014.04.16

HiBench benchmark using random-text-writer have issue in yarn, new hadoop 2.x

I had problems using Hibench 2.2 in new hadoop cluster, yarn. when I used prepare.sh to make data used in wordcount and sort, DATASIZE and NUM_MAPS in configure.sh aren't recognized correctly. So I edited some lines which looks like old code, after that, it was executed correctly. it is original source code #line: 39# generate data$HADOOP_EXECUTABLE jar $HADOOP_EXAMPLES_JAR randomtextwriter \ -D..

Programming/Java 2014.04.16

Hadoop common version(v2.1.0 beta) compile 하기

Source code를 받으면, BUILDING.txt 문서가 있는데 이를 참조. Requirements: * Unix System* JDK 1.6* Maven 3.0* Findbugs 1.3.9 (if running findbugs)* ProtocolBuffer 2.4.1+ (for MapReduce and HDFS)* CMake 2.6 or newer (if compiling native code)* Internet connection for first build (to fetch all Maven and Hadoop dependencies) Ubuntu의 경우, Findbugs를 제외하고 apt를 통해서 받을 수 있다. ProtocolBuffer의 경우, 이름이 protobuf-c-compiler,..

Programming/Java 2013.08.23
반응형