[컴] hadoop - hive - spark 테스트 환경

하둡 / 스파크 테스트 환경 / 테스트방법 /디버그 / debug / hadoop-hive-spark

hadoop - hive - spark 테스트 환경

위의 file 을 download 하자. windows 라면, zip file 을 받는 것이 나을 수 있다. .sh 의 line ending 에 문제가 생길 수 있다.

그리고 README.md를 따라 하면 된다.

설치

docker-compose up

설치가 완료된 후 docker network 로 network 정보를 알 수 있다.

docker network inspect docker-hadoop-spark-master_default

README.md 에 보면 아래처럼 URL이 나와 있다. <dockerhadoop_IP_address>localhost를 넣고 web browser 에서 접근해 보면 된다.

  • Namenode: http://:9870/dfshealth.html#tab-overview
  • History server: http://:8188/applicationhistory
  • Datanode: http://:9864/
  • Nodemanager: http://:8042/node
  • Resource manager: http://:8088/
  • Spark master: http://:8080/
  • Spark worker: http://:8081/
  • Hive: http://:10000

HDFS 에 file 올리기

hdfs 사용은 namenode 에 접근해서 작업하면 된다.

만약 file 을 hdfs 로 복사하려면 아래같이 파일을 옮기면 된다.

local --> namenode --> hdfs

여기서는 namenode 가 docker 로 되어 있으니, 아래처럼 파일을 namenode로 복사하면 된다.

docker cp <file_name> namenode:<file_name>


  ┌──────────┐        ┌──────────┐      ┌───────────┐
  │          │        │          │      │           │
  │ local    │        │ namenode │      │  hdfs     │
  │ ┌──────┐ │ ─────► │ ┌──────┐ │ ───► │           │
  │ │ file │ │        │ │ file │ │      │           │
  │ └──────┘ │        │ └──────┘ │      │           │
  └──────────┘        └──────────┘      └───────────┘

hdfs 에 directory 를 만들어 보자. 만약 /myhome/test/files라는 folder 를 만든다고 하면 아래처럼 명령어를 실행하면 된다.

hdfs dfs -mkdir /myhome
hdfs dfs -mkdir /myhome/test
hdfs dfs -mkdir /myhome/test/files

이제 방금만든 directory 에 file 을 copy 하자. -put 을 사용하면 된다. 반대로 hdfs 에서 file 을 가져올 때는 -get을 사용하면 된다.

hdfs dfs -put testfiles.csv /myhome/test/files/testfiles.csv

  ┌──────────┐        ┌──────────┐      ┌───────────┐
  │          │        │          │      │           │
  │ local    │        │ namenode │      │  hdfs     │
  │ ┌──────┐ │ ─────► │ ┌──────┐ │ ───► │ ┌───────┐ │
  │ │ file │ │        │ │ file │ │      │ │ file  │ │
  │ └──────┘ │        │ └──────┘ │      │ └───────┘ │
  └──────────┘        └──────────┘      └───────────┘

spark 사용하기

spark 가 있는 spark-master 에 가서 spark-shell 을 실행 시키자. 아래처럼 하면 된다.

docker exec -it spark-master bash
spark/bin/spark-shell --master spark://spark-master:7077

그럼 아래처럼 spark prompt 가 뜬다. 여기서 spark 관련 작업을 할 수 있다.

spark>

spark 로 아까 hdfs 에 upload 한 csv file 을 읽어오자. namenode 의 port 는 http://localhost:9870/dfshealth.html#tab-overview 에 가서 namenode:<port> 확인하자.

val df = spark.read.csv("hdfs://namenode:9000/myhome/test/files/testfiles.csv")

See Also

  1. 쿠...sal: [컴] spark-submit 과 assembly jar

댓글 없음:

댓글 쓰기