검색결과 리스트
글
[Hadoop]Fedora 23 버전에서 Hadoop 2.7.1 설치하기(Install Hadoop 2.7.1 in Fedora 23)
Fedora가 yum을 버리고 dnf를 사용하는 등 세세한 변화가 있어 이러한 환경에서 Hadoop을 설치하는 자세한 방법을 찾으면서 포스팅 해 보았습니다.
- 개발환경
운영체제 : Fedora 23
하둡 : Hadoop 2.7.1
ProtoBuffer : Protoc 2.5.0
JAVA : Java Development Kit 8
1. 시작하기에 앞서 dnf를 통해 아래의 프로그램드을 설치해주세요.
# dnf update
# dnf install gcc gcc-c++ automake kernel-devel openssl-devel cmake
2. 1.7+ 버전 이상의 Java를 설치합니다. 본 포스팅에서는 최신 버전의 JDK 8을 설치하였으며 Fedora 23의 경우 기본 설치된 JDK를 사용하시면 됩니다.
$ java -version
3. Maven 3.0 이상의 버전을 설치합니다. 본 포스팅에서는 Maven 3.3.9를 설치합니다.
# wget http://apache.tt.co.kr/maven/maven-3/3.3.9/binaries/apache-maven-3.3.9-bin.tar.gz
# tar -xzf apache-maven-3.3.9-bin.tar.gz
# mv apache-maven-3.3.9 /usr/local
4. ProtocolBuffer를 설치합니다. Hadoop 2.7.1의 경우 ProtocolBuffer 2.6.1을 설치해야 합니다.
# wget https://protobuf.googlecode.com/files/protobuf-2.5.0.tar.gz
# tar -xzf protobuf-2.5.0.tar.gz
# mv protobuf-2.5.0 /usr/local/lib
# cd /usr/local/lib/protobuf-2.5.0
# ./configure
# make -j4
# make check
# make install
# make ldconfig
5. Fedora에 기본으로 깔려있는ProtocolBuffer가 있다면 삭제 후 새로 설치한 ProtocolBuffer을 설정해줍니다.
# rm /usr/bin/protoc
# update-alternatives --install "/usr/bin/protoc" "protoc" "/usr/local/bin/protoc" 1
# protoc --version
6. bashrc 파일을 수정하여 설치한 Maven과 ProtocolBuffer를 사용할 수 있도록 설정합니다.
# vi ~/.bashrc
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib
export M2_HOME=/usr/local/apache-maven-3.3.9
export PATH=$M2_HOME/bin:$PATH
7. Hadoop 2.7.1을 다운로드 받은 후 압축을 풀어줍니다.
$ wget http://apache.mirror.cdnetworks.com/hadoop/common/hadoop-2.7.1/hadoop-2.7.1-src.tar.gz
$ tar -xzf hadoop-2.7.1-src.tar.gz
$ mv hadoop-2.7.1-src ~/
$ cd ~/hadoop-2.7.1-src
8. 이제 Hadoop을 컴파일 합니다. 컴파일 명령어는 아래와 같이 입력해줍니다.
# mvn clean package -Pdist,native -DskipTests -Dtar -Dmaven.javadoc.skip=true
위의 화면과 같이 끝까지 수행하게 되면 Hadoop의 컴파일이 완료된 것입니다. 이제 Hadoop-dist 폴더를 확인하시면 컴파일된 Hadoop이 있는 것을 확인하실 수 있습니다.
이제 컴파일된 Hadoop을 자신이 원하는 환경대로 구현을 하면 되겠습니다.
'프로그래밍 팁 > Hadoop' 카테고리의 다른 글
[Hadoop]분산 행렬곱 연산 하둡 예제로 맵리듀스 이해하기(Matrix Multiplication with Hadoop) (0) | 2015.12.29 |
---|---|
[Hadoop] pom.xml로 maven 컴파일하기 (0) | 2015.11.28 |
[Hadoop]JDK 8 버전에서 Hadoop 2.6.2 컴파일시 에러 해결방법 (0) | 2015.11.19 |
설정
트랙백
댓글
글
[Hadoop]JDK 8 버전에서 Hadoop 2.6.2 컴파일시 에러 해결방법
버전이 높아질 수록 다양한 기능이 제공되기도 합니다만 때로는 호환성에 문제가 생겨 프로그램이 정상적으로 동작되지 않는 경우가 발생합니다. 아래와 같은 경우 Java Development Kit 8에서 hadoop을 컴파일하게 되었을 때 발생하는 에러입니다.
-개발환경
운영체제 : Ubuntu 12.04(64-bit)
하둡 : Hadoop 2.6.2
ProtoBuffer : Protoc 2.5.0
JAVA : Java Development Kit 8
[INFO] Apache Hadoop Annotations ......................... FAILURE [4.086s]
---
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-javadoc-plugin:2.8.1:jar (module-javadocs) on project hadoop-annotations: MavenReportException: Error while creating archive:
[ERROR] Exit code: 1 - C:\hadoop-src\hadoop-common-project\hadoop-annotations\sr
c\main\java\org\apache\hadoop\classification\InterfaceStability.java:27: error:
unexpected end tag: </ul>
[ERROR] * </ul>
[ERROR] ^
[ERROR]
[ERROR] Command line was: "C:\Program Files\Java\jdk1.8.0_05\jre\..\bin\javadoc.exe" -J-Dhttp.proxySet=true -J-Dhttp.proxyHost=proxy -J-Dhttp.proxyPort=3128 @op
tions @packages
[ERROR]
[ERROR] Refer to the generated Javadoc files in 'C:\hadoop-src\hadoop-common-project\hadoop-annotations\target' dir.
[ERROR] -> [Help 1]
[ERROR]
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR]
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoExecutionException
[ERROR]
위의 에러가 발생하는 이유는 Java Development Kit 8에서부터는 이전 버전에 비해 좀 더 엄격해져서 위의 태그 </ul>이 JDK8에서는 맞지 않아 에러를 발생시킨 경우 입니다. 이 경우 아래와 같이 명령어를 추가하면 간단하게 해결하실 수 있습니다.
$ mvn clean package -Pdist,native -DskipTests -Dtar -Dmaven.javadoc.skip=true
'프로그래밍 팁 > Hadoop' 카테고리의 다른 글
[Hadoop]분산 행렬곱 연산 하둡 예제로 맵리듀스 이해하기(Matrix Multiplication with Hadoop) (0) | 2015.12.29 |
---|---|
[Hadoop] pom.xml로 maven 컴파일하기 (0) | 2015.11.28 |
[Hadoop]Fedora 23 버전에서 Hadoop 2.7.1 설치하기(Install Hadoop 2.7.1 in Fedora 23) (0) | 2015.11.21 |
설정
트랙백
댓글
글
OpenCV 최신 버전에서 Python으로 SIFT, SURF 사용하기(Install OpenCV 3.0 in Ubuntu)
최신 버전의 OpenCV 라이브러리를 사용하여 Python 환경에서 SIFT 알고리즘을 수행하려 해보았더니 아래와 같은 화면이 출력됩니다.
OpenCV 3.0.0 버전 이후에는 이전 버전에서 사용할 수 있었던 일부 라이브러리의 사용이 제한되어 있습니다. 자주 사용되는 SIFT와 SURF 또한 이에 해당되어 OpenCV 최신 버전을 그대로 설치하면 이를 바로 사용할 수 없습니다. 최신 버전의 OpenCV에서 이를 사용하기 위해서는 opencv_contrib을 추가적으로 설정해 주어야 합니다.
1. OpenCV 최신 버전을 설치하기 위해 아래의 프로그램들을 설치합니다.
$ sudo apt-get install build-essential cmake git pkg-config libjpeg8-dev libtiff4-dev libjasper-dev libpng12-dev libavcodec-dev libavformat-dev libswscale-dev libv4l-dev libatlas-base-dev gfortran python2.7-dev
2. Python 2.X 버전을 설치합니다. 3.X 버전의 경우 동작이 되지 않는 경우가 종종 발생한다는 점을 유의하셔야 합니다. apt-get에서는 2.X 버전을 제공합니다.
$sudo apt-get install python
3. Python 패키지 매니저인 pip를 설치합니다.
$ wget https://bootstrap.pypa.io/get-pip.py
$ sudo python get-pip.py
4. 기존 Python OpenCV의 라이브러리와는 별도로 동작할 수 있게 하는 virtualenv와 virtualenvwrapper를 설치합니다.
$ sudo pip install virtualenv virtualenvwrapper
5. 설치한 virtualenv와 virtualenvwrapper가 항상 수행될 수 있도록 bash를 수정합니다.
$ vi ~/.bashrc
6. 수정한 bashrc를 바로 적용합니다.
$source ~/.bashrc
7. 독립된 별도의 Python OpenCV 라이브러리 환경을 만들기 위한 가상 환경을 생성합니다.
$mkvirtualenv cv
8. 최신 버전의 OpenCV 버전을 다운로드 받아 OpenCV 폴더에 압축을 풉니다.
http://opencv.org/downloads.html
또는 Github를 통해 최신 버전의 OpenCV 소스코드를 다운로드 받습니다.
$ cd ~
$ git clone https://github.com/Itseez/opencv.git
$ cd opencv
$ git checkout 3.0.0
9. 이전 버전의 OpenCV 라이브러리를 사용할 수 있도록 해주는 opencv_contrib를 다운로드 받습니다.
$ cd ~
$ git clone https://github.com/Itseez/opencv_contrib.git
$ cd opencv_contrib
$ git checkout 3.0.0
10. 이제 본격적으로 OpenCV 라이브러리를 설치해 보도록 합니다. 아래와 같이 cmake를 통해 Makefile을 구성합니다. 이 과정에서 위에서 받은 opencv_contrib을 설정해줍니다.
$ cd ~/opencv
$ mkdir build
$ cd build
$ cmake -D CMAKE_BUILD_TYPE=RELEASE \
-D CMAKE_INSTALL_PREFIX=/usr/local \
-D INSTALL_C_EXAMPLES=ON \
-D INSTALL_PYTHON_EXAMPLES=ON \
-D OPENCV_EXTRA_MODULES_PATH=~/opencv_contrib/modules \
-D BUILD_EXAMPLES=ON ..
11. 구성요소를 컴파일한 다음 자신의 환경에서 만든 OpenCV를 설치합니다.
$make -j4
$sudo make install
$sudo make ldconfig
12. OpenCV 설치가 완료되면 이를 Python에서 사용할 수 있도록 Sym-link를 추가해 줍니다.
$ cd ~/.virtualenvs/cv/lib/python2.7/site-packages/
$ ln -s /usr/local/lib/python2.7/site-packages/cv2.so cv2.so
13. 이로서 OpenCV의 설치가 완료되었습니다. cv2 라이브러리를 불러오는 것으로 실행을 확인해 봅니다.
>>> import cv2
>>> cv2.__version__
위와 같이 자신이 설치한 OpenCV 버전이 나오면 설치는 성공한 것입니다! 이제 SIFT가 실행이 잘 되는지 확인해 보도록 합니다!
아래 이미지에 대한 SIFT 연산을 수행하는 프로그램을 작성해 보겠습니다.
1 2 3 4 5 6 7 8 9 10 11 | import cv2 import numpy as np img = cv2.imread('elecs.png') gray= cv2.cvtColor(img,cv2.COLOR_BGR2GRAY) sift = cv2.xfeatures2d.SIFT_create() kp = sift.detect(gray,None) cv2.drawKeypoints(gray,kp,img,flags=cv2.DRAW_MATCHES_FLAGS_DRAW_RICH_KEYPOINTS) cv2.imwrite('sift_elecs.jpg',img) | cs |
- 결과
-참고자료
http://www.pyimagesearch.com/2015/06/22/install-opencv-3-0-and-python-2-7-on-ubuntu/
'프로그래밍 팁' 카테고리의 다른 글
IP 주소를 통해 위치 정보 얻기(IP-API.com) (0) | 2016.11.09 |
---|---|
Fedora에 이전 버전의 OpenJDK 설치하기(Install OpenJDK 7 in Fedora 23) (0) | 2015.12.22 |
[JAVA] 같은 공유기에 접속중인 기기의 IP 주소 확인하는방법 (0) | 2015.10.15 |
[JAVA] Socket 서버 구현시 안전하게 SocketServer를 종료하는 방법 (3) | 2015.10.14 |
[C/C++]thread 조건변수 다루기 - pthread_cond_broadcast() (0) | 2015.09.01 |