복붙노트

[HADOOP] 2017 년 OS X에서 소스에서 Apache Hadoop 빌드

HADOOP

2017 년 OS X에서 소스에서 Apache Hadoop 빌드

지금까지 저는 Git repo를 포크했습니다.

https://github.com/apache/hadoop

소스에서 빌드하는 방법에 대한 정보를 찾고 있었는데 다음 명령을 시도했습니다.

mvn package -Pdist -Dtar -DskipTests

그 결과 다음과 같은 오류가 발생했습니다.

이것에 대한 좋은 문서가없는 것 같아요, 누가 올바른 절차를 알고 있습니까?

최신 정보:

또한이 방법으로 시도 :

이 파일에 따르면 패키지를 빌드 할 때 protoc을 작동시켜야합니다.

brew link --force --overwrite protobuf250

macOS 종속성은 다음과 같습니다.

$ brew install cmake
$ brew install zlib
$ brew install protobuf
$ brew install snappy

하지만 아무 소용이 :

그런데 공식 문서는 전혀 도움이되지 않습니다. 본질적으로 "Docker 컨테이너 사용"

해결법

  1. ==============================

    1.OSX에서 Homebrew 사용하기 :

    OSX에서 Homebrew 사용하기 :

    필요한 종속성을 설치하십시오.

    brew install protobuf@2.5 gcc autoconf automake libtool cmake snappy gzip bzip2 zlib openssl
    

    Symlink 프로토콜 :

    ln -s /usr/local/Cellar/protobuf@2.5/2.5.0/bin/protoc /usr/local/bin/protoc
    

    버전 확인 (libprotoc 2.5.0) :

    protoc --version
    

    빌드 플래그 내보내기 :

    export OPENSSL_ROOT_DIR="/usr/local/opt/openssl"
    export LDFLAGS="-L${OPENSSL_ROOT_DIR}/lib"
    export CPPFLAGS="-I${OPENSSL_ROOT_DIR}/include"
    export PKG_CONFIG_PATH="${OPENSSL_ROOT_DIR}/lib/pkgconfig"
    export OPENSSL_INCLUDE_DIR="${OPENSSL_ROOT_DIR}/include"
    

    Hadoop 버전 확인 :

    hadoop version
    

    위에 반환 된 버전에 대한 Hadoop 소스를 가져 와서 빌드하십시오.

    wget https://archive.apache.org/dist/hadoop/core/hadoop-3.1.0/hadoop-3.1.0-src.tar.gz
    tar zxvf hadoop-3.1.0-src.tar.gz
    cd hadoop-3.1.0-src
    mvn package -Dmaven.javadoc.skip=true -Pdist,native -DskipTests -Dtar
    

    Homebrew 설치에 기본 lib를 복사하십시오.

    cp -R hadoop-dist/target/hadoop-3.1.0/lib/ /usr/local/Cellar/hadoop/3.1.0/lib/
    

    hadoop-env.sh 업데이트 :

    vi /usr/local/Cellar/hadoop/3.1.0/libexec/etc/hadoop/hadoop-env.sh
    

    HADOOP_OPTS 수정 (주석 처리 가능) :

    export HADOOP_OPTS="-Djava.net.preferIPv4Stack=true -Djava.library.path=/usr/local/Cellar/hadoop/3.1.0/lib/native"
    

    Hadoop을 다시 시작하고 다음을 실행하여 확인하십시오.

    hadoop checknative -a
    

    https://medium.com/@faizanahemad/hadoop-native-libraries-installation-on-mac-osx-d8338a6923db의 지침에 따라

  2. ==============================

    2.최근에 나는이 문제에도 반대했다. 인터넷 검색 후,이 문제는 제 3 자 TLS 라이브러리 (openssl)와 macOS의 기본 라이브러리 사이에 까다로운 문제가 있음을 발견했습니다. 나는 정확히 여기서 무슨 일이 일어나는지 알지 못했지만.

    최근에 나는이 문제에도 반대했다. 인터넷 검색 후,이 문제는 제 3 자 TLS 라이브러리 (openssl)와 macOS의 기본 라이브러리 사이에 까다로운 문제가 있음을 발견했습니다. 나는 정확히 여기서 무슨 일이 일어나는지 알지 못했지만.

    내 솔루션 :

    homebrew를 통해 openssl을 이미 설치했다고 가정합니다. 명령 줄이나 ~ / .bash_profile에 설정하고 (다시 소스로).

    export OPENSSL_ROOT_DIR="/usr/local/opt/openssl"
    export LDFLAGS="-L${OPENSSL_ROOT_DIR}/lib"
    export CPPFLAGS="-I${OPENSSL_ROOT_DIR}/include"
    export PKG_CONFIG_PATH="${OPENSSL_ROOT_DIR}/lib/pkgconfig"
    export OPENSSL_INCLUDE_DIR="${OPENSSL_ROOT_DIR}/include"
    

    maven 명령을 다시 실행하면 좋을 것입니다.

  3. ==============================

    3.이전의 양조 버전은 protobuf 2.5.0에서 더 이상 존재하지 않습니다. 나는 이것을 다운로드하여 작동한다는 것을 알았다.

    이전의 양조 버전은 protobuf 2.5.0에서 더 이상 존재하지 않습니다. 나는 이것을 다운로드하여 작동한다는 것을 알았다.

    https://github.com/google/protobuf/releases/download/v2.5.0/protobuf-2.5.0.tar.bz2

    다음 파일을 확장 한 후 일반 설치를 실행하십시오.

    cd protobuf-2.5.0  
    ./configure
    make
    make check
    sudo make install
    
  4. ==============================

    4.

    mvn clean install -DskipTests
    

    mvn package -Pdist -Pnative -Dtar -DskipTests
    

  5. from https://stackoverflow.com/questions/45921078/build-apache-hadoop-from-source-on-os-x-in-2017 by cc-by-sa and MIT license