기본 콘텐츠로 건너뛰기

라벨이 Hadoop인 게시물 표시

Docker Hadoop Sqoop

Docker Hadoop Hbase 글에서 작성한 컨테이너를 이어서 사용합니다. Docker Hadoop Hive 2 를 참고해서 Hive 설치까지 끝냅니다. sqoop 바이너리를 받고 압축해제해서 적당한 폴더로 옮깁니다. 폴더 사용자 그룹을 설정하고 sqoop 커맨드 help를 실행해 봅니다. wget http://mirror.navercorp.com/apache/sqoop/1.4.7/sqoop-1.4.7.bin__hadoop-2.6.0.tar.gz tar xvf sqoop-1.4.7.bin__hadoop-2.6.0.tar.gz sudo mkdir /usr/local/sqoop sudo mv sqoop-1.4.7.bin__hadoop-2.6.0/* /usr/local/sqoop sudo chown -R hduser:hadoop /usr/local/sqoop cd /usr/local/sqoop bin/sqoop help sqoop을 이용해서 RDBMS와 HDFS 간의 데이터 마이그레이션을 할 수 있습니다. sqoop-env.sh 설정파일에 Hadoop, Hive, Hbase, Zookeeper 설치경로를 수정합니다. cp ./conf/sqoop-env-template.sh conf/sqoop-env.sh vim conf/sqoop-env.sh export HADOOP_COMMON_HOME=/usr/local/hadoop export HADOOP_MAPRED_HOME=/usr/local/hadoop export HBASE_HOME=/usr/local/hbase export HIVE_HOME=/usr/local/hive export ZOOCFGDIR=/usr/local/zookeeper/conf 설정이 완료되면, Sqoop Connector 를 다운받아서 sqoop 설치경로/lib 아래에 둡니다. 예를들어, mysql을 db로 사용한다면 mysql connector driver 가 필요합니다. MySQL Connector/j ...

Docker Hadoop Hbase

Docker Hadoop Zookeeper 글에서 만든 컨테이너에서 계속 작업합니다. 우선 hduser로 접속합니다. 그리고 hbase 바이너리를 다운로드 받습니다. 바이너리 파일을 /usr/local/hbase 로 옮겨주고 권한을 줍니다. su hduser cd /tmp wget http://archive.apache.org/dist/hbase/stable/hbase-1.4.7-bin.tar.gz tar xvf hbase-1.4.7-bin.tar.gz sudo mkdir /usr/local/hbase sudo mv hbase-1.4.7/* /usr/local/hbase sudo chown -R hduser:hadoop /usr/local/hbase ./conf/hbase-env.sh 파일에서 JAVA_HOME 환경변수를 설정합니다. vim ./conf/hbase-env.sh export JAVA_HOME=/usr/lib/jvm/java-8-oracle 이제 로컬 파일시스템으로 동작하는 hbase를 실행해 보겠습니다. 다음의 명령어를 입력하면 hbase shell 로 접속할 수 있습니다. ./bin/start-hbase.sh ./bin/hbase shell Pseudo-Distributed Local System 으로 동작시키기 위해서는 환경설정을 몇가지를 추가하면 됩니다. 먼저, hbase가 실행중이라면 중지합니다. ./bin/stop-hbase.sh hbase-site.xml 파일을 편집합니다. vim ./conf/hbase-site.xml <property> <name>hbase.cluster.distributed</name> <value>true</value> </property> <property> <name>hbase.rootdir</name> <value>hdfs://localhost:9000/...

Docker Hadoop Zookeeper

Docker Hadoop Pig  글에서 만든 컨테이너를 기준으로 Zookeeper를 설치하면 됩니다. 바이너리 파일을 다운받아서 압축을 풀고, 적당한 폴더로 위치시킵니다. wget https://archive.apache.org/dist/zookeeper/stable/zookeeper-3.4.12.tar.gz tar xvf zookeeper-3.4.12.tar.gz sudo mkdir /usr/local/zookeeper sudo mv zookeeper-3.4.12/* /usr/local/zookeeper 폴더의 유저와 그룹을 하둡사용자 그룹으로 변경하고 설정파일을 작성합니다. dataDir 설정키는 ZooKeeper데이터를 위치시킬 폴더를 나타냅니다. 적당한 폴더를 만들어서 폴더 사용자그룹을 변경합니다. sudo chown -R hduser:hadoop /usr/local/zookeeper cp conf/zoo_sample.cfg conf/zoo.cfg vim conf/zoo.cfg dataDir=/usr/lib/zookeeper sudo mkdir /usr/lib/zookeeper sudo chown -R hduser:hadoop /usr/lib/zookeeper 이제 Zookeeper 서버를 실행합니다. ./bin/zkServer.sh start Zookeeper 설치가 완료되었습니다.

Docker Hadoop Pig

Docker Hadoop Spark 글에서 작성한 Dockerfile 을 이용해서 Container를 생성하고, Docker Hadoop Hive 1 글에서 jdk 와 Hadoop 설치를 완료하면 Hadoop 컨테이너는 준비가 되었습니다. 우선 hduser로 접속합니다. 그리고 pig 바이너리를 다운로드 받습니다. 바이너리 파일을 /usr/local/pig 로 옮겨주고 권한을 줍니다. su hduser cd /tmp wget http://mirror.navercorp.com/apache/pig/pig-0.16.0/pig-0.16.0.tar.gz tar xvf pig-0.16.0.tar.gz sudo mkdir /usr/local/pig sudo mv pig-0.16.0/* /usr/local/pig sudo chown -R hduser:hadoop /usr/local/pig pig는 JAVA_HOME, HADOOP_HOME(mapreduce 실행방식일 경우) 환경변수를 참조합니다. 환경변수를 설정합니다. vim ~/.bashrc export JAVA_HOME=/usr/lib/jvm/java-8-oracle export HADOOP_HOME=/usr/local/hadoop source ~/.bashrc pig는 로컬 방식으로 실행할 수도 있고, mapreduce 방식으로 실행할 수 있습니다. 로컬 방식은 ./bin/pig -x local 로 실행합니다. 하둡을 이용하면 ./bin/pig 명령어를 입력합니다. pig 설치가 완료되었습니다.

Docker Hadoop Spark

도커 파일을 생성해서 컨테이너의 timezone을 설정하고, 유틸리티들(wget, vim..)을 미리 설치해두겠습니다. 다음의 명령어를 순서대로 실행해주세요 mkdir hadoop cd hadoop vim Dockerfile FROM ubuntu:latest MAINTAINER myname <myemail@example.com> RUN apt-get update && apt-get install -y software-properties-common wget sudo vim ssh rsync git locales w3m RUN locale-gen ko_KR.UTF-8 ENV LC_ALL ko_KR.UTF-8 CMD ["/bin/bash"] 저장 하고 빠져나온 뒤에 다음의 명령어를 실행하세요. docker build -t spark:0.1 . build 가 끝나면 docker images 에 내가 만든 이미지가 등록되어 있습니다. docker run -d -it --name spark spark:0.1 /bin/bash docker exec -it spark /bin/bash timezone 설정을 하겠습니다. apt-get -y install tzdata && ln -sf /usr/share/zoneinfo/Asia/Seoul /etc/localtime oracle jdk 1.8 설치는 Docker Hadoop Hive 1 편을 참고해서 진행하시면 됩니다. spark 는 scala, python, R 으로 실행합니다. scala, python, R 을 설치합니다. apt-get install -y scala python r-base sbt 스칼라 빌드 툴도 설치합니다. 설치는 sbt document 를 참고합니다. echo "deb https://dl.bintray.com/sbt/debian /" | sudo tee -a /etc/apt/sources...

Docker Hadoop Hive 2

Docker Hadoop Hive 1 편에 이어서 Hive 설치를 계속 진행하겠습니다. /usr/local/hive 폴더의 그룹과 유저를 하둡그룹에 hduser로 설정합니다. sudo chown -R hduser:hadoop /usr/local/hive HDFS 내에서 Hive 가 사용할 데이터저장소를 생성해야합니다. bin/hdfs dfs -mkdir /tmp bin/hdfs dfs -mkdir -p /user/hive/warehouse bin/hdfs dfs -chmod g+w /tmp bin/hdfs dfs -chmod g+w /user/hive/warehouse 폴더 생성과 권한을 다 주고 나면 hive/conf 폴더에서 설정파일들을 준비합니다. cd /usr/local/hive/conf mv hive-env.sh.template hive-env.sh mv hive-default.xml.template hive-site.xml mv hive-exec-log4j2.properties.template hive-exec-log4j2.properties mv hive-log4j2.properties.template hive-log4j2.properties hive-env.sh 파일을 편집합니다. vim hive-env.sh export HADOOP_HOME=/usr/local/hadoop export HIVE_CONF_DIR=/usr/local/hive/conf hive-site.xml 파일을 편집합니다. hive.exec.local.scratchdir 프로퍼티에 대한 value 값을 /tmp/hduser 로 변경합니다. hive.downloaded.resources.dir 프로퍼티에 대한 value 값을 /tmp/hduser/hive/${hive.session.id}_resources vim hive-site.xml <property> <name>hive.exec.local.scratchdir</n...