'build'에 해당되는 글 5건

  1. 2017.11.21 [Hadoop] Native library installation on osx
  2. 2017.10.25 [Gradle] Use latest version on dependency jar.
  3. 2014.11.03 [Maven] 콘솔 빌드 시 JAVA_HOME 확인.
  4. 2014.01.07 [Elasticsearch] maven build 하기....
  5. 2013.01.31 default gcc, g++ compile command

[Hadoop] Native library installation on osx

Elastic/Hadoop 2017.11.21 15:54

hdfs 에서 snappy 압축 파일을 바로 읽으려고 하니 아래와 같은 오류 메시지가 발생을 했습니다.

hadoop 을 구성 할 때  source build 를 하지 않고 그냥 binary 를 가지고 사용해서 그런것 같아 source 를 받아서 build 를 하기로 했습니다.


[에러 메시지]

Unable to load native-hadoop library for your platform... using builtin-java classes where applicable


$ hadoop checknative -a

Native library checking:

hadoop:  false

zlib:    false

snappy:  false

lz4:     false

bzip2:   false

openssl: false

처럼 나와서 빌드를 하게 되었습니다.


참고문서는 아래 링크를 보시면 됩니다.

Ref. 

https://medium.com/@faizanahemad/hadoop-native-libraries-installation-on-mac-osx-d8338a6923db

https://gist.github.com/zedar/f631ace0759c1d512573


brea install 을 통해서 필요한 몇 가지를 먼저 구성 하셔야 합니다.

$ brew install gcc autoconf automake libtool cmake snappy gzip bzip2 homebrew/versions/protobuf250 zlib openssl

참고로 저는 protobuf 3.4.0 이 설치되어 있어서 downgrade 했습니다.


pure hadoop build 는 maven 은 3.x 이상을 요구 합니다.

- hadoop-2.7.2 빌드 했습니다.


[빌드 및 native library 복사]

$ ../apache-maven-3.5.0/bin/mvn package -Pdist,native -DskipTests -Dtar -e

$ vi .bash_profile

export OPENSSL_ROOT_DIR=/usr/local/Cellar/openssl/1.0.2m

export OPENSSL_INCLUDE_DIR=/usr/local/Cellar/openssl/1.0.2m/include

export PROTOC_HOME=/usr/local/opt/protobuf@2.5

export HADOOP_HOME=/Users/henry/Work/apps/hadoop-2.7.2

PATH=$PROTOC_HOME/bin:$HADOOP_HOME/bin:$HOME/bin:$PATH


export PATH


$ cp -r hadoop-dist/target/hadoop-2.7.2/lib/native/* /Users/henry/Work/apps/hadoop-2.7.2/lib/native/osx/

$ vi etc/hadoop/hadoop-env.sh

export HADOOP_HOME="/Users/henry/Work/apps/hadoop-2.7.2"

export HADOOP_COMMON_LIB_NATIVE_DIR=${HADOOP_HOME}/lib/native

export HADOOP_OPTS="$HADOOP_OPTS -Djava.library.path=$HADOOP_HOME/lib/native/osx"

$ vi etc/hadoop/core-site.xml

    <property>

        <name>io.compression.codecs</name>                  <value>org.apache.hadoop.io.compress.GzipCodec,org.apache.hadoop.io.compress.DefaultCodec,org.apache.hadoop.io.compress.SnappyCodec,org.apache.hadoop.io.compress.BZip2Codec</value>

    </property>

여기 까지 하고 나서 아래 명령어를 다시 실행해 봅니다.

$ hadoop checknative -a

17/11/21 15:45:16 WARN bzip2.Bzip2Factory: Failed to load/initialize native-bzip2 library system-native, will use pure-Java version

17/11/21 15:45:16 INFO zlib.ZlibFactory: Successfully loaded & initialized native-zlib library

Native library checking:

hadoop:  true /Users/henry/Work/apps/hadoop-2.7.2/lib/native/osx/libhadoop.dylib

zlib:    true /usr/lib/libz.1.dylib

snappy:  true /usr/local/lib/libsnappy.1.dylib

lz4:     true revision:99

bzip2:   false

openssl: false build does not support openssl.


Hadoop source build 하다 보면 아래 에러가 발생을 합니다.

[INFO] Apache Hadoop Pipes ................................ FAILURE [  0.627 s]

이 경우 아래 문서 참고해서 해결 하시면 됩니다.

Ref. 

https://stackoverflow.com/questions/36818957/mac-hadoop-2-7-failed-to-execute-goal-org-apache-maven-pluginsmaven-antrun


$ cd hadoop/hadoop-tools/hadoop-pipes

$ vi pom.xml

...중략...

<arg line="${basedir}/src/ -DJVM_ARCH_DATA_MODEL=64"/>

...중략...

-> 여기서 64를 6으로 변경해 주시기 바랍니다.


저작자 표시 비영리 변경 금지
신고
Trackback 0 : Comment 0

[Gradle] Use latest version on dependency jar.

ITWeb/개발일반 2017.10.25 17:36

Gradle dependency jar 에 대한 최신 정보 반영을 위해서는 아래와 같이 수정 하면 됩니다.


ASIS)

compile "com.google.api.grpc:proto-google-common-protos:0.1.9"

drivers group: "com.google.api.grpc", name: "cproto-google-common-protos", version: "0.1.9", changing: true


TOBE)

compile "com.google.api.grpc:proto-google-common-protos:+"

drivers group: "com.google.api.grpc", name: "cproto-google-common-protos", version: "+", changing: true


항상 최신 버전을 사용하고 싶으실때 쓰시면 좋을 듯 합니다.


참고문서)

https://docs.gradle.org/2.11/userguide/dependency_management.html#sec:dependency_resolution

23.7. How dependency resolution works

https://docs.gradle.org/2.11/userguide/artifact_dependencies_tutorial.html#N1059B

7.2. Declaring your dependencies


저작자 표시 비영리 변경 금지
신고
Trackback 0 : Comment 0

[Maven] 콘솔 빌드 시 JAVA_HOME 확인.

ITWeb/개발일반 2014.11.03 12:01

eclipse 로 빌드 하다 console 에서 빌드 할떄가 있습니다.

eclipse 에서는 빌드가 잘되는데 console 에서 안될때 먼저 mvn 의 JAVA_HOME 이 어떻게 되어 있는지 확인해보는게 좋습니다.


지금은 JDK7을 많이 사용하실 텐데 확인해 보면 JDK6 으로 설정된경우 에러가 발생을 합니다.


$ mvn -version

Apache Maven 3.2.1 (ea8b2b07643dbb1b84b6d16e1f08391b666bc1e9; 2014-02-15T02:37:52+09:00)

Maven home: /Users/hwjeong/Desktop/Applications/apache-maven-3.2.1

Java version: 1.6.0_65, vendor: Apple Inc.

Java home: /System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home

Default locale: ko_KR, platform encoding: EUC_KR

OS name: "mac os x", version: "10.10", arch: "x86_64", family: "mac"


mvn 파일 열어서 JAVA_HOME 부분 찾아서 고쳐 주신 후 빌드 하면 끝.

저작자 표시 비영리 변경 금지
신고
tags : build, console, maven, mvn
Trackback 0 : Comment 0

[Elasticsearch] maven build 하기....

Elastic/Elasticsearch 2014.01.07 12:30

http://www.elasticsearch.org/contributing-to-elasticsearch/


elasticsearch checkout 받은 후 코드 수정 또는 빌드를 하고 싶을때 참고 하시면 됩니다.

이전 버전에서는 maven 2.x 에서 되었던 것 같은데 지금은 3.x 가 필요 하내요.

run configure 에서 maven 3.x 로 변경 하시고 빌드 하시면 정상적으로 빌드가 됩니다.


위 문서에 나와 있는 것 처럼 Goals 에 아래 옵션을 넣고 빌드 하세요.

clean package -DskipTests


신고
Trackback 0 : Comment 0

default gcc, g++ compile command

ITWeb/개발일반 2013.01.31 14:26

영어는 못하지만 그냥 내 블로그에 글 작성을 이제 부터 영어로 해보려 합니다.
못하니까 이러지 잘하면 이러겠어요.. ㅋㅋ

Recently I'm develop c, c++ program.
So, write default compile command.

[*.c]
gcc FILENAME.c -I/path/to/include -L/path/to/lib -lLINK_NAME -o output

[*.cpp]
g++ FILENAME.cpp -I/path/to/include -L/path/to/lib -lLINK_NAME -o output


You can reference the below URL.
http://gcc.gnu.org/onlinedocs/gcc/Option-Summary.html

신고
tags : build, compile, g++, gcc
Trackback 0 : Comment 0